Re: bash completion in C7

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Hello Gordon,


On Wed, 29 Aug 2018 08:27:06 -0700 Gordon Messmer <gordon.messmer@xxxxxxxxx> wrote:

> On 08/28/2018 11:33 PM, wwp wrote:
> >   - it doesn't expand *foo whereas there are *foo-named files in current dir, for instance:
> >     # rm *foo
> >     will show nothing whereas there's a file barfoo in curdir.  
> 
> Tab completion finishes a single word, given a string that appears at the beginning of a list of candidates.

Wrong, tab completion proposes the list of candidates if there are
several, and it only finishes a single word automatically if there's
only one match for the pattern. At least I never experienced tab
completion how you're describing it.


> Wildcard expansion (Ctrl+x, e) will expand a word containing a wildcard to multiple words on the command line, usually so that you can remove some matches.
> 
> Neither will do specifically what you're trying to do, as far as I know.  I think it's simply too ambiguous.

This works fine in CentOS 6, and anywhere with bash 2 and 3, I used such
completion pattern (ls *foo) for years on various systems. I hardly see
how this is ambiguous unless completion doesn't prioritize *foo
matching on files.


> >   - completion takes 10 sec to propose me something, I don't have an
> >     example right here but I'd prefer no completion instead of a
> >     completion that hangs for more than 3 sec.  
> 
> Some completions can take a while.  For example, tab completing a
> path on a remote system in an scp command, or completing a local path
> if it's matched against command output rather than the filesystem.
> IIRC, if you run "git diff path/...", the shell will use the output
> of "git status" to determine which paths have changed.

Irrelevant example here, I'm not talking about remote shells. On a
remote shell I would expect extra delays, anyway, but this is not what
I'm dealing with here.


> I don't know any way to set an upper limit on completions, and while
> "complete -r <cmd>" is expected to disable programmable completion
> for a single command, I can't actually clear completion for the
> ssh/scp commands on my laptop.  "complete -r" turns off programmable
> completion entirely, in which case you simply have simple local path
> completion, if you'd honestly rather not have potentially slow
> options.

I tried disabling programmable completion entirely (`complete -r`),
since I don't need it and find it unreliable and it now works as always
for file matching patterns. That was a tip, thanks!


Regards,

-- 
wwp

Attachment: pgpxF6aIcV1Yv.pgp
Description: OpenPGP digital signature

_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
https://lists.centos.org/mailman/listinfo/centos

[Index of Archives]     [CentOS]     [CentOS Announce]     [CentOS Development]     [CentOS ARM Devel]     [CentOS Docs]     [CentOS Virtualization]     [Carrier Grade Linux]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Linux USB]


  Powered by Linux