
「サービス」を使用すると、デフォルト値のみがインポートされ、zsh completion
完了start
しstop
ます。
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ステートメントの後にあっても構文解析されるように変更するにはどうすればよいですか?