branch: elpa/go-mode
commit 8d1594fa56823300d36a45c3a483de3f0d503ff2
Author: Dominik Honnef <[email protected]>
Commit: Dominik Honnef <[email protected]>
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))))))