Closed jinleileiking closed 10 months ago
Vim-go does not have an option to build on save. It's not too difficult to set such a thing up if you want it, though, by leveraging autocommands.
But I want to be clear on what you're asking for. Are you asking for a new feature, asking for help to know how to build on save with vim-go, asking how to keep other things from running when saving, or something else entirely?
I see the title changed from what it was originally. Are you saying that you're not seeing the metalinter run when saving or are you concerned that saving does not build when g:go_metalinter_autosave
is enabled?
Closing for lack of feedback.
I see the title changed from what it was originally. Are you saying that you're not seeing the metalinter run when saving or are you concerned that saving does not build when
g:go_metalinter_autosave
is enabled?
I just enable autosave of errcheck
.
the steps of vim is:
errcheck
What I want is do not call any checker like errcheck.
I you give it an "". I will enable the default linters.
@bhcleek
I think what you want is to not call the metalinter when you run :GoBuild
. Is that right?
If so, then you'll need to disable the metalinter by using g:go_metalinter_autosave
. :GoBuild
has to before building so that the files will be persisted to disk so they're available to go build
.
I think what you want is to not call the metalinter when you run :GoBuild. Is that right?
I want not call the metalinter when I run :w
(save file to disk)
my linters are controlled by ale
If you don't want to call the metalinter when saving a file, then disable by leveraging g:go_metalinter_autosave
. You can either remove let g:go_metalinter_autosave = 1
from your vimrc or change it to let g:go_metalinter_autosave = 0
Afaik, if let g:go_metalinter_autosave = 1
, when :w
vim-go will call metalinter and then call :GoBuild
.
I just want: when :w
vim-go only call :GoBuild
g:go_metalinter_autosave
does not cause a build. Builds do not happen on save automatically. But if that's something you want, you can create your own autocmd
to do it.
I seem to understand what's going on. The metalinter I use is golangci-lint. If the codes cannot go build
, golangci-lint will fail. So if linters is set to empty, a build will be executed indirectly. So, Can the enabled linter be set to none? Currently empty means that default linters are enabled.
To prevent the metalinter from executing when writing the file, use let g:go_metalinter_autosave = 0
.
I only want to run :GoBuild when save file
:w