observe a saída perldoc preservando a formatação

1

Quando eu uso o watch para seguir a documentação do perlpod que estou escrevendo, a formatação é processada (veja NAME e Synopsis seções):

Every 2,0s: perldoc lib/Uki/Handlers/SOS.pm                                                   Tue Apr  8 10:42:43 2014

Uki::Handlers::SOS(3) User Contributed Perl DocumentationUki::Handlers::SOS(3)



N NA AM ME E
       Uki::Handlers::SOS - Studenten-Handler

S Sy yn no op ps si is s
       SOS-spezifische Spezialisierung des Uki::Handlers::Person-Handlers.

Eu acho que isso é devido a nroff achando que o terminal de saída não é um TTY, mas eu não sei como dizer isso, de fato, é um TTY.

    
por sschober 08.04.2014 / 10:46

2 respostas

1

Você está certo, seu problema é a renderização do embelezamento feito por nroff / groff .

Para evitar esse embelezamento, ignore nroff / groff e envie sua documentação pod para o texto com pod2text (isso é uma parte do Perl distrib, então você deve ter):

watch "pod2text <your_perl_withpod_file>"
    
por 08.04.2014 / 12:24
0

"but I lose the formatting information, which I'd like to preserve."

Não é que ele pense que você não está em um tty, é que ele pensa que você está em um realmente velho tty que faz truques de overstrike através de grotty , o processador de back-end do groff. Na página do manual:

Use the -c switch to revert to the old behaviour, printing a bold character c with the sequence 'c BACKSPACE c' and an italic character c by the sequence '_ BACKSPACE c'. At the same time, color output is disabled. The same effect can be achieved by setting either the GROFF_NO_SGR environment variable or using the 'sgr' X command (see below).

O problema é que você não quer o -c ou o GROFF_NO_SGR definido, mas, por algum motivo, ele acha que um ou ambos são.

Verifique seu ambiente para GROFF* e a variável TERM para valores sãos.

    
por 09.04.2014 / 09:31

Tags