ZshでGitを使用してファイルを追加するときにファイルパスのオートコンプリートを有効にする

ZshでGitを使用してファイルを追加するときにファイルパスのオートコンプリートを有効にする

git status以下は私のコマンドの出力であるとしましょう。

On branch LG-201
Your branch is up to date with 'origin/LG-201'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
    modified:   src/server/http/index.ts
    modified:   src/server/http/routes.ts

Untracked files:
  (use "git add <file>..." to include in what will be committed)
    .vscode/

no changes added to commit (use "git add" and/or "git commit -a")

これらの準備ができていないファイルを追加する必要がある場合は、現在はファイルパスを入力してから、git addファイルパスを手動でコピーして貼り付ける必要があります。

git add私の目標は、またはそれに対応するエイリアス(たとえば)を入力したときに変更されたファイルの提案をga自動的に受け取る自動補完機能を持つことです。私はZshを使用しているので、矢印キーを使用して提案されたオプションの1つを選択したいと思います。

私は次のようなものを試しました。Facebookパスセレクタそしてcompctl。また、以下の機能を私の機能に追加しました.zshrc

_autocomplete_unstaged_paths() {
  reply=($(git status --porcelain | grep '^.[^?AD] ' | cut -c4-))
}

compctl -K _autocomplete_unstaged_paths

しかし、所望のオートコンプリート動作を達成できなかった。私はZshを初めて使用する方で、組み込みのプラグインやツールに慣れていません。このオートコンプリート機能が期待どおりに機能するようにする方法についてのヒントや指示をいただきありがとうございます。

関連情報