mbrubeck / compleat

Generate command-line completions using a simple DSL.
http://limpet.net/mbrubeck/2009/10/30/compleat.html
472 stars 18 forks source link

Issue with combining positional arguments generated by shell commands. #17

Open cmhamill opened 8 years ago

cmhamill commented 8 years ago

Howdy,

Thanks a ton for the awesome work on Compleat.

I ran into an issue while attempting to create a usage file for the program vcsh. I've included the minimum needed to see the issue.

repo = !vcsh list ;
git-command = !git help -a | egrep '^  [a-zA-Z0-9]' | grep -ve '--' | xargs -n 1 echo ;

vcsh rename <repo> <new-name>;
vcsh <repo> <git-command>;
vcsh <repo>;

The line vcsh <options> <repo> <git-command>; seems to "pollute" the completion for all occurrences of <repo>. As a result, typing vcsh rename <TAB> will list both the output of the <repo> substitution and the <git-command> substitution.

Interestingly (to me, at least), typing vcsh <TAB> gives what I'd expect: the output of the <repo> substitution plus the atom rename.

I'm not sure what's causing this. Any help would be appreciated. Let me know if there's anything I can do to collect debugging information.

Thanks!

mbrubeck commented 8 years ago

Thank you for the bug report.

This looks like the same underlying problem as issue #1. See that issue for more details.