less -R zeigt keine Farben an

less -R zeigt keine Farben an

Ich bin auf OSSierra und verwende iterm2.

Ich habe ein kleines Projekt, das eine einfache Analyse von Markdown in Golang durchführt und dann bestimmte Zeilen in Farbe auf dem Terminal ausgibthttps://github.com/deltaskelta/readme. Ich verwende diese Bibliothek für Farbehttps://github.com/fatih/color

Wenn ich mein Programm alleine ausführe, sieht alles gut aus, aber ich möchte es weiterleiten less -Rund meine farbige Ausgabe an einen Pager senden können, damit sich lange Dateien leichter anzeigen lassen ...

Beim Versuch, eine Weiterleitung zu verwenden less, gehen alle Farben verloren. Es muss ein Problem mit den zugrunde liegenden Farbcodes vorliegen, aber ich weiß nicht genug darüber, um dem Problem auf die Spur zu kommen ...

Irgendwelche Ideen?

Antwort1

Einige Programme können erkennen, ob sie in eine Pipe, eine normale Datei oder auf ein Terminal (tty) schreiben. Nur im letzteren Fall erzeugen sie eine farbige Ausgabe.

Beispiel: lsmacht so etwas mit ls --color=auto. Sie können die Farbe durch erzwingen ls --color=always.

lessSie sollten sehen, was passiert, wenn Sie Ihr Tool an (ohne -Rnor ) weiterleiten -r. Gibt es überhaupt Codes? Vergleichen Sie mit ls --color=auto | lessund ls --color=always | less.

Wenn keine Codes vorhanden sind, können Sie vielleichtGewaltdas Tool, um sie zu generieren, auch wenn es in einer Pipe verwendet wird (entspricht der --color=alwaysOption von ls). Prüfen Sie die Tool-Dokumentation, falls verfügbar.

verwandte Informationen