Move make completion to string

This also removes a hack that's not needed anymore
This commit is contained in:
Fabian Homborg 2015-09-29 21:09:52 +02:00
parent 45bf843b03
commit 65415cb761

View file

@ -1,13 +1,9 @@
# Completions for make
# This completion is a bit ugly. It reenables file completion on
# assignments, so e.g. 'make foo FILES=<tab>' will recive standard
# filename completion. Unfortunatly, this turns out to be a bit
# complicated to do.
set -l is_assignment "commandline -ct| __fish_sgrep '..*='"
set -l complete_file_assignment '(commandline -ct|sed -e \'s/=.*/=/\')(complete --do-complete=this_command_does_not_exist\ (commandline -ct|sed -e \'s/.*=//\'))'
complete -c make --condition $is_assignment -a $complete_file_assignment
# This completion reenables file completion on
# assignments, so e.g. 'make foo FILES=<tab>' will receive standard
# filename completion.
complete -c make -n 'commandline -ct | string match "*=*"'
complete -x -c make -a "(__fish_print_make_targets)" --description "Target"
complete -r -c make -s f --description "Use file as makefile" -r