On 06 Jan 2019, 積丹尼 Dan Jacobson wrote:

>Package: bash-completion
>Version: 1:2.8-5
>File: /usr/share/bash-completion/completions/find
>
>No expansion is happening here:
>$ find /tmp/ -path /tm<TAB>
>Please make it happen. Thanks.

I'm trying to understand what's the use case you want to enable.
I'll describe several scenarios:

1.
Suppose you have the following directories:

  $ ls -d /tmp/find-*
  /tmp/find-bar  /tmp/find-foo

If I make find /tmp -path /tmp/fi<TAB> complete with directories, it
will complete to:

  $ find /tmp -path /tmp/fi<TAB>
  $ find /tmp -path /tmp/find-<CURSOR>

If you hit Enter after that, nothing will be found.

2.
Now suppose you only had one directory:

  $ ls -d /tmp/find-*
  /tmp/find-bar

Then the completion would look like:

  $ find /tmp -path /tmp/fi<TAB>
  $ find /tmp -path /tmp/find-bar/<CURSOR>

Again, nothing will be found, because of the trailing slash

3.
Take 2 as exemple, and remove the trailing slash

  $ find /tmp -path /tmp/find-bar<ENTER>

This works, but it's no different than:

  $ find /tmp/find-bar

which already works.

4.
Take 1 as example, but now, after completion, you add wildcard and quotes:

  $ find /tmp -path /tmp/fi<TAB>
  $ find /tmp -path /tmp/find-<CURSOR>
  $ find /tmp -path "/tmp/find-*"<ENTER>

Then it works, but it doesn't look like a good use case for completion.


What are you trying to do?


Cheers,
Gabriel

Reply via email to