fish_delta - 関数や補完設定をデフォルトと比較する

概要

fish_delta name ...
fish_delta [-f | --no-functions] [-c | --no-completions] [-C | --no-config] [-d | --no-diff] [-n | --new] [-V | --vendor=]
fish_delta [-h | --help]

説明

fish_delta 関数は、自身で定義した関数や補完設定のうち、どれが fish に標準で付属しているものと異なっているかを一目で教えてくれます。

この関数は、関連する変数(関数の場合は fish_function_path 、補完の場合は fish_complete_path )を走査し、それらのファイルを fish のデフォルトディレクトリ内にあるファイルと比較することで動作します。

名前が指定された場合は、その名前(に ".fish" 拡張子を加えたもの)のファイルのみを比較します。

デフォルトでは、 diff を使用してファイル間の差分を表示します。 diff が利用できない場合はスキップされますが、その場合はファイルが本当に異なっているかどうかを判断することもできません。

終了ステータスは、差分があった場合は 1 、その他のエラーが発生した場合は 2 、それ以外は 0 になります。

オプション

以下のオプションが利用可能です。

-f--no-functions

関数のチェックを停止します。

-c--no-completions

補完設定のチェックを停止します。

-C--no-config

config.fish や conf.d ディレクトリ内のスニペットなどの設定ファイルのチェックを停止します。

-d--no-diff

diff の表示を抑制します( diff コマンドが見つからない場合は自動的にこの状態になります)。

-n--new

新しいファイル(すなわち、 fish のデフォルトディレクトリには存在しないファイル)も表示します。

-V値--vendor=値

ベンダーディレクトリの扱いを決定します。有効な値は以下の通りです。

  • "default" - ベンダーファイルをデフォルト設定の一部としてカウントします。他のディレクトリでの変更は、それらに対する変更としてカウントされます。これがデフォルト設定です。

  • "user" - ベンダーファイルをユーザーファイルの一部としてカウントします。それらへの変更は、新規ファイルまたは変更されたファイルとしてカウントされます。

  • "ignore" - ベンダーディレクトリを無視します。 fish のデフォルトディレクトリに同名のファイルが存在しない場合、同名のファイルは「新規(new)」としてカウントされます。

-h--help

fish_delta のヘルプ(これ)を表示します。

使用例

単純に以下を実行すると、:

fish_delta

変更されたすべての関数と補完設定のリストが、( diff コマンドがある場合は)その差分と共に表示されます。

出力は以下のようになります。:

> fish_delta
New: /home/alfa/.config/fish/functions/battery.fish
Changed: /home/alfa/.config/fish/test/completions/cargo.fish
--- /home/alfa/.config/fish/test/completions/cargo.fish 2022-09-02 12:57:55.579229959 +0200
+++ /usr/share/fish/completions/cargo.fish      2022-09-25 17:51:53.000000000 +0200
# the output of `diff` follows

オプションを使用して、出力のどの部分が必要かを選択できます。 --no-completions を指定すれば関数のみを比較でき、 --no-diff を指定すれば diff 表示をオフにできます。

自身の fish_git_prompt のみを比較したい場合は、以下のようにします。:

fish_delta --no-completions fish_git_prompt

これにより、 "fish_git_prompt.fish" という名前のファイルのみが比較されます。