main: Add ' helper function
This commit is contained in:
parent
dcb115c74c
commit
25ae1c0121
@ -38,6 +38,7 @@ This highlighter defines the following styles:
|
|||||||
* `single-quoted-argument` - single quoted arguments (`` 'foo' ``)
|
* `single-quoted-argument` - single quoted arguments (`` 'foo' ``)
|
||||||
* `double-quoted-argument` - double quoted arguments (`` "foo" ``)
|
* `double-quoted-argument` - double quoted arguments (`` "foo" ``)
|
||||||
* `dollar-quoted-argument` - dollar quoted arguments (`` $'foo' ``)
|
* `dollar-quoted-argument` - dollar quoted arguments (`` $'foo' ``)
|
||||||
|
* `rc-quote` - two single quotes inside single quotes when the `RC_QUOTES` option is set (`` 'foo''bar' ``)
|
||||||
* `dollar-double-quoted-argument` - parameter expansion inside double quotes (`$foo` inside `""`)
|
* `dollar-double-quoted-argument` - parameter expansion inside double quotes (`$foo` inside `""`)
|
||||||
* `back-double-quoted-argument` - back double quoted arguments (`\x` inside `""`)
|
* `back-double-quoted-argument` - back double quoted arguments (`\x` inside `""`)
|
||||||
* `back-dollar-quoted-argument` - back dollar quoted arguments (`\x` inside `$''`)
|
* `back-dollar-quoted-argument` - back dollar quoted arguments (`\x` inside `$''`)
|
||||||
|
@ -46,6 +46,7 @@
|
|||||||
: ${ZSH_HIGHLIGHT_STYLES[single-quoted-argument]:=fg=yellow}
|
: ${ZSH_HIGHLIGHT_STYLES[single-quoted-argument]:=fg=yellow}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[double-quoted-argument]:=fg=yellow}
|
: ${ZSH_HIGHLIGHT_STYLES[double-quoted-argument]:=fg=yellow}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]:=fg=yellow}
|
: ${ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]:=fg=yellow}
|
||||||
|
: ${ZSH_HIGHLIGHT_STYLES[rc-quote]:=fg=cyan}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]:=fg=cyan}
|
: ${ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]:=fg=cyan}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]:=fg=cyan}
|
: ${ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]:=fg=cyan}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]:=fg=cyan}
|
: ${ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]:=fg=cyan}
|
||||||
@ -675,7 +676,9 @@ _zsh_highlight_highlighter_main_paint()
|
|||||||
;|
|
;|
|
||||||
'--'*) style=double-hyphen-option;;
|
'--'*) style=double-hyphen-option;;
|
||||||
'-'*) style=single-hyphen-option;;
|
'-'*) style=single-hyphen-option;;
|
||||||
"'"*) style=single-quoted-argument;;
|
"'"*) _zsh_highlight_main_highlighter_highlight_single_quote 1
|
||||||
|
already_added=1
|
||||||
|
;;
|
||||||
'"'*) _zsh_highlight_main_highlighter_highlight_double_quote
|
'"'*) _zsh_highlight_main_highlighter_highlight_double_quote
|
||||||
already_added=1
|
already_added=1
|
||||||
;;
|
;;
|
||||||
@ -802,6 +805,26 @@ _zsh_highlight_main_highlighter_check_path()
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Highlight single-quoted strings
|
||||||
|
_zsh_highlight_main_highlighter_highlight_single_quote()
|
||||||
|
{
|
||||||
|
local arg1=$1 i q=\'
|
||||||
|
local -a highlights
|
||||||
|
i=$arg[(ib:arg1+1:)$q]
|
||||||
|
|
||||||
|
if [[ $zsyh_user_options[rcquotes] == on ]]; then
|
||||||
|
while [[ $arg[i+1] == "'" ]]; do
|
||||||
|
highlights+=($(( start_pos + i - 1 )) $(( start_pos + i + 1 )) rc-quote)
|
||||||
|
(( i++ ))
|
||||||
|
i=$arg[(ib:i+1:)$q]
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
highlights=($(( start_pos + $1 - 1 )) $(( start_pos + i )) single-quoted-argument $highlights)
|
||||||
|
_zsh_highlight_main_add_many_region_highlights $highlights
|
||||||
|
REPLY=$i
|
||||||
|
}
|
||||||
|
|
||||||
# Highlight special chars inside double-quoted strings
|
# Highlight special chars inside double-quoted strings
|
||||||
_zsh_highlight_main_highlighter_highlight_double_quote()
|
_zsh_highlight_main_highlighter_highlight_double_quote()
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user