feat(gs/emacs): Add terraform config
Change-Id: I9266ed310024a2a9437ea983dfdf27b8a395c924 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2707 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
This commit is contained in:
		
							parent
							
								
									6749267805
								
							
						
					
					
						commit
						9b973c2011
					
				
					 3 changed files with 36 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -34,6 +34,7 @@
 | 
			
		|||
(load! "lisp")
 | 
			
		||||
(load! "clojure")
 | 
			
		||||
(load! "rust")
 | 
			
		||||
(load! "terraform")
 | 
			
		||||
 | 
			
		||||
(require 'tvl)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										11
									
								
								users/glittershark/emacs.d/snippets/terraform-mode/variable
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								users/glittershark/emacs.d/snippets/terraform-mode/variable
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,11 @@
 | 
			
		|||
# -*- mode: snippet -*-
 | 
			
		||||
# name: variable
 | 
			
		||||
# uuid:
 | 
			
		||||
# key: var
 | 
			
		||||
# condition: t
 | 
			
		||||
# --
 | 
			
		||||
variable "${1:name}" {
 | 
			
		||||
  type = ${2:string}
 | 
			
		||||
  ${3:default = ${4:default}}
 | 
			
		||||
}
 | 
			
		||||
$0
 | 
			
		||||
							
								
								
									
										24
									
								
								users/glittershark/emacs.d/terraform.el
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								users/glittershark/emacs.d/terraform.el
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,24 @@
 | 
			
		|||
;;; ../code/depot/users/glittershark/emacs.d/terraform.el -*- lexical-binding: t; -*-
 | 
			
		||||
 | 
			
		||||
(add-hook 'terraform-mode-hook #'terraform-format-on-save-mode)
 | 
			
		||||
 | 
			
		||||
(defun packer-format-buffer ()
 | 
			
		||||
  (interactive)
 | 
			
		||||
  (let ((buf (get-buffer-create "*packer-fmt*")))
 | 
			
		||||
    (if (zerop (call-process "packer" nil buf nil "fmt" (buffer-file-name)))
 | 
			
		||||
        (revert-buffer t t t)
 | 
			
		||||
      (message "packer fmt failed: %s" (with-current-buffer buf (buffer-string))))))
 | 
			
		||||
 | 
			
		||||
(define-minor-mode packer-format-on-save-mode
 | 
			
		||||
  "Run packer-format-buffer before saving the current buffer"
 | 
			
		||||
  :lighter nil
 | 
			
		||||
  (if packer-format-on-save-mode
 | 
			
		||||
      (add-hook 'before-save-hook #'packer-format-buffer nil t)
 | 
			
		||||
    (remove-hook 'before-save-hook #'packer-format-buffer t)))
 | 
			
		||||
 | 
			
		||||
(defun maybe-init-packer ()
 | 
			
		||||
  (interactive)
 | 
			
		||||
  (when (s-ends-with-p ".pkr" (file-name-base (buffer-file-name)))
 | 
			
		||||
    (packer-format-on-save-mode)))
 | 
			
		||||
 | 
			
		||||
(add-hook 'hcl-mode-hook #'maybe-init-packer)
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue