ale linter + eslint: passer à l'erreur suivante

17

entrez la description de l'image ici

J'utilise eslintavec alepour pelucher mon code Javascript. Après avoir édité un bloc de code, j'ai souvent quelques erreurs à corriger. La correction se fait en naviguant vers la prochaine ligne erronée, en lisant le problème depuis la règle et en corrigeant.

Si je pouvais sauter la phase de navigation et utiliser une liaison de clé spécifique pour naviguer vers l'emplacement de l'erreur suivante - sa ligne et, espérons-le, sa colonne - ce serait génial.

Existe-t-il un moyen d'utiliser la liaison de touches pour naviguer jusqu'à la prochaine erreur lint / ale?

Adam Matan
la source

Réponses:

23

ALE a de nombreuses commandes qui peuvent parcourir les erreurs de peluchage et :ALENextfonctionne très bien pour cette opération. Par défaut, ALE ne mappe aucune liaison, je suppose pour permettre une personnalisation non conflictuelle.

Dans votre ~/.vimrc(ou ~/.config/nvim/init.vimpour NeoVim), j'utilise:

nmap <silent> <leader>aj :ALENext<cr>
nmap <silent> <leader>ak :ALEPrevious<cr>

Le leader est \par défaut

jv-dev
la source
1
Peut-être vaut-il la peine d'ajouter que si vous souhaitez passer spécifiquement aux erreurs ou avertissements, cela (mot pour mot des documents): " -error, -warninget -infopermettre de sauter respectivement aux erreurs, avertissements ou infos, en ignorant tout le reste. Ils s'excluent mutuellement et si plusieurs sont fournis, le la priorité est la suivante: erreur> avertissement> info. "
Harry
13

Vous pouvez facilement vous déplacer entre les erreurs en ajoutant des liaisons de touches Plug .

Dans cet exemple, utilisez Ctrl+ jpour passer à l'erreur suivante et Ctrl+ kpour passer à l'erreur précédente.

nmap <silent> <C-k> <Plug>(ale_previous_wrap)
nmap <silent> <C-j> <Plug>(ale_next_wrap)
Joel Z.
la source
1
Cela suppose que vous avez installé Plug plutôt que Vundle ou Pathogen.
icc97
Cela semble provenir directement du README ALE repo: github.com/w0rp/…
icc97