[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/nix-mode 56748ac556 457/500: Merge pull request #136 from
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/nix-mode 56748ac556 457/500: Merge pull request #136 from bcc32/replace-buffer-contents |
Date: |
Sat, 29 Jan 2022 08:27:56 -0500 (EST) |
branch: elpa/nix-mode
commit 56748ac556d0406cc6c574f7347fe37decd8381e
Merge: e61ecb95ef 1789c83b83
Author: Matthew Bauer <mjbauer95@gmail.com>
Commit: GitHub <noreply@github.com>
Merge pull request #136 from bcc32/replace-buffer-contents
Use replace-buffer-contents for better formatting experience
---
nix-format.el | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/nix-format.el b/nix-format.el
index 151c16bdd2..a31f577cbb 100644
--- a/nix-format.el
+++ b/nix-format.el
@@ -13,23 +13,29 @@
:group 'nix
:type 'string)
+(if (fboundp 'replace-buffer-contents)
+ (defun nix--replace-buffer-contents (src dst)
+ (with-current-buffer dst (replace-buffer-contents src)))
+ (defun nix--replace-buffer-contents (src dst)
+ (if (not (string= (with-current-buffer src (buffer-string))
+ (with-current-buffer dst (buffer-string))))
+ (with-current-buffer src
+ (copy-to-buffer dst (point-min) (point-max))))))
+
(defun nix--format-call (buf nixfmt-bin)
"Format BUF using nixfmt."
(with-current-buffer (get-buffer-create "*nixfmt*")
(erase-buffer)
(insert-buffer-substring buf)
(if (zerop (call-process-region (point-min) (point-max) nixfmt-bin t t
nil))
- (progn
- (if (not (string= (buffer-string) (with-current-buffer buf
(buffer-string))))
- (copy-to-buffer buf (point-min) (point-max)))
- (kill-buffer))
+ (nix--replace-buffer-contents (current-buffer) buf)
(error "Nixfmt failed, see *nixfmt* buffer for details"))))
(defun nix--find-nixfmt ()
"Find the nixfmt binary, or error if it's missing."
(let ((nixfmt-bin (executable-find nix-nixfmt-bin)))
(unless nixfmt-bin
- (error "Could not locate executable \"%s\"" nix-nixfmt-bin))
+ (error "Could not locate executable %S" nix-nixfmt-bin))
nixfmt-bin))
(defun nix-format-buffer ()
- [nongnu] elpa/nix-mode 5f44621864 474/500: nix-flake: Make the argument bindings more predictable, (continued)
- [nongnu] elpa/nix-mode 5f44621864 474/500: nix-flake: Make the argument bindings more predictable, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode a18a226ce9 123/500: Add nix-mode tests., ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 9e59bcf59e 216/500: Fix read only .drv file issue, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 8ab089b251 230/500: Set nix-shell-attribute, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 84ee98019f 271/500: Skip over comments in indentation, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode a30e88362a 290/500: Remove line that caused tests to not indent at all in the tests, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 82399e6bc3 305/500: Add missing check for '?' when lexing forward., ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode ec19a472ec 318/500: Update documentation, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 75b907c767 328/500: Improve indentation of function bodies., ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 78c3832e48 333/500: Make smie-setup optional, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 56748ac556 457/500: Merge pull request #136 from bcc32/replace-buffer-contents,
ELPA Syncer <=
- [nongnu] elpa/nix-mode e61ecb95ef 456/500: Merge pull request #137 from bcc32/nix-format-before-save, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 0d65c482b2 477/500: nix-flake: Avoid use of flatten-list to support older Emacs versions, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 07b6069c78 491/500: nix-flake: Fix an unexpected error in assert, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 14f1bb20b9 487/500: chore: Bump install-nix-action to v14.1, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 00b2b8da57 500/500: Merge pull request #145 from NixOS/dependabot/github_actions/cachix/install-nix-action-16, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 1e0709acde 028/500: Fixup indentation, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode aee3dea8ec 031/500: Refactor font lock, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 8cb5ba0bc8 048/500: Change nix keymaps, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 76df9f3e6b 044/500: Add let indent level counter., ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 7fbc65ae68 101/500: Merge pull request #16 from ljli/fontification-improvs, ELPA Syncer, 2022/01/29