about summary refs log tree commit diff
path: root/users/grfn/emacs.d
diff options
context:
space:
mode:
authorGriffin Smith <grfn@gws.fyi>2021-09-27T14·50-0400
committergrfn <grfn@gws.fyi>2021-09-27T14·55+0000
commit05074550feff1f2f36cd89f81256bace64944f20 (patch)
tree4f82c5ab8cf8bc158392b4bdd10c431473ae15dc /users/grfn/emacs.d
parentb330578b89fca388e661ab2e1c7ddd224efdc75a (diff)
fix(gs/emacs): Fix packer-format-buffer r/2925
The previous impl of this was formatting the pre-save contents of the
buffer, effectively preventing saving any changes (oops).

Change-Id: I17d4b8ba0943964d700f7dca81af4f46b149c0b8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3644
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Diffstat (limited to 'users/grfn/emacs.d')
-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"