bugfix: run go compiler from package directory

The compiler only works correctly if passed an import path or run from
the package directory, the latter of which is the path of least
resistance.
This commit is contained in:
ghthor 2012-10-26 12:16:08 +02:00 committed by Christoph Martin
parent 7010459585
commit 90a4a0571d

View File

@ -13,5 +13,19 @@ function! SyntaxCheckers_go_GetLocList()
let makeprg = 'go build -o /dev/null'
let errorformat = '%f:%l:%c:%m,%E%f:%l:%m,%C%m,%-G#%.%#'
return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })
" The go compiler needs to either be run with an import path as an
" argument or directly from the package directory. Since figuring out
" the poper import path is fickle, just pushd/popd to the package.
let popd = getcwd()
let pushd = expand('%:p:h')
"
" pushd
exec 'lcd ' . fnameescape(pushd)
let errors = SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })
" popd
exec 'lcd ' . fnameescape(popd)
return errors
endfunction