[Bash-completion-devel] Towards dynamic completion loading

Ville Skyttä ville.skytta at iki.fi
Tue Oct 18 20:49:11 UTC 2011


On 10/18/2011 11:40 PM, Ville Skyttä wrote:
> On 09/25/2011 10:07 PM, Ville Skyttä wrote:
>> Hello,
>>
>> Even though we don't have a roadmap item for dynamic completion loading
>> (bash 4+'s complete -D), I'd like to start implementing it.
> 
> Okay, first cut of this is now done; I've just pushed a new branch
> "dynamic-loading" containing this stuff to git.
[...]
> Other than those known/suspected broken bits, it seems to work well for
> me.  [...]

Oh, forgot to note one thing: I'm not happy from maintainability POV
with how the symlinking in completions/ is done.  Whenever a completion
for a command is located in a file whose name is not the same as the
command's, a symlink for it should be created, and it needs to be added
to completions/.gitignore, the CLEANFILES variable in
completions/Makefile.am, and the symlinks target in completions/Makefile.am.

"make" creates the symlinks in the source dir, and "make install" in the
installation dir.  "make clean" removes the symlinks from the source dir.

As said I'm not that happy with this, but I wanted something that makes
things work as easy as possible both when running from a git checkout
and installed.  I suppose it would have been possible to just push the
symlinks to git as symlinks and perhaps also have them that way in the
dist tarball, but I suppose that wouldn't work at all for example on
Cygwin, and I have a hunch that "make install" wouldn't do the right
thing with them.  Anyway I think the current way is bearable, but
improvement ideas are welcome.



More information about the Bash-completion-devel mailing list