Branch
Hash :
e5cfdb4a
Author :
Date :
2021-03-17T11:21:02
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
""
''
"foo"
'foo'
"foo
bar"
'foo
bar'
"'foo'"
'"bar"'
"$@"
"${foo}"
\\"foo"
\'a # ' not a string
<< STRING_END
foo
bar
STRING_END
<<- STRING_END
foo
bar
STRING_END
<< EOF
foo $@
bar
EOF
<< 'EOF'
'single quoted string'
"double quoted string"
EOF
<< "EOF"
foo
$bar
EOF
<< STRING_END
# comment
STRING_END
" # comment "
----------------------------------------------------
[
["string", ["\"\""]],
["string", "''"],
["string", ["\"foo\""]],
["string", "'foo'"],
["string", ["\"foo\r\nbar\""]],
["string", "'foo\r\nbar'"],
["string", ["\"'foo'\""]],
["string", "'\"bar\"'"],
["string", [
"\"",
["variable", "$@"],
"\""
]],
["string", [
"\"",
["variable", ["${foo}"]],
"\""
]],
["punctuation", "\\"], ["punctuation", "\\"], ["string", ["\"foo\""]],
["punctuation", "\\"], "'a ", ["comment", "# ' not a string"],
["operator", ["<<"]], ["string", ["STRING_END\r\nfoo\r\nbar\r\nSTRING_END"]],
["operator", ["<<-"]], ["string", ["STRING_END\r\nfoo\r\nbar\r\nSTRING_END"]],
["operator", ["<<"]],
["string", [
"EOF\r\nfoo ", ["variable", "$@"],
"\r\nbar\r\nEOF"
]],
["operator", ["<<"]],
["string", ["'EOF'\r\n'single quoted string'\r\n\"double quoted string\"\r\nEOF"]],
["operator", ["<<"]], ["string", ["\"EOF\"\r\nfoo\r\n$bar\r\nEOF"]],
["operator", ["<<"]], ["string", ["STRING_END\r\n# comment\r\nSTRING_END"]],
["string", ["\" # comment \""]]
]
----------------------------------------------------
Checks for single-quoted and double-quoted strings.
Also checks for variables in strings.