From e038a59a83189d5ca07e3a7aa6df0a282456a4d2 Mon Sep 17 00:00:00 2001 From: Daniel Shahaf Date: Sat, 20 Jan 2018 15:43:36 +0000 Subject: [PATCH] 'main': Break out a common pattern. No functional change. --- highlighters/main/main-highlighter.zsh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/highlighters/main/main-highlighter.zsh b/highlighters/main/main-highlighter.zsh index a2802cc..8832253 100644 --- a/highlighters/main/main-highlighter.zsh +++ b/highlighters/main/main-highlighter.zsh @@ -1282,10 +1282,11 @@ _zsh_highlight_main_highlighter_highlight_double_quote() ;; '$' ) style=dollar-double-quoted-argument # Look for an alphanumeric parameter name. - if [[ ${arg:$i} =~ ^([A-Za-z_][A-Za-z0-9_]*|[0-9]+) ]] ; then + local alphanumeric_parameter_name='[A-Za-z_][A-Za-z0-9_]*|[0-9]+' + if [[ ${arg:$i} =~ ^(${alphanumeric_parameter_name}) ]] ; then (( k += $#MATCH )) # highlight the parameter name (( i += $#MATCH )) # skip past it - elif [[ ${arg:$i} =~ ^[{]([A-Za-z_][A-Za-z0-9_]*|[0-9]+)[}] ]] ; then + elif [[ ${arg:$i} =~ ^[{](${alphanumeric_parameter_name})[}] ]] ; then (( k += $#MATCH )) # highlight the parameter name and braces (( i += $#MATCH )) # skip past it elif [[ $arg[i+1] == '$' ]]; then