'main': Support the "close file descriptor" and "coproc" redirection syntaxes

Part of issue #645.
This commit is contained in:
Daniel Shahaf 2020-03-19 03:13:36 +00:00
parent 10171731f3
commit fdf23e06c7
2 changed files with 8 additions and 4 deletions

View file

@ -1287,8 +1287,12 @@ _zsh_highlight_main_highlighter_highlight_argument()
done done
if (( path_eligible )); then if (( path_eligible )); then
if (( in_redirection )) && [[ $last_arg == *['<>']['&'] && $arg[$1,-1] == <0-> ]]; then if (( in_redirection )) && [[ $last_arg == *['<>']['&'] && $arg[$1,-1] == (<0->|p|-) ]]; then
base_style=numeric-fd if [[ $arg[$1,-1] == (p|-) ]]; then
base_style=redirection
else
base_style=numeric-fd
fi
elif _zsh_highlight_main_highlighter_check_path $arg[$1,-1]; then elif _zsh_highlight_main_highlighter_check_path $arg[$1,-1]; then
base_style=$REPLY base_style=$REPLY
_zsh_highlight_main_highlighter_highlight_path_separators $base_style _zsh_highlight_main_highlighter_highlight_path_separators $base_style

View file

@ -35,10 +35,10 @@ BUFFER=$'cat <&p; exec {myfd}>&-'
expected_region_highlight=( expected_region_highlight=(
'1 3 command' # cat '1 3 command' # cat
'5 6 redirection' # <& '5 6 redirection' # <&
'7 7 redirection "issue #645 (in part)"' # p '7 7 redirection' # p
'8 8 commandseparator' # ; '8 8 commandseparator' # ;
'10 13 precommand' # exec '10 13 precommand' # exec
'15 20 named-fd' # {myfd} '15 20 named-fd' # {myfd}
'21 22 redirection' # >& '21 22 redirection' # >&
'23 23 redirection "issue #645 (in part)"' # - '23 23 redirection' # -
) )