Differences between revisions 5 and 11 (spanning 6 versions)
Revision 5 as of 2009-01-17 11:36:30
Size: 1799
Editor: ?ColdWind
Comment: Add use cases section
Revision 11 as of 2009-03-16 03:33:41
Size: 2234
Editor: anonymous
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
  * Ville Skyttä
   * http://lists.alioth.debian.org/pipermail/bash-completion-devel/2009-January/000687.html
   * [:DavidPaleino:David Paleino]
  
* http://lists.alioth.debian.org/pipermail/bash-completion-devel/2009-January/000689.html
     * http://lists.alioth.debian.org/pipermail/bash-completion-devel/2009-January/000691.html
  * Ville Skyttä
   * http://lists.alioth.debian.org/pipermail/bash-completion-devel/2009-January/000687.html
  * [[DavidPaleino|David Paleino]]
* http://lists.alioth.debian.org/pipermail/bash-completion-devel/2009-January/000689.html
   * http://lists.alioth.debian.org/pipermail/bash-completion-devel/2009-January/000691.html
  * Freddy Vulto
   * COMP_PATH: http://lists.alioth.debian.org/pipermail/bash-completion-devel/2009-January/000734.html
Line 20: Line 21:
 * Install "external module" from command's upstream project, enable it by default.
Line 23: Line 25:
  * /etc/bash_completion
   * /etc/bash_completion.d/
  * /etc/bash_completion
  * /etc/bash_completion.d/
Line 26: Line 28:
  * /etc/profile.d/bash_completion.sh (loads /etc/bash_completion)
  * /etc/bash_completion
  * /etc/bash_completion.d/ (loaded by vanilla /etc/bash_completion)
  * ~/.bash_completion (loaded by vanilla /etc/bash_completion)
Line 27: Line 33:
  * /etc/profile.d/bash-completion.sh
   * /etc/bash_completion.d/ (enabled modules symlinked here)
   * ~/.bash_completion.d/ (user enabled modules symlinked here)
   * /usr/share/bash-completion/ (modules go here)
   * /usr/share/bash-completion/base (base module, splited out)
   * /usr/share/bash-completion/{.pre,.post} (initializations and cleanups, splited out)
  * /etc/profile.d/bash-completion.sh
  * /etc/bash_completion.d/ (enabled modules symlinked here)
  * ~/.bash_completion.d/ (user enabled modules symlinked here)
  * /usr/share/bash-completion/ (modules go here)
  * /usr/share/bash-completion/base (base module, splited out)
  * /usr/share/bash-completion/{.pre,.post} (initializations and cleanups, splited out)
Line 34: Line 40:
  * /etc/bash_completion
  * /etc/bash_completion.d/
  * /etc/profile.d/*bash_completion.sh
   * /etc/sysconfig/bash-completion
   * ~/.bash_completion
  * /etc/bash_completion
  * /etc/bash_completion.d/
  * /etc/profile.d/*bash_completion.sh
  * /etc/sysconfig/bash-completion
  * ~/.bash_completion
Line 41: Line 47:
 * [[/1|Draft #1]]

Bash Completion Team

Proposal: ''New Directory Layout''

General Information

Rationale

Bash-Completion is currently installed into different paths for each single GNU/Linux distribution. This way, it's not easy for maintainers to "interface" with other distributions' people, so a proposal has been raised to improve the directory layout of Bash-Completion scripts.

Use cases

  • Enable modules system-wide and per-user.
  • Disable modules that have been set system-wide, per-user.
  • Disable slow parts of completions (globally, and per-command).
  • Install "external module" from command's upstream project, enable it by default.

Current status

  • Debian / Ubuntu
    • /etc/bash_completion
    • /etc/bash_completion.d/
  • Fedora / Red Hat
    • /etc/profile.d/bash_completion.sh (loads /etc/bash_completion)
    • /etc/bash_completion
    • /etc/bash_completion.d/ (loaded by vanilla /etc/bash_completion)
    • ~/.bash_completion (loaded by vanilla /etc/bash_completion)
  • Gentoo
    • /etc/profile.d/bash-completion.sh
    • /etc/bash_completion.d/ (enabled modules symlinked here)
    • ~/.bash_completion.d/ (user enabled modules symlinked here)
    • /usr/share/bash-completion/ (modules go here)
    • /usr/share/bash-completion/base (base module, splited out)
    • /usr/share/bash-completion/{.pre,.post} (initializations and cleanups, splited out)
  • Mandriva
    • /etc/bash_completion
    • /etc/bash_completion.d/
    • /etc/profile.d/*bash_completion.sh
    • /etc/sysconfig/bash-completion
    • ~/.bash_completion

Details