[Bash-completion-devel] New directory layout

Freddy Vulto fvulto at gmail.com
Tue Feb 3 23:37:25 UTC 2009


Hello all,

Me too in favor for /usr/share.  That's also where perl and vim reside, so
we're in good company.  We might also want version numbers because:
- we want to break backwards compatibility sometimes and we want to
  indicate so with a major version number change
- bash-completion is growing towards a library/API and version numbering
  eases maintenance

For example, like perl:

   /usr/share/bash_completion/1 -> 1.0
   /usr/share/bash_completion/1.0

I'm not in favor of additional configuration files with black-/whitelists
because bash-completion is already slow and parsing additional configuration
files will just make it slower.

If we would adopt an environment variable `COMP_PATH' and let it default
to:
"~/.bash_completion.d:/etc/bash_completion.d:/usr/share/bash_completion",
this would:  1) make bash-completion work out-of-the-box with our new
directory structure,  2) be backwards compatible,  3) allow both sysadmins
and users to change COMP_PATH to personal directories and lay symlinks as
they please - effectively enabling and disabling modules.

Note that `~/.bash_completion' still needs to be read for backwards
compatibility, but eventually we want this file to be empty or contain
just configuration variables because completions are going to be moved to
separate files?

Even better, we could search all `COMP_PATH' dirs for config (startup)
files `bash_completion', so that would mean (gradually) moving
`~/.bash_completion' to `~/.bash_completion.d/bash_completion'...


Regards,

Freddy Vulto




More information about the Bash-completion-devel mailing list