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?

Respostas:


48

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


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.)


Bom, obrigado por ter tomado a tempo para escrever esta resposta
Paolo

3

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


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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.