Add notes about _dispatch and compset
This commit is contained in:
parent
04d6ee1e28
commit
99ff68ba79
|
@ -113,6 +113,8 @@ If you have a very large number of completions you can save them in a cache file
|
||||||
| _message | Used for displaying help messages in places where no completions can be generated. |
|
| _message | Used for displaying help messages in places where no completions can be generated. |
|
||||||
| _regex_words | Can be used to generate arguments for the _regex_arguments command. This is easier than writing the arguments manually. |
|
| _regex_words | Can be used to generate arguments for the _regex_arguments command. This is easier than writing the arguments manually. |
|
||||||
| _guard | Can be used in the ACTION of specifications for _arguments and similar functions to check the word being completed. |
|
| _guard | Can be used in the ACTION of specifications for _arguments and similar functions to check the word being completed. |
|
||||||
|
| _dispatch | Used to complete an argument using the completion function for a different command. |
|
||||||
|
| compset | Allows you to alter special builtin parameters used by completion functions. |
|
||||||
*** Actions
|
*** Actions
|
||||||
Many of the utility functions such as _arguments, _regex_arguments, _alternative and _values may include an action
|
Many of the utility functions such as _arguments, _regex_arguments, _alternative and _values may include an action
|
||||||
at the end of an option/argument specification. This action indicates how to complete the corresponding argument.
|
at the end of an option/argument specification. This action indicates how to complete the corresponding argument.
|
||||||
|
@ -388,6 +390,16 @@ Complete some MAC addresses one octet at a time:
|
||||||
_multi_parts : '(00:11:22:33:44:55 00:23:34:45:56:67 00:23:45:56:67:78)'
|
_multi_parts : '(00:11:22:33:44:55 00:23:34:45:56:67 00:23:45:56:67:78)'
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
** Using an existing competion function for a different command.
|
||||||
|
Sometimes you want to save time by using the completion function from a different command for completing an argument of
|
||||||
|
the current command. For example you could try using this foreign completion function as the ACTION in an _arguments specification.
|
||||||
|
However, this might not work since the foreign completion function requires a different command word on the command line.
|
||||||
|
|
||||||
|
This is where the _dispatch function is useful. It allows you to fool the foreign completion function into thinking that is it
|
||||||
|
completing the command it was designed for.
|
||||||
|
You may need to also use the compset with the -n option to fool the foreign completion function by altering the current word position.
|
||||||
|
See the _apt-key function for an example.
|
||||||
|
|
||||||
** Adding completion words directly using compadd
|
** Adding completion words directly using compadd
|
||||||
For more fine grained control you can use the builtin compadd function to add completion words directly.
|
For more fine grained control you can use the builtin compadd function to add completion words directly.
|
||||||
This function has many different options for controlling how completions are displayed and how text on the command line
|
This function has many different options for controlling how completions are displayed and how text on the command line
|
||||||
|
|
Loading…
Reference in New Issue