about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--users/grfn/emacs.d/terraform.el13
1 files changed, 10 insertions, 3 deletions
diff --git a/users/grfn/emacs.d/terraform.el b/users/grfn/emacs.d/terraform.el
index 28e7ce09a25a..2d69c9bad9db 100644
--- a/users/grfn/emacs.d/terraform.el
+++ b/users/grfn/emacs.d/terraform.el
@@ -5,9 +5,16 @@
 (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))))))
+    (if (zerop (call-process-region (point-min) (point-max)
+                "packer" nil buf nil "fmt" "-"))
+        (let ((point (point))
+              (window-start (window-start)))
+          (erase-buffer)
+          (insert-buffer-substring buf)
+          (goto-char point)
+          (set-window-start nil window-start))
+      (message "packer fmt failed: %s" (with-current-buffer buf (buffer-string))))
+    (kill-buffer buf)))
 
 (define-minor-mode packer-format-on-save-mode
   "Run packer-format-buffer before saving the current buffer"