Separation of completion directories #1329
Replies: 5 comments
-
Separation of external/bundlded completion directoriesI think it would be cleaner and easier to separate the directories for the external completions and the completions that we provide by default. Since the external completions are already installed to |
Beta Was this translation helpful? Give feedback.
-
Directory for "eagerly loaded completions"There are some completion settings that people want to load at the shell startup rather than when completion of the corresponding command is attempted. Such a setting includes the one that wants to replace/modify the behavior of the default completion Our README calls such a setting "eagerly loaded completions" and recommends the user to put it in I personally think the directory for the "eagerly loaded completions" and "v1 completions (in
|
Beta Was this translation helpful? Give feedback.
-
Recommending filename extension
|
Beta Was this translation helpful? Give feedback.
-
xfunc compatibilityThis is even another topic but somewhat related. In #1321 (comment), it was suggested to move some of An alternative solution would be to keep those functions in |
Beta Was this translation helpful? Give feedback.
-
Deprecated completions in
|
Beta Was this translation helpful? Give feedback.
-
We currently instruct upstream packages to place completion files in the directory
$prefix/share/bash-completion/completions/
, while we also provide completions in the same directory.When an upstream project decides to host its completion setting in the upstream project, we have renamed our completion setting from
completions/<cmd>
tocompletions/_<cmd>
to mark it as a fallback. However, this only works when thebash-completion
package of the system has newer versions. Otherwise, it would end up with a situation where two packages (ofbash-completion
and the upstream project) in distribution would want to install files in a conflicting path.Technically, the package repository maintainer could choose the proper combination of the versions of
bash-completion
and the upstream project, butbash-completion
may have another restriction. For example, macOSbash-completion
is a very old one that needs to work with Bash 3.2. Also, this requirement on the version of thebash-completion
packages seems inconsistent with the arguments for the new API. In the discussion of the new API introduced in 2.12 (such as in #1328), we expect a new version ofbash-completion
to be available everywhere only after about a decade.I'm going to start threads for each subtopic.
Beta Was this translation helpful? Give feedback.
All reactions