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?

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


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)

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.