|
3 | 3 | Due to its nature, bash-completion adds a number of functions and variables in |
4 | 4 | the shell's environment. |
5 | 5 |
|
6 | | -| | `bash_completion` | `completions/*` | |
7 | | -| :----------------------------- | :------------------ | :------------------------------------------------------------------------- | |
8 | | -| public configuration variables | `BASH_COMPLETION_*` | `BASH_COMPLETION_CMD_${Command^^}_${Config^^}` | |
9 | | -| non-local internal variables | `_comp__*` | `_comp_cmd_${Command}__${Data}` | |
10 | | -| public/exported functions | `_comp_*` | `_comp_cmd_${Command}` (functions for `complete -F`) | |
11 | | -| | | `_comp_xfunc_${Command}_${Utility}` (functions for use with `_comp_xfunc`) | |
12 | | -| private/internal functions | `_comp__*` | `_comp_cmd_${Command}__${Utility}` (utility functions) | |
| 6 | +| | `bash_completion` | `completions/*` | |
| 7 | +| :-------------------------------- | :------------------ | :------------------------------------------------------------------------- | |
| 8 | +| public configuration variables | `BASH_COMPLETION_*` | `BASH_COMPLETION_CMD_${Command^^}_${Config^^}` | |
| 9 | +| non-local internal variables | `_comp__*` | `_comp_cmd_${Command}__${Data}` | |
| 10 | +| exporter function local variables | `_*` (not `_comp*`) | `_*` (not `_comp*`) | |
| 11 | +| public/exported functions | `_comp_*` | `_comp_cmd_${Command}` (functions for `complete -F`) | |
| 12 | +| | | `_comp_xfunc_${Command}_${Utility}` (functions for use with `_comp_xfunc`) | |
| 13 | +| private/internal functions | `_comp__*` | `_comp_cmd_${Command}__${Utility}` (utility functions) | |
13 | 14 |
|
14 | 15 | `${Command}` refers to a command name (with characters not allowed in POSIX |
15 | 16 | function or variable names replaced by an underscore), `${Config}` the name of |
@@ -38,6 +39,11 @@ sharing a common prefix. For example, a function named `_comp_foo` is "allowed" |
38 | 39 | to access `_comp_foo__*` where `*` does not contain any double underscores, |
39 | 40 | i.e. it should not access `_comp_foo__something__*` despite the common prefix. |
40 | 41 |
|
| 42 | +Internal local variables of functions that "export" their results using a |
| 43 | +variable name that is passed in start with an underscore and do not start with |
| 44 | +`_comp`. The variable names that are passed in for this purpose must not start |
| 45 | +with an underscore. |
| 46 | + |
41 | 47 | Functions with names prefixed with `_comp_xfunc_` are intended to be used |
42 | 48 | through the `_comp_xfunc` function from files other than the one they are |
43 | 49 | defined in. From the same file they can be used directly using their complete |
|
0 commit comments