binshengliu · GitHub

Hi, I'm implementing fish completion for hydra. It is a framework to manage configuration key/values in a hierarchical style. For example to specify a configuration from command line is like ./script.py db.name=sqlite. It also has support for dynamic completion so I'm integrating it with fish using dynamic completion: complete -c test.py -x -a '(test.py -sc query=fish --_completion (commandline -cp))', following an earlier discussion.

The problem is fish automatically adds a space after candidates ending with a dot .. Completing ./script [TAB] results in ./script db. . For further completion the user needs to delete the space and press TAB again. But for = it works as expected. (asciinema recording: https://asciinema.org/a/322303)

I'd like to suggest that space is not added after . like the behaviour for =, so the dot can also be used as a separator in such scenarios.

Environment:

$ fish --version
fish, version 3.0.2
$ echo $version
3.0.2
$ uname -a
Linux debian 4.19.0-8-amd64 #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64 GNU/Linux
$ echo $TERM
xterm-256color

Read the original on github.com ↗