aboutsummaryrefslogtreecommitdiff
path: root/lib/style-reader.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/style-reader.js')
-rw-r--r--lib/style-reader.js14
1 files changed, 11 insertions, 3 deletions
diff --git a/lib/style-reader.js b/lib/style-reader.js
index 370b5b6..0f2efc5 100644
--- a/lib/style-reader.js
+++ b/lib/style-reader.js
@@ -208,11 +208,19 @@ function htmlPathRule() {
var identifierRule = lop.rules.tokenOfType("identifier");
var integerRule = lop.rules.tokenOfType("integer");
-
+
+var escapeSequences = {
+ "n": "\n",
+ "r": "\r",
+ "t": "\t"
+};
+
var stringRule = lop.rules.then(
lop.rules.tokenOfType("string"),
function(value) {
- return value;
+ return value.replace(/\\(.)/g, function(match, code) {
+ return escapeSequences[code] || code;
+ });
}
);
@@ -257,7 +265,7 @@ function tokenise(string) {
{name: "close-paren", regex: /\)/},
{name: "open-square-bracket", regex: /\[/},
{name: "close-square-bracket", regex: /\]/},
- {name: "string", regex: /'([^']*)'/},
+ {name: "string", regex: /'((?:\\.|[^'])*)'/},
{name: "integer", regex: /([0-9]+)/},
{name: "choice", regex: /\|/},
{name: "bang", regex: /(!)/}