O comando na variável LESSOPEN
após o pipe inicial é executado pelo shell indicado pela variável de ambiente SHELL
e deve produzir o conteúdo desejado em sua saída padrão.
Você pode passar a saída de lesspipe
como entrada para outro comando que lê da entrada padrão e grava na saída padrão. No entanto, para que source-highlight
leia sua entrada padrão, é necessário que ele saiba qual idioma destacar, portanto, source-highlight
não funciona dessa maneira.
Quando lesspipe
não reconhece um formato de arquivo, ele não imprime nada, o que menos interpreta como uma indicação para ler o arquivo original. Se você tiver ifne
de Moreutils de Joey Hess , você pode usá-lo para detectar este caso e tente source-highlight
. Você precisará salvar o nome do arquivo original em uma variável para poder usá-lo duas vezes.
LESSOPEN='|file=%s; /usr/bin/lesspipe "$file" | /usr/bin/ifne -n /usr/bin/source-highlight -i "$file" -o STDOUT 2>/dev/null'
Você precisará incluir -r
ou -R
em $LESS
ou digitar -r
ou -R
depois de iniciar less
para que menos cores sejam renderizadas.