Talvez você possa fazer algo como o seguinte script (não testado):
#!/bin/sh
for fn in "$@"; do
source-highlight --out-format=esc -o STDOUT -i $fn 2>/dev/null || /bin/cat $fn
done
Isso faz algumas coisas:
- itera através de cada argumento de linha de comando
- tenta executar
source-highlight
, redirecionando a saída do erro para/dev/null
- se
source-highlight
falhar, execute regular/bin/cat
Você coloca esse script em um arquivo chamado cdc
, por exemplo, em seguida, alias cat=cdc
.
Como uma função
Você pode adaptar o script acima em uma chamada de função Bash que pode ser incorporada em seus arquivos de ponto da seguinte forma:
cdc() {
for fn in "$@"; do
source-highlight --out-format=esc -o STDOUT -i $fn 2>/dev/null || /bin/cat $fn;
done
}
Editar (Michael) por algum motivo tentando usar ccat
para o nome da função não funcionou, mas cdc
fez!