From 2c9f8c8c95fa4f5675e510e0e4a3b4cdb0d40314 Mon Sep 17 00:00:00 2001 From: Daniel Shahaf Date: Tue, 27 Oct 2015 13:35:04 +0200 Subject: [PATCH] Fix issue #209, "precommand modifiers at non-command-word position". --- highlighters/main/main-highlighter.zsh | 5 ++++- highlighters/main/test-data/precommand.zsh | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/highlighters/main/main-highlighter.zsh b/highlighters/main/main-highlighter.zsh index 2cc35f8..5090aef 100644 --- a/highlighters/main/main-highlighter.zsh +++ b/highlighters/main/main-highlighter.zsh @@ -261,7 +261,10 @@ _zsh_highlight_main_highlighter() # if a style_override was set (eg in _zsh_highlight_main_highlighter_check_path), use it [[ -n $style_override ]] && style=$ZSH_HIGHLIGHT_STYLES[$style_override] (( already_added )) || _zsh_highlight_main_add_region_highlight $start_pos $end_pos $style - [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_FOLLOWED_BY_COMMANDS:#"$arg"} ]] && next_word+=':start:' + if [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_COMMANDSEPARATOR:#"$arg"} ]] || + [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS:#"$arg"} && $this_word == *':start:' ]]; then + next_word+=':start:' + fi [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_COMMANDSEPARATOR:#"$arg"} ]] && highlight_glob=true start_pos=$end_pos this_word=$next_word diff --git a/highlighters/main/test-data/precommand.zsh b/highlighters/main/test-data/precommand.zsh index 0f15684..156b72d 100644 --- a/highlighters/main/test-data/precommand.zsh +++ b/highlighters/main/test-data/precommand.zsh @@ -33,5 +33,5 @@ BUFFER=': command zzzzzz' expected_region_highlight=( "1 1 $ZSH_HIGHLIGHT_STYLES[command]" # ls "3 9 $ZSH_HIGHLIGHT_STYLES[default]" # not precommand - "11 16 $ZSH_HIGHLIGHT_STYLES[default] 'issue #209'" # not unknown-token (since 'zzzzzz' is not a command) + "11 16 $ZSH_HIGHLIGHT_STYLES[default]" # not unknown-token (since 'zzzzzz' is not a command) )