Respuestas:
Un paquete de GNU, fuente-resaltado , parece hacer el truco (aunque no está usando cat, como señala John T, esto no es posible con cat específicamente). Está disponible a través de apt-get en Ubuntu, y requiere la biblioteca Boge regex. Verifique su administrador de paquetes para ver si ambos están disponibles, de lo contrario, puede obtenerlos de la web. La página de GNU vinculada anteriormente tiene un enlace a Boost, creo.
Después de la instalación, creé un nuevo script en mi ruta llamado ccat . El guión se ve así:
#!/bin/bash
src-hilite-lesspipe.sh $1
Nada sofisticado, simplemente simplificando la menor secuencia de comandos que incluyen con el resaltado de origen. Actúa como un gato cuando se le llama de esta manera.
Sin embargo, el script menos incluido es un buen script para usar también. Acabo de agregar lo siguiente a .bashrc :
export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=' -R '
Ese script también se incluye en el manual en línea para resaltar la fuente.
Supongo que podría alias cat para llamar a src-hilite-lesspipe.sh $ 1 si desea ignorar a cat por completo, pero eso podría no ser deseable.
$1
:).
brew install source-highlight
. No se puede colorear yaml :(
Para generar un código resaltado de sintaxis con algo así cat
, creé un ccat
comando siguiendo las instrucciones en http://scott.sherrillmix.com/blog/programmer/syntax-highlighting-in-terminal/ .
#!/bin/bash
if [ ! -t 0 ];then
file=/dev/stdin
elif [ -f $1 ];then
file=$1
else
echo "Usage: $0 code.c"
echo "or e.g. head code.c|$0"
exit 1
fi
pygmentize -f terminal -g $file
Para generar un código resaltado de sintaxis con algo como less
, utilizo vim como un reemplazo menor.
alias less='/usr/share/vim/vim72/macros/less.sh'
.functions
colorize(){...}
Para resolver esto, usé resaltar . Hice una función que intenta imprimir el archivo con resaltado de sintaxis, y si falla, vuelve a usar simplemente cat para imprimir el archivo. Puede cambiar el tema de resaltado de sintaxis a lo que desee.
function hl { # Overrides the cat command to use syntax highlighting
# Highlight with 'moria' theme to terminal, and suppress errors
highlight $1 -s moria -O xterm256 2> /dev/null
if (($? != 0)); then # If the command had errors
cat $1 # Just cat the file out instead
fi
}
Si está en una Mac y usa Homebrew (¡muy recomendable!), Puede instalar resaltar ejecutando brew install highlight
. De lo contrario, debería estar disponible en la mayoría de los otros administradores de paquetes y puede descargarse aquí .
También hice una función para imprimir un archivo con resaltado de sintaxis como html y abrirlo en el navegador para imprimir (se basa en el open
comando en OS X):
function hlprint {
# Print with line numbers and 'moria' theme
highlight $1 -l -o print.html -s moria
open print.html # Open in browser
sleep 5 # Give the browser time to open
rm print.html highlight.css # Remove output files
}
¡Disfrutar!
No, el gato no tiene habilidades de resaltado de sintaxis. Si desea ver el código fuente con resaltado de sintaxis, póngalo en vim o en el editor de su elección (que tenga resaltado de sintaxis). De esta manera, incluso puede desplazarse por la salida si es un archivo largo usando Ctrl+ F(hacia adelante) y Ctrl+ B(hacia atrás).
bat
ostechnix.com/…