Respostas:
Um pacote GNU, source-realce , parece fazer o truque (embora não esteja usando cat - como John T aponta, isso não é possível com o cat especificamente). Está disponível via apt-get no Ubuntu e requer a biblioteca de expressões regulares Boost. Verifique o seu gerenciador de pacotes para ver se ambos estão disponíveis, caso contrário, você pode obtê-los na web. A página do GNU vinculada anteriormente tem um link para o Boost, eu acho.
Após a instalação, criei um novo script no meu caminho chamado ccat . O script se parece com:
#!/bin/bash
src-hilite-lesspipe.sh $1
Nada extravagante, apenas simplificando o menos script que eles incluem com destaque da fonte. Ele age como um gato quando chamado dessa maneira.
O script less incluído também é um bom script para usar. Acabei de adicionar o seguinte ao .bashrc :
export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=' -R '
Esse script também está incluído no manual on-line para destaque da fonte.
Eu acho que você poderia, aliás, chamar cat para src-hilite-lesspipe.sh $ 1 se você quisesse ignorar o gato completamente, mas isso pode não ser desejável.
$1
:).
brew install source-highlight
. Não é possível colorir o yaml :(
Para gerar o código destacado da sintaxe com algo como cat
, criei um ccat
comando seguindo as instruções em 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 gerar o código destacado da sintaxe com algo como less
, eu uso o vim como um substituto menos.
alias less='/usr/share/vim/vim72/macros/less.sh'
.functions
comocolorize(){...}
Para resolver isso, usei destaque . Eu criei uma função que tenta imprimir o arquivo com destaque de sintaxe e, se falhar, volta a usar simplesmente cat para imprimir o arquivo. Você pode alterar o tema de destaque da sintaxe para o que quiser.
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
}
Se você estiver em um Mac e usar o Homebrew (altamente recomendado!), Poderá instalar o destaque executando brew install highlight
. Caso contrário, ele deve estar disponível na maioria dos outros gerenciadores de pacotes e pode ser baixado aqui .
Também criei uma função para imprimir um arquivo com sintaxe destacada como html e abri-lo no navegador para imprimir (depende do open
comando no 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
}
Desfrutar!
Não, o gato não possui habilidades de destaque de sintaxe. Se você deseja visualizar o código-fonte com destaque de sintaxe, coloque-o no vim ou no seu editor de escolha (que possui destaque de sintaxe). Dessa forma, você pode até paginar a saída se for um arquivo longo usando Ctrl+ F(avançar) e Ctrl+ B(voltar).
bat
ostechnix.com/...