zsh完了が「サービス」に対して機能しません。

zsh完了が「サービス」に対して機能しません。

「サービス」を使用すると、デフォルト値のみがインポートされ、zsh completion完了startstopます。

zsh「サービス」の完了はによって処理されます/usr/share/zsh/functions/Completion/Unix/_init_d

たとえば、補完機能を使用する場合は、service ssh <TAB>ssh 起動ファイルを解析し、次のすべての/etc/init.d/sshケース ステートメントをインポートする必要があります。

restart)

...

try-restart)

しかし、Case文の後にコメントがあると機能しません。

restart) ### comment

...

try-restart) ### comment

_init_d私は構文解析部分が次のようになると思います。

read -u0 -k2 magic < $script && [[ $magic = '#!' ]] && {
  cmds=( ${(f)"$(< $script)"} )
  cmds=( ${(M)cmds:#[[:blank:]]#${~what}([[:blank:]]#\|[[:blank:]]#${~what})#[[:blank:]]#\)} )
  cmds=( ${${(j:|:s:|:)cmds}//[^-a-z_]} )
}

コメントがCaseステートメントの後にあっても構文解析されるように変更するにはどうすればよいですか?

ベストアンサー1

おすすめ記事