通常、これらのファイルをキャプチャするとき
着色しないと読みにくいです。
私はcat
次のようにソースハイライトを使用しました。
cdc() {
for fn in "$@"; do
source-highlight --out-format=esc -o STDOUT -i $fn 2>/dev/null || /bin/cat $fn
done; }; alias cat='cdc'
これで、認識されたファイル拡張子(この場合は.sh)に対して次のように生成されます。
ただし、.shがない場合、たとえばそのファイルを呼び出すと、.bash_functions
色付けは行われません。ファイル拡張子がわからないからです。
color-highlight
カラードットファイル(ドットで始まるファイル)をカラーで取得する方法はありますかsh
?
ちなみに、これはベースで作られました。未知のファイル形式を含む猫の出力を白黒で色付けする方法は?
man source-higlight
以下が表示されますが、どうすればいいかわかりません。
...
--outlang-def=filename
output language definition file
--outlang-map=filename
output language map file (default=`outlang.map')
--data-dir=path
directory where language definition files and language maps are searched for. If not specified
these files are searched for in the current directory and in the data dir installation directory
--output-dir=path
output directory
--lang-def=filename
language definition file
--lang-map=filename
language map file (default=`lang.map')
--show-lang-elements=filename
prints the language elements that are defined
in the language definition file
--infer-lang
force to infer source script language (overriding given language specification)
ベストアンサー1
-s sh
$fn
ドットファイルのように見える場合にのみ指定されます。
cdc() {
for fn in "$@"; do
OPTIONS="-f esc"
case "${fn##*/}" in
.*) OPTIONS="$OPTIONS -s sh" ;;
esac
source-highlight $OPTIONS -i "$fn" 2>/dev/null || \cat "$fn"
done
}
alias cat=cdc
で追加のカスタムファイル名一致規則を追加できますcase
。