Ver ficheros fuente coloreados en consola
Como usar GNU less para ver ficheros fuente con resalte de sintaxis en consolaAprovechando lesspipe es sencillo conseguir que less se comporte de modo distinto dependiendo del tipo de fichero que se abre y de ese modo integrarlo con highlight o GNU source-highlight para conseguir resaltado sintáctico en consola.
1. lesspipe
lesspipe es un programa que permite modificar el comportamiento de less de un modo muy sencillo. Primero debes escribir un fichero $HOME/.lessfilter. Este fichero normalmente es un script bash que debe tener permisos de ejecución. En los próximos apartados se incluyen ejemplos de lessfilter para highlight y souce-highlight que se utilizan para colorear código, aunque en realidad se puede usar less para todo tipo de ficheros, como listado de archivos comprimidos, imágenes, ps, html, etc. Para que funcione es necesario además incluir lo siguiente en tu fichero $HOME/.bashrc:eval $(lesspipe) export LESS=-r
2. hightlight
Es una utilidad que permite colorear ficheros fuente de varios lenguajes y generar varios formatos de salida, como HTML, LaTeX o secuencias de escape ANSI. La posibilidad de generar salida para la consola (opción -A) se incorporó en la versión 2.1, así que asegúrate que tienes una versión igual o superior.Fichero .lessfilter
#!/bin/sh set -e file "$1" | grep text > /dev/null highlight -A "$1" exit 0Si usas highlight 2.2-4 o posterior el script es aún más sencillo:
#!/bin/sh set -e highlight -A "$1" exit 0
3. source-highlight
Es un programa muy similar a highlight pero más limitado. Necesitas la versión 1.8 como mínimo3.1. Fichero .lessfilter
#!/bin/sh case "$1" in *.c) source-highlight -s cpp -f esc "$1" -o STDOUT ;; *.cc) source-highlight -s cpp -f esc "$1" -o STDOUT ;; *.py) source-highlight -s python -f esc "$1" -o STDOUT ;; *) # We don't handle this format. exit 1 esac exit 0Puedes utilizar este fichero .lessfilter para source-highlight.
Referencias
[ show comments ]
blog comments powered by Disqus