Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #15341 > unrolled thread

Re: Idea: *.p<TAB> completion

Started byChet Ramey <chet.ramey@case.edu>
First post2019-09-01 14:27 -0400
Last post2019-09-01 14:27 -0400
Articles 1 — 1 participant

Back to article view | Back to gnu.bash.bug

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: Idea: *.p<TAB> completion Chet Ramey <chet.ramey@case.edu> - 2019-09-01 14:27 -0400

#15341 — Re: Idea: *.p<TAB> completion

FromChet Ramey <chet.ramey@case.edu>
Date2019-09-01 14:27 -0400
SubjectRe: Idea: *.p<TAB> completion
Message-ID<mailman.278.1567362456.2075.bug-bash@gnu.org>
On 9/1/19 2:00 PM, 積丹尼 Dan Jacobson wrote:
>>>>>> "CR" == Chet Ramey <chet.ramey@case.edu> writes:
> CR> On 9/1/19 11:10 AM, 積丹尼 Dan Jacobson wrote:
>>> $ ls *.pdf
>>> a.pdf  b.pdf
>>> $ diff *.p<TAB>
>>>
>>> At this point <TAB> should complete "*.pdf".
> 
> CR> It does (well, the default completion does, maybe programmable completion
> CR> for diff does too). But the two possible completions differ immediately --
> CR> in the first character -- so what are you going to do? Rather than remove
> CR> the word, as normal completion would do, the default bash completion leaves
> CR> it alone.
> 
> I'm saying I want a real "* . p d f" as the result, I.e., genuine * 0x2A
> asterisk left sitting upon the screen.

I'm saying that's what the default bash completion code does. The default
bash completion code leaves the word unchanged.

> (Yes I wish to disable /usr/share/bash-completion effects while testing,
> though it is on by default in Debian.)

Maybe you should.

> 
>>> Or maybe as a bonus it could complete "a.pdf  b.pdf" via a different key.
> 
> CR> You want it to insert the possible completions? Use C-x* in emacs mode:
> 
> CR> glob-expand-word (C-x *)
> CR>        The word before point is  treated  as  a  pattern  for  pathname
> CR>        expansion,  and  the  list  of  matching  filenames is inserted,
> CR>        replacing the word.  If  a  numeric  argument  is  supplied,  an
> CR>        asterisk is appended before pathname expansion.
> 
> Well that can deal with "*" but not "*.p".

That's neither completion nor globbing. If you want something like that to
be completed, you're going to have to write a hybrid operation. Or just
append a `*' to the word.


-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
		 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    chet@case.edu    http://tiswww.cwru.edu/~chet/

[toc] | [standalone]


Back to top | Article view | gnu.bash.bug


csiph-web