Branch
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 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
foo "";
foo '';
foo "foo
bar";
foo 'foo
bar';
foo " \" \' \\ \r \n \t";
foo ' \" \' \\ \r \n \t';
foo "$foo";
foo "${foo}bar";
foo "$arg_;";
# not escaped
foo "\$foo";
----------------------------------------------------
[
["directive", [
["keyword", "foo"],
["string", ["\"\""]]
]],
["punctuation", ";"],
["directive", [
["keyword", "foo"],
["string", ["''"]]
]],
["punctuation", ";"],
["directive", [
["keyword", "foo"],
["string", ["\"foo\r\nbar\""]]
]],
["punctuation", ";"],
["directive", [
["keyword", "foo"],
["string", ["'foo\r\nbar'"]]
]],
["punctuation", ";"],
["directive", [
["keyword", "foo"],
["string", [
"\" ",
["escape", "\\\""],
["escape", "\\'"],
["escape", "\\\\"],
["escape", "\\r"],
["escape", "\\n"],
["escape", "\\t"],
"\""
]]
]],
["punctuation", ";"],
["directive", [
["keyword", "foo"],
["string", [
"' ",
["escape", "\\\""],
["escape", "\\'"],
["escape", "\\\\"],
["escape", "\\r"],
["escape", "\\n"],
["escape", "\\t"],
"'"
]]
]],
["punctuation", ";"],
["directive", [
["keyword", "foo"],
["string", [
"\"",
["variable", "$foo"],
"\""
]]
]],
["punctuation", ";"],
["directive", [
["keyword", "foo"],
["string", [
"\"",
["variable", "${foo}"],
"bar\""
]]
]],
["punctuation", ";"],
["directive", [
["keyword", "foo"],
["string", [
"\"",
["variable", "$arg_;"],
"\""
]]
]],
["punctuation", ";"],
["comment", "# not escaped"],
["directive", [
["keyword", "foo"],
["string", [
"\"\\",
["variable", "$foo"],
"\""
]]
]],
["punctuation", ";"]
]