-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Description
Problem
Most of my git aliases do not support tab completion.
I use several git aliases that are scripts instead of just a shortening of a git command. This breaks the git alias parsing in git.fish.
It's pretty easy to illustrate the problem using the following:
$ git config --global alias.br "!echo \"A wacky alias\" && echo \"More wackiness\""
$ git br
A wacky alias
More wackiness
$ git config -z --get-regexp 'alias\..*' | while read -lz alias command _
echo $alias
echo $command
end
alias.br
!echoAs you can see it seems to split on the whitespace in the alias and then comes out with just the first part. I've been overriding it by doing set --universal __fish_git_alias_co "checkout" but that gets overridden by fish.git when I start a new Terminal (even if I put that in ~/.config/fish/config.fish).
Lastly, I can't disable/override the git alias parsing as that isn't guarded by an flag check.
I'd be happy to work up a PR if anyone is willing to give me some guidance/ideas on how to address this. :)
Environment
OS: macOS 10.14
Terminal: Terminal.app (built in terminal)
Version: fish, version 2.7.1
uname -a: Darwin Jeremys-MacBook-Pro.local 18.0.0 Darwin Kernel Version 18.0.0: Wed Aug 22 20:13:40 PDT 2018; root:xnu-4903.201.2~1/RELEASE_X86_64 x86_64
$TERM: xterm-256color
Possibly relevant (but I haven't changed this):
$ set | grep IFS
IFS \n\ \t
I haven't reproduced this in a pristine shell because, but I have broken down the relevant parts of git.fish and can reproduce the issue that way.