Como posso exibir o destaque da sintaxe em um arquivo?

42

Existe uma variante catque gera linhas de código destacadas pela sintaxe quando usadas em um arquivo de origem?

Uma idéia: talvez vi[m]ou outro editor possa ser solicitado a despejar o conteúdo destacado da sintaxe dos arquivos mencionados stdoute sair imediatamente?

Paolo
fonte

Respostas:

48

A passagem do arquivo tentará detectar o tipo do nome do arquivo e destacá-lo adequadamente.pygmentize-f terminal

Ignacio Vazquez-Abrams
fonte
Essa é a fonte Star Trek: Deep Space Nine no logotipo? Se é que é incrível.
Amphetamachine
2
Disponível como pacote python-pygmentsno Debian.
enzotib
6
Eu encontrei alias pcat="pygmentize -f terminal256 -O style=native -g"para ser uma boa solução
Mikael Öhman
1
também disponível viapip install pygments
craigb
1
Na verdade deve ser cat code.extension | pygmentize -f terminal -l extension.
Fiatjaf
13

O pacote Source-realce é fornecido com a definição de idioma de saída esc.outlang, que é destacada nas seqüências de escape ANSI.

Um invólucro útil src-hilite-lesspipe.shtambém está incluído no pacote; portanto, é simples exibir a saída destacada no terminal src-hilite-lesspipe.sh source.file.

src-hilite-lesspipe.shO principal motivo da verdade é ajudar a automatizar o uso do source-highlightwith less. Você acabou de definir:

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

Então, qualquer less source.fileum mostrará o código-fonte destacado. (O código em idioma desconhecido passará inalterado. O destaque também será ignorado em caso de conteúdo redirecionado, como less < source.file.)

homem a trabalhar
fonte
Bom, obrigado por ter tomado a tempo para escrever esta resposta
Paolo
3

O destaque é simples de usar e mais rápido quepygmentize

davidhq
fonte
2
Só não se esqueça de usar -O ansi: ao contrário pygmentize, highlightgera HTML por padrão.
Ruslan