Refactor definition of special variables.

This ensures that the parser and other places that refer to special
variables can use the same list.
This commit is contained in:
Benjamin Gordon 2019-04-25 09:32:20 -06:00 committed by Benjamin Gordon
parent 50116e8aee
commit 0358090b3c
2 changed files with 3 additions and 1 deletions

View File

@ -47,6 +47,8 @@ variablesWithoutSpaces = specialVariablesWithoutSpaces ++ [
"COLUMNS", "HISTFILESIZE", "HISTSIZE", "LINES"
]
specialVariables = specialVariablesWithoutSpaces ++ ["@", "*"]
arrayVariables = [
"BASH_ALIASES", "BASH_ARGC", "BASH_ARGV", "BASH_CMDS", "BASH_LINENO",
"BASH_REMATCH", "BASH_SOURCE", "BASH_VERSINFO", "COMP_WORDS", "COPROC",

View File

@ -69,7 +69,7 @@ variableChars = upper <|> lower <|> digit <|> oneOf "_"
functionChars = variableChars <|> oneOf ":+?-./^@"
-- Chars to allow in functions using the 'function' keyword
extendedFunctionChars = functionChars <|> oneOf "[]*=!"
specialVariable = oneOf "@*#?-$!"
specialVariable = oneOf (concat specialVariables)
paramSubSpecialChars = oneOf "/:+-=%"
quotableChars = "|&;<>()\\ '\t\n\r\xA0" ++ doubleQuotableChars
quotable = almostSpace <|> oneOf quotableChars