Comment puis-je afficher la coloration syntaxique sur un fichier?


42

Existe-t-il une variante de catcette sortie qui génère des lignes de code surlignées par la syntaxe lorsqu’elle est utilisée sur un fichier source?

Une idée: peut vi[m]- être ou un autre éditeur peut-il être invité à vider le contenu mis en évidence par la syntaxe de ces fichiers stdoutet à le quitter immédiatement?

Réponses:


48

En passant le fichier , vous tenterez de détecter le type à partir du nom de fichier et de le surligner de manière appropriée.pygmentize-f terminal


S'agit-il de la police Star Trek: Deep Space Nine? Si c'est ça, c'est génial.
Amphetamachine

2
Disponible en paquet python-pygmentssur Debian.
enzotib

6
J'ai trouvé la alias pcat="pygmentize -f terminal256 -O style=native -g"solution intéressante
Mikael Öhman

1
également disponible viapip install pygments
craigb

1
En fait ça doit être cat code.extension | pygmentize -f terminal -l extension.
fiatjaf

13

Le paquetage Source-highlight est livré avec la définition du langage de sortie esc.outlang, qui est mise en surbrillance avec les séquences d'échappement ANSI.

Un emballage pratique src-hilite-lesspipe.shest également inclus dans le package src-hilite-lesspipe.sh source.file. Il est donc simple d’afficher les résultats en surbrillance dans le terminal .

En fait, src-hilite-lesspipe.shla principale raison est d'aider à automatiser l'utilisation de source-highlightavec less. Vous venez de définir:

export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=' -R '

Ensuite, tout less source.fileaffichera le code source en surbrillance. (Le code dans une langue inconnue sera inchangé. La mise en surbrillance sera également ignorée en cas de contenu redirigé, comme less < source.file.)


Nice, merci d'avoir pris le temps de rédiger cette réponse
Paolo

3

Highlight est simple à utiliser et plus rapide quepygmentize


2
Il suffit de ne pas oublier d'utiliser -O ansi: contrairement à pygmentize, les highlightsorties HTML par défaut.
Ruslan

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.