emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/go-mode 8d1594f 295/495: Automatically detect goimports


From: ELPA Syncer
Subject: [nongnu] elpa/go-mode 8d1594f 295/495: Automatically detect goimports
Date: Sat, 7 Aug 2021 09:05:34 -0400 (EDT)

branch: elpa/go-mode
commit 8d1594fa56823300d36a45c3a483de3f0d503ff2
Author: Dominik Honnef <dominik@honnef.co>
Commit: Dominik Honnef <dominik@honnef.co>

    Automatically detect goimports
    
    Instead of requiring the user to set a variable, check if the gofmt
    command (minus a possible file extension) equals "goimports".
---
 NEWS       |  9 ++-------
 go-mode.el | 11 ++++-------
 2 files changed, 6 insertions(+), 14 deletions(-)

diff --git a/NEWS b/NEWS
index 32006f7..1fe1f72 100644
--- a/NEWS
+++ b/NEWS
@@ -23,13 +23,8 @@ go-mode-1.4.0 (???)
    Currently, go-packages-native (the default) and go-packages-go-list
    are provided.
 
- * Add new customizable variable gofmt-is-goimports. If gofmt-command
-   is set to a value that invokes goimports instead of gofmt, this
-   variable needs to be set to t. Otherwise, goimports will not be
-   able to add imports for vendored packages.
-
-   Setting it to t while not using goimports will break gofmt, as
-   gofmt doesn't support goimports' -srcdir flag.
+ * Automatically detect if goimports is used instead of gofmt and pass
+   the -srcdir flag, enabling support for vendoring.
 
  * Add new customizable variable gofmt-args, a list of strings that
    will be passed to gofmt as additional arguments. Primarily this
diff --git a/go-mode.el b/go-mode.el
index 758e539..660f9d7 100644
--- a/go-mode.el
+++ b/go-mode.el
@@ -195,12 +195,6 @@ from https://github.com/bradfitz/goimports.";
   :type 'string
   :group 'go)
 
-(defcustom gofmt-is-goimports nil
-  "Set to t if you use goimports. This is required to enable
-support for vendored packages."
-  :type 'boolean
-  :group 'go)
-
 (defcustom gofmt-args nil
   "Additional arguments to pass to gofmt."
   :type '(repeat string)
@@ -1014,6 +1008,9 @@ with goflymake \(see URL 
`https://github.com/dougm/goflymake'), gocode
              (t
               (error "invalid rcs patch or internal error in 
go--apply-rcs-patch")))))))))
 
+(defun gofmt--is-goimports-p ()
+  (string-equal (file-name-base gofmt-command) "goimports"))
+
 (defun gofmt ()
   "Format the current buffer according to the gofmt tool."
   (interactive)
@@ -1036,7 +1033,7 @@ with goflymake \(see URL 
`https://github.com/dougm/goflymake'), gocode
 
           (write-region nil nil tmpfile)
 
-          (when (and gofmt-is-goimports buffer-file-name)
+          (when (and (gofmt--is-goimports-p) buffer-file-name)
             (setq our-gofmt-args
                   (append our-gofmt-args
                           (list "-srcdir" (file-name-directory (file-truename 
buffer-file-name))))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]