/ / Пигменти, преместени в по-малко вътрешни шрифтове на Python, подчертават - питън, по-малко, пигменти

Пигментирани пигменти с по-малко вътрешни шрифтове на Python прекъсват открояването - питън, по-малко, пигменти

from pygments.lexers import RstLexer
from pygments.formatters import TerminalFormatter
from pygments import highlight

output = highlight(source, RstLexer(), TerminalFormatter())

p = subprocess.Popen("less", stdin=subprocess.PIPE)
p.stdin.write(output)
p.stdin.close()
p.wait()

Когато аз просто print output - всичко е наред, но тръбопроводите разбиват ... Някакви идеи?

например:

пример

Отговори:

3 за отговор № 1

Това е less"вина, не Python" s. тичам less с -R превключване:

-R или --RAW-CONTROL-CHARS

като -r, но само ANSI "цветови" последователности на излизане се извеждат в "сурова" форма. за разлика от -r, екранът се поддържа правилно в повечето случаи. ANSI "цветни" последователности на излизане са последователности на формата:

ESC [ ... m

където "..."е нула или повече символи за спецификация на цветовете За целите на проследяването на екран, се предполага, че последователностите от цветови аварии ANSI не преместват курсора. Можете да направите по-малко мисля, че знаци, различни от "m", могат да завършат последователностите на ANSI цветови изходи, като зададат средата променлива LESSANSIENDCHARS в списъка с символи, които могат да завършат последователността на цветното бягство. И вие можете по-малко мисля, че между ESC и m може да се появи различен от стандартния символ задаване на променливата на средата LESSANSIMIDCHARS в списъка с символи, които могат да се появят.