|
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 | | -| non-local internal mutable variables | `_comp__*_mut_*` | `_comp_cmd_${Command}__mut_${Data}` | |
11 | | -| exporter function local variables | `_*` (not `_comp*`) | `_*` (not `_comp*`) | |
12 | | -| public/exported functions | `_comp_*` | `_comp_cmd_${Command}` (functions for `complete -F`) | |
13 | | -| | | `_comp_xfunc_${Command}_${Utility}` (functions for use with `_comp_xfunc`) | |
14 | | -| 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 | +| private non-local variables | `_comp__*` | `_comp_cmd_${Command}__${Data}` | |
| 10 | +| private non-local mutable variables | `_comp__*_mut_*` | `_comp_cmd_${Command}__mut_${Data}` | |
| 11 | +| exporter function local variables | `_*` (not `_comp*`) | `_*` (not `_comp*`) | |
| 12 | +| public/exported functions | `_comp_*` | `_comp_cmd_${Command}` (functions for `complete -F`) | |
| 13 | +| | | `_comp_xfunc_${Command}_${Utility}` (functions for use with `_comp_xfunc`) | |
| 14 | +| private/internal functions | `_comp__*` | `_comp_cmd_${Command}__${Utility}` (utility functions) | |
15 | 15 |
|
16 | 16 | `${Command}` refers to a command name (with characters not allowed in POSIX |
17 | 17 | function or variable names replaced by an underscore), `${Config}` the name of |
@@ -40,7 +40,7 @@ sharing a common prefix. For example, a function named `_comp_foo` is "allowed" |
40 | 40 | to access `_comp_foo__*` where `*` does not contain any double underscores, |
41 | 41 | i.e. it should not access `_comp_foo__something__*` despite the common prefix. |
42 | 42 |
|
43 | | -Non-local internal variables are considered readonly by default. When a |
| 43 | +Private non-local variables are considered readonly by default. When a |
44 | 44 | completion function needs to change variables for e.g. caching purposes, the |
45 | 45 | variables should contain the infix `*_mut_*` anywhere in their names. This is |
46 | 46 | needed to tell the test framework to allow these variables changing. |
|
0 commit comments