From 0cb3e3655419e80226e3738f94d514836a382b87 Mon Sep 17 00:00:00 2001 From: Ben Paxton Date: Mon, 19 Mar 2018 15:34:47 +0000 Subject: [PATCH] Lint whole package for gosimple and gotype Fixes #936 --- ale_linters/go/gosimple.vim | 6 +++++- ale_linters/go/gotype.vim | 3 ++- .../test_gosimple_command_callback.vader | 12 ++++++++++++ .../test_gotype_command_callback.vader | 4 +++- 4 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 test/command_callback/test_gosimple_command_callback.vader diff --git a/ale_linters/go/gosimple.vim b/ale_linters/go/gosimple.vim index 8a4c01e..12ef3b9 100644 --- a/ale_linters/go/gosimple.vim +++ b/ale_linters/go/gosimple.vim @@ -1,10 +1,14 @@ " Author: Ben Reedy " Description: gosimple for Go files +function! ale_linters#go#gosimple#GetCommand(buffer) abort + return ale#path#BufferCdString(a:buffer) . ' gosimple .' +endfunction + call ale#linter#Define('go', { \ 'name': 'gosimple', \ 'executable': 'gosimple', -\ 'command': 'gosimple %s', +\ 'command_callback': 'ale_linters#go#gosimple#GetCommand', \ 'callback': 'ale#handlers#unix#HandleAsWarning', \ 'output_stream': 'both', \ 'lint_file': 1, diff --git a/ale_linters/go/gotype.vim b/ale_linters/go/gotype.vim index 13055a8..82737e2 100644 --- a/ale_linters/go/gotype.vim +++ b/ale_linters/go/gotype.vim @@ -6,7 +6,8 @@ function! ale_linters#go#gotype#GetCommand(buffer) abort return endif - return 'gotype %s' + + return ale#path#BufferCdString(a:buffer) . ' gotype .' endfunction call ale#linter#Define('go', { diff --git a/test/command_callback/test_gosimple_command_callback.vader b/test/command_callback/test_gosimple_command_callback.vader new file mode 100644 index 0000000..a0b1f46 --- /dev/null +++ b/test/command_callback/test_gosimple_command_callback.vader @@ -0,0 +1,12 @@ +Before: + runtime ale_linters/go/gosimple.vim + call ale#test#SetFilename('../go_files/testfile2.go') + +After: + call ale#linter#Reset() + +Execute(The default gosimple command should be correct): + AssertEqual 'cd ' . ale#Escape(expand('%:p:h')) . ' && ' + \ . ' gosimple .', + \ ale_linters#go#gosimple#GetCommand(bufnr('')) + diff --git a/test/command_callback/test_gotype_command_callback.vader b/test/command_callback/test_gotype_command_callback.vader index ec98627..4fba334 100644 --- a/test/command_callback/test_gotype_command_callback.vader +++ b/test/command_callback/test_gotype_command_callback.vader @@ -6,7 +6,9 @@ After: call ale#linter#Reset() Execute(The default gotype command should be correct): - AssertEqual 'gotype %s', ale_linters#go#gotype#GetCommand(bufnr('')) + AssertEqual 'cd ' . ale#Escape(expand('%:p:h')) . ' && ' + \ . ' gotype .', + \ ale_linters#go#gotype#GetCommand(bufnr('')) Execute(The gotype callback should ignore test files): call ale#test#SetFilename('bla_test.go')