noop: Add comments.
This commit is contained in:
parent
757d047f09
commit
2c002f9f89
|
@ -258,6 +258,7 @@ _zsh_highlight_main_highlighter()
|
||||||
local proc_buf="$buf"
|
local proc_buf="$buf"
|
||||||
for arg in ${interactive_comments-${(z)buf}} \
|
for arg in ${interactive_comments-${(z)buf}} \
|
||||||
${interactive_comments+${(zZ+c+)buf}}; do
|
${interactive_comments+${(zZ+c+)buf}}; do
|
||||||
|
# Initialize $next_word.
|
||||||
if (( in_redirection )); then
|
if (( in_redirection )); then
|
||||||
(( --in_redirection ))
|
(( --in_redirection ))
|
||||||
fi
|
fi
|
||||||
|
@ -267,6 +268,14 @@ _zsh_highlight_main_highlighter()
|
||||||
else
|
else
|
||||||
# Stall $next_word.
|
# Stall $next_word.
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Initialize per-"simple command" [zshmisc(1)] variables:
|
||||||
|
#
|
||||||
|
# $already_added (see next paragraph)
|
||||||
|
# $style how to highlight $arg
|
||||||
|
# $in_array_assignment boolean flag for "between '(' and ')' of array assignment"
|
||||||
|
# $highlight_glob boolean flag for "'noglob' is in effect"
|
||||||
|
#
|
||||||
# $already_added is set to 1 to disable adding an entry to region_highlight
|
# $already_added is set to 1 to disable adding an entry to region_highlight
|
||||||
# for this iteration. Currently, that is done for "" and $'' strings,
|
# for this iteration. Currently, that is done for "" and $'' strings,
|
||||||
# which add the entry early so escape sequences within the string override
|
# which add the entry early so escape sequences within the string override
|
||||||
|
@ -280,7 +289,7 @@ _zsh_highlight_main_highlighter()
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# advance $start_pos, skipping over whitespace in $buf.
|
# Compute the new $start_pos and $end_pos, skipping over whitespace in $buf.
|
||||||
if [[ $arg == ';' ]] ; then
|
if [[ $arg == ';' ]] ; then
|
||||||
# We're looking for either a semicolon or a newline, whichever comes
|
# We're looking for either a semicolon or a newline, whichever comes
|
||||||
# first. Both of these are rendered as a ";" (SEPER) by the ${(z)..}
|
# first. Both of these are rendered as a ";" (SEPER) by the ${(z)..}
|
||||||
|
@ -300,8 +309,7 @@ _zsh_highlight_main_highlighter()
|
||||||
((end_pos=$start_pos+${#arg}))
|
((end_pos=$start_pos+${#arg}))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Above `if` computes new start_pos and end_pos.
|
# Compute the new $proc_buf. We advance it
|
||||||
# Here we compute new proc_buf. We advance it
|
|
||||||
# (chop off characters from the beginning)
|
# (chop off characters from the beginning)
|
||||||
# beyond what end_pos points to, by skipping
|
# beyond what end_pos points to, by skipping
|
||||||
# as many characters as end_pos was advanced.
|
# as many characters as end_pos was advanced.
|
||||||
|
@ -320,6 +328,9 @@ _zsh_highlight_main_highlighter()
|
||||||
# Why [,-1] is slower than [,length] isn't clear.
|
# Why [,-1] is slower than [,length] isn't clear.
|
||||||
proc_buf="${proc_buf[offset + $#arg + 1,len]}"
|
proc_buf="${proc_buf[offset + $#arg + 1,len]}"
|
||||||
|
|
||||||
|
# Handle the INTERACTIVE_COMMENTS option.
|
||||||
|
#
|
||||||
|
# We use the (Z+c+) flag so the entire comment is presented as one token in $arg.
|
||||||
if [[ -n ${interactive_comments+'set'} && $arg[1] == $histchars[3] ]]; then
|
if [[ -n ${interactive_comments+'set'} && $arg[1] == $histchars[3] ]]; then
|
||||||
if [[ $this_word == *(':regular:'|':start:')* ]]; then
|
if [[ $this_word == *(':regular:'|':start:')* ]]; then
|
||||||
style=comment
|
style=comment
|
||||||
|
@ -331,16 +342,21 @@ _zsh_highlight_main_highlighter()
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Analyse the current word.
|
||||||
if _zsh_highlight_main__is_redirection $arg ; then
|
if _zsh_highlight_main__is_redirection $arg ; then
|
||||||
# A '<' or '>', possibly followed by a digit
|
# A '<' or '>', possibly followed by a digit
|
||||||
in_redirection=2
|
in_redirection=2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Parse the sudo command line
|
# Special-case the first word after 'sudo'.
|
||||||
if (( ! in_redirection )); then
|
if (( ! in_redirection )); then
|
||||||
if [[ $this_word == *':sudo_opt:'* ]] && [[ $arg != -* ]]; then
|
if [[ $this_word == *':sudo_opt:'* ]] && [[ $arg != -* ]]; then
|
||||||
this_word=${this_word//:sudo_opt:/}
|
this_word=${this_word//:sudo_opt:/}
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Parse the sudo command line
|
||||||
|
if (( ! in_redirection )); then
|
||||||
if [[ $this_word == *':sudo_opt:'* ]]; then
|
if [[ $this_word == *':sudo_opt:'* ]]; then
|
||||||
case "$arg" in
|
case "$arg" in
|
||||||
# Flag that requires an argument
|
# Flag that requires an argument
|
||||||
|
@ -358,6 +374,7 @@ _zsh_highlight_main_highlighter()
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# The Great Fork: is this a command word? Is this a non-command word?
|
||||||
if [[ $this_word == *':start:'* ]] && (( in_redirection == 0 )); then # $arg is the command word
|
if [[ $this_word == *':start:'* ]] && (( in_redirection == 0 )); then # $arg is the command word
|
||||||
if [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS:#"$arg"} ]]; then
|
if [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS:#"$arg"} ]]; then
|
||||||
style=precommand
|
style=precommand
|
||||||
|
|
Loading…
Reference in New Issue
Block a user