From b4c8aee52dfe5788e4ec440a0da8e59f5eab4cc4 Mon Sep 17 00:00:00 2001 From: Jun-ichi Takimoto Date: Sun, 24 Oct 2021 21:43:38 +0900 Subject: [PATCH] 49520: document $_args_chache_cmd --- ChangeLog | 2 ++ Etc/completion-style-guide | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/ChangeLog b/ChangeLog index 22cbff507..8063154f5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2021-10-24 Jun-ichi Takimoto + * 49520: Etc/completion-style-guide: document $_args_cache_cmd + * 49493: Completion/Base/Utility/_arguments: fix handling of optional argument of long option in help text diff --git a/Etc/completion-style-guide b/Etc/completion-style-guide index 62e6a2787..4fa0040a5 100644 --- a/Etc/completion-style-guide +++ b/Etc/completion-style-guide @@ -570,3 +570,13 @@ Misc. remarks data derived from another command's output to the helper. Consider using some variation of the `q` expansion flag to deal with this: `_call_program vals $words[1] ${(q-)myfile}' +10) If you are going to create a new completion function '_cmd' for a + command 'cmd', and if the 'cmd' supports the --help option, then you + may try + compdef _gnu_generic cmd + cmd - + _gnu_generic may not work sufficiently well for 'cmd', but the specs + for _arguments generated from the help text are cached in a variable + '_args_cache_cmd', and you can save them in a file '_cmd' by + print -r -- ${(F)${(@qqq)_args_cache_cmd}} > _cmd + and use the file as a draft of the new completion function.