Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gofmt formatter doesn't clear quickfix list when all errors are fixed #58

Open
malcolmr opened this issue Oct 9, 2015 · 3 comments
Open
Labels

Comments

@malcolmr
Copy link
Member

malcolmr commented Oct 9, 2015

(Forwarding a report from someone else)

I am using the codefmt plugin for Go, by including:

Glug codefmt gofmt_executable="goimports"
Glug codefmt-google
autocmd FileType go AutoFormatBuffer gofmt

And it looks like it doesn't clear the quick fix list when all errors are fixed. E.g.:
I have 3 errors, and if I save, the quick fix window shows the three of them.
If I fix 1, and save, the quick fix window correctly shows only two of them.
If now I fix the 2 remaining ones, and save, the quick fix window doesn't update at all.

It looks like we only call "setqflist" in the case of errors:
https://github.com/google/vim-codefmt/blob/master/autoload/codefmt.vim#L320
but never clear it if there are no errors.

@malcolmr malcolmr added the bug label Oct 9, 2015
@dbarnett
Copy link
Contributor

Interesting… I wonder if it's normal to clear setqflist. For instance, should it be cleared for any formatter, even formatters that don't support populating the quickfix list? I definitely think we should close it if we're not doing that.

@malcolmr
Copy link
Member Author

I ran into this again today, while working on #103.

We now have several occurrences of the "if found errors, setqflist(), else leave alone" pattern in various formatters. Even if we can't make a decision on #60, does it seem reasonable for the individual formatters that do call setqflist() on error to clear it on success?

@dbarnett
Copy link
Contributor

Yeah, SGTM.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants