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

Unsettling order of the messages in the loclist #22

Closed
brunal opened this issue Dec 8, 2014 · 4 comments
Closed

Unsettling order of the messages in the loclist #22

brunal opened this issue Dec 8, 2014 · 4 comments
Assignees

Comments

@brunal
Copy link

brunal commented Dec 8, 2014

As evoked in issue #21 all checkers get run when Neomake is launched on a file. In syntastic, the checker n + 1 is only run when the checker n reports no problem. This is a behaviour I quite enjoy since it give reports by "layers" of problems. Ideally this behaviour would be configurable (once more I wish I could offer you a PR).

This has a unsettling consequence on the items of the loclist: they appear runner after runner. Having <tab> bound as :lnext, I expect to go from one issue to another by repeatedly 'tabbing', but many issues shown in the margin will be skipped because they come from a later checker. 'tabbing' will wrap multiple times around the file: once for each checker. This seems kind of strange to me.
Here are the possibilities I see:

  1. don't use checkers are one that reported errors (§1)
  2. re-order issues according to their line number
  3. show errors checker-by-checker. This would imply filling the loclist on demand, seems quite hard to do correctly automatically.
@benekastah
Copy link
Collaborator

I think having the option to run checkers one after another makes a lot of sense, and would be a good first goal since it shouldn't be too hard to do and would naturally fix a lot of order issues. However, since some checkers don't output error messages in order (e.g. pylint) it may also make sense to have an option to reorder messages. So that covers options 1 and 2.

Option 3 is an interesting idea. Not sure if it would be necessary with the first two in place, though. Perhaps it would be helpful to you to know that you can do something like this manually:

:Neomake <checker_name>

This allows you to run one checker at a time (you can actually list any number of checkers if you want).

@benekastah
Copy link
Collaborator

Since #23 handles sorting error messages, I'll leave this issue to represent only running checkers serially, which I want to get done first.

@benekastah
Copy link
Collaborator

Stopping after the first failing checker won't be possible until neovim adds a feature to get the exit status from a job. See neovim/neovim#1795.

@benekastah
Copy link
Collaborator

Oh, and do :help g:neomake_serialize to learn how to enable the feature.

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

No branches or pull requests

2 participants