カスタムソースハイライトカラースキーム?

カスタムソースハイライトカラースキーム?

パッケージsource-highlightが私のシステムにインストールされました。使用量/usr/bin/lesspipeと環境変数の少ないLESSOPENファイルを強調表示します。

これで、このメカニズムが一部/すべてのファイル形式で使用するカラースキームを変更したいと思います。コンピュータへのルートアクセス権があります。どうすればいいですか?

注:これはDevuan 3 Beowulf(〜= Debian 10 Buster)Linuxディストリビューションです。

答え1

まあ、ソースの強調表示に他のスタイルファイルを使用できますが、頻度は低いです。あなたは/usr/share/source-highlight/src-hilite-lesspipe.sh以下を見つけることができます:

source-highlight --failsafe --infer-lang -f esc --style-file=esc.style -i "$source" ;;

esc.styleを別のスタイルファイル(からusr/share/source-highlight/)に置き換えることができます。しかし...ほとんどのスタイルファイルはANSIエスケープコード生成と互換性がなく、機能しません。だから、あなたは基本的に立ち往生しています。

たぶん著者に連絡してください。

GNUソースコードハイライトマニュアルには関連内容がありません。

答え2

デフォルトはesc非常に悪いです(バージョン3.1.8)。特に黒端末の場​​合、関数名が黒で印刷されるためです。

私はこの問題を解決するために数ヶ月を過ごし、ついに素晴らしい解決策を見つけました。より太い色の組み込みスタイルを/usr/share/source-highlight/src-hilite-lesspipe.sh使用するように変更します。esc256

source-highlight --failsafe --infer-lang -f esc256 --style-file=esc256.style -i "$source" ;;

独自のスタイルファイルで色を調整できますがescesc256less

オプションの検出のためにlesspipeスクリプトを使用してファイル形式を検出し、潜在的に-s, --src-lang=STRINGさまざまな言語スタイルでソースハイライトを有効にするなどのオプションを使用できます。

関連情報