Archives quotidiennes :

Couleur des log dans (neo)vim

La synthèse et le placement routage génère de grande quantité de texte de «log». Dans ces logs, les problèmes s’étagent avec 3 niveaux de «danger» :

  • INFO: juste une information
  • WARNING: Un problème qu’il faut lire mais qui peut souvent être ignoré
  • ERROR: Je ne dirais pas que c’est un échec, mais ça n’a pas marché

Si on utilise Vim (ou neovim) pour lire les logs on aimerait avoir de la surbrillance de couleurs différentes en fonction de la gravité du message.

Un truc comme ça :

Saisie d'écran de vim avec un fichier de log fictif ouvert. On y voit le texte INFO en blanc sur bleu, le texte Warning en blanc sur jaune et le texte ERROR en blanc sur rouge

C’est quelques chose qui est relativement facile à mettre en place dans neovim. Il faut tout d’abord créer un fichier de syntaxe dans le répertoire ~/.config/nvim/syntax que l’on nommera log.vim et qui contiendra ceci :

" my highlight rules for fpga logs
syntax match fpgaloginfo /INFO\c/
syntax match fpgalogwarn /WARNING\c/
syntax match fpgalogerr  /ERROR\c/
highlight fpgaloginfo  ctermbg=blue guibg=blue
highlight fpgalogwarn  ctermbg=3 guibg=orange
highlight fpgalogerr   ctermbg=red guibg=red

Puis il faut dire à vim que les fichiers terminant par .log sont de type log en ajoutant la ligne suivante dans son fichier de configuration ~/.config/nvim/init.vim :

autocmd! BufRead,BufNewFile *.log     set syntax=log
autocmd! BufRead,BufNewFile *.rpt     set syntax=log

De cette manière, à chaque fois que nvim ouvrira un fichier nommé monfichier.log, il chargera la coloration syntaxique que nous avons configuré.