Nyagosの補完まとめ

Nyagosが公式で提供している補完機能について探した限り纏まったページがなかったため,纏めました.

自前で補完機能をカスタマイズしたい場合には,下記のドキュメントにカスタマイズ用の関数が用意されています. nyagos/07-LuaFunctions_en.md at master · zetamatta/nyagos · GitHub

Ctrl-xから始まる補完 (厳密には補完ではないかもしれません...)

外部スクリプトの catalog/box.lua によって提供されていますが, 後述の2つの補完機能とは異なり,自動的にロードされます. そのため,設定無しで使用可能です.

  • コマンド履歴補完: Ctrl-x Ctrl-r
  • ディレクトリ履歴補完: Ctrl-x Ctrl-h
  • Gitリビジョン補完: Ctrl-x Ctrl-g

簡単にですが,ドキュメントに説明があります. https://github.com/zetamatta/nyagos/blob/master/Doc/03-Readline_ja.md

Git,SubversionMercurial等のバージョン管理ツール用のブランチ名やコミットハッシュの補完

Luaで書かれた外部スクリプトによって提供されています. そのため,nyagod.d/use.lua で定義されている use(name) 関数を使って下のようなスクリプトを $HOME/.nyagos に追記して起動時に読み込むことで使用できるようになります.

use "git"

サブコマンド補完

上述の補完同様 Luaによる外部スクリプトによって提供されています. use "git" 又は,use "subcomplete" を $HOME/.nyagosに追記することで使用できます. use "git" は,前述のバージョン管理ツール用の補完機能を提供するLuaスクリプトをロードするものですが,catalog/git.lua内でuse "subcomplete"が実行されているため,サブコマンド補完も使用できるようになります.

現時点では,下記のコマンドに対するサブコマンド補完が提供されているようです.

  • go
  • git, svn, hg
  • gh
  • rclone
  • fsutil
  • hub

内臓の補完機能

  • Tab,Ctrl-I: ファイル名やコマンド名を補完します.
  • start後のタブキー: コマンド名を補完