samedi 15 mars 2008

Coloration syntaxique dans GNU Nano

Gonéri m'a récemment fait remarquer qu'il n'y avait pas de coloration syntaxique dans GNU Nano , et que cela ne réprésentait donc pas.

En cherchant un peu tout à l'heure, il se trouve qu'il y en a, et qu'il suffit de l'activer.
L'affaire est basée sur des fichiers pour chaque syntaxe a highlighter, contenant chacun l'extension pour laquelle s'applique la coloration, et des regex définissant ce qu'il faut colorer.

Il existe des exemples de base dans /usr/share/nano et il existe une archive comprenant de nombreuses autres syntaxes à cette addrese.

Placer le contenu (sans l'emballage) dans /usr/share/nano/exts par exemple.
Il faut ensuite créer un fichier .nanorc , exemple :

#-------- General Options ----------

set autoindent

#------- Syntax Highlight ------------

## Nanorc files
include "/usr/share/nano/nanorc.nanorc"

## C/C++
include "/usr/share/nano/c.nanorc"

## HTML
include "/usr/share/nano/html.nanorc"

## Patch files
include "/usr/share/nano/patch.nanorc"

## Manpages
include "/usr/share/nano/man.nanorc"

## Groff
include "/usr/share/nano/groff.nanorc"

## Perl
include "/usr/share/nano/perl.nanorc"

## Python
include "/usr/share/nano/python.nanorc"

## Java
include "/usr/share/nano/java.nanorc"


## Bourne shell scripts
include "/usr/share/nano/sh.nanorc"

#------- Syntax Highlight Pack --------------

## Etc stuff
include "/usr/share/nano/exts/etc-stuff.nanorc"

## Passwd
include "/usr/share/nano/exts/passwd.nanorc"

## CSS
include "/usr/share/nano/exts/css.nanorc"

## php
include "/usr/share/nano/exts/php.nanorc"

## php
include "/usr/share/nano/exts/xml.nanorc"

## makefile
include "/usr/share/nano/exts/makefile.nanorc"
D'autres options de configuration générale sont décrites ici

Résultat :














3 commentaires:

Romain Pelisse a dit…

Hum, ce 'set autoindent' rappel très fortement les options de configuration de 'vi'... Est ce que par hasard, nano partagerait des options avec 'vi' ?

En tout cas, cette coloration syntaxique est bonne à prendre...

Laurent Le Grandois a dit…

Pourquoi ne pas utiliser vim directement ??

XmasRock a dit…

De toute manière, c'est des outils de geeks arriérés :)