summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Tournoij <martin@arp242.net>2017-12-06 13:04:31 +0000
committerMartin Tournoij <martin@arp242.net>2017-12-08 12:49:02 +0000
commit92f20b0e516526294fb933bd5640a1f5f1c0671a (patch)
tree540e2c2746133557693a7558f58907c8e27e89c1
parent7d932a239c0d4db4d19a39b410283fdfc72b7f3e (diff)
downloadale-92f20b0e516526294fb933bd5640a1f5f1c0671a.zip
goimports fixer doesn't work for vendored libraries
In Go you can "vendor" packages by putting them in the `vendor/` directory for a project. Adding the `-srcdir` argument makes `goimports` pick up these packages, in addition to what you have in GOPATH. Without this, `goimports` is not very useful, since most projects vendor their packages.
-rw-r--r--autoload/ale/fixers/goimports.vim2
-rw-r--r--test/fixers/test_goimports_fixer_callback.vader4
2 files changed, 3 insertions, 3 deletions
diff --git a/autoload/ale/fixers/goimports.vim b/autoload/ale/fixers/goimports.vim
index f5695136..783d0206 100644
--- a/autoload/ale/fixers/goimports.vim
+++ b/autoload/ale/fixers/goimports.vim
@@ -14,7 +14,7 @@ function! ale#fixers#goimports#Fix(buffer) abort
return {
\ 'command': ale#Escape(l:executable)
- \ . ' -l -w'
+ \ . ' -l -w -srcdir %s'
\ . (empty(l:options) ? '' : ' ' . l:options)
\ . ' %t',
\ 'read_temporary_file': 1,
diff --git a/test/fixers/test_goimports_fixer_callback.vader b/test/fixers/test_goimports_fixer_callback.vader
index 1d2763ce..cec06354 100644
--- a/test/fixers/test_goimports_fixer_callback.vader
+++ b/test/fixers/test_goimports_fixer_callback.vader
@@ -25,7 +25,7 @@ Execute(The goimports callback should the command when the executable test passe
AssertEqual
\ {
\ 'read_temporary_file': 1,
- \ 'command': ale#Escape(g:ale_go_goimports_executable) . ' -l -w %t'
+ \ 'command': ale#Escape(g:ale_go_goimports_executable) . ' -l -w -srcdir %s %t'
\ },
\ ale#fixers#goimports#Fix(bufnr(''))
@@ -36,6 +36,6 @@ Execute(The goimports callback should include extra options):
AssertEqual
\ {
\ 'read_temporary_file': 1,
- \ 'command': ale#Escape(g:ale_go_goimports_executable) . ' -l -w --xxx %t'
+ \ 'command': ale#Escape(g:ale_go_goimports_executable) . ' -l -w -srcdir %s --xxx %t'
\ },
\ ale#fixers#goimports#Fix(bufnr(''))