mirror of
https://github.com/fish-shell/fish-shell
synced 2025-01-13 21:44:16 +00:00
Support for escaped colons in makefile targets in __fish_print_make_targets, as part of #1259
This commit is contained in:
parent
8490aac025
commit
20130d89dc
1 changed files with 9 additions and 2 deletions
|
@ -1,8 +1,15 @@
|
||||||
function __fish_print_make_targets
|
function __fish_print_make_targets
|
||||||
set files Makefile makefile GNUmakefile
|
|
||||||
# Some seds (e.g. on Mac OS X), don't support \n in the RHS
|
# Some seds (e.g. on Mac OS X), don't support \n in the RHS
|
||||||
# Use a literal newline instead
|
# Use a literal newline instead
|
||||||
# http://sed.sourceforge.net/sedfaq4.html#s4.1
|
# http://sed.sourceforge.net/sedfaq4.html#s4.1
|
||||||
sgrep -h -E '^[^#%=$[:space:]][^#%=$]*:([^=]|$)' $files ^/dev/null | cut -d ":" -f 1 | sed -e 's/^ *//;s/ *$//;s/ */\\
|
# The 'rev | cut | rev' trick removes everything after the last colon
|
||||||
|
for file in GNUmakefile Makefile makefile
|
||||||
|
if test -f $file
|
||||||
|
sgrep -h -o -E '^[^#%=$[:space:]][^#%=$]*:([^=]|$)' $file ^/dev/null | rev | cut -d ":" -f 2- | rev | sed -e 's/^ *//;s/ *$//;s/ */\\
|
||||||
/g' ^/dev/null
|
/g' ^/dev/null
|
||||||
|
# On case insensitive filesystems, Makefile and makefile are the same; stop now so we don't double-print
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue