aboutsummaryrefslogtreecommitdiff
path: root/js/printer.js
diff options
context:
space:
mode:
authorJoel Martin <github@martintribe.org>2014-12-18 20:33:49 -0600
committerJoel Martin <github@martintribe.org>2015-01-09 16:16:50 -0600
commitb8ee29b22fbaa7a01f2754b4d6dd9af52e02017c (patch)
treef4d977ed220e9a3f665cfbf4f68770a81e4c2095 /js/printer.js
parentaaba249304b184e12e2445ab22d66df1f39a51a5 (diff)
downloadmal-b8ee29b22fbaa7a01f2754b4d6dd9af52e02017c.tar.gz
mal-b8ee29b22fbaa7a01f2754b4d6dd9af52e02017c.zip
All: add keywords.
Also, fix nth and count to match cloure.
Diffstat (limited to 'js/printer.js')
-rw-r--r--js/printer.js8
1 files changed, 6 insertions, 2 deletions
diff --git a/js/printer.js b/js/printer.js
index f3836e0..4f267e7 100644
--- a/js/printer.js
+++ b/js/printer.js
@@ -26,13 +26,17 @@ function _pr_str(obj, print_readably) {
}
return "{" + ret.join(' ') + "}";
case 'string':
- if (_r) {
- return '"' + obj.replace(/\\/, "\\\\")
+ if (obj[0] === '\u029e') {
+ return ':' + obj.slice(1);
+ } else if (_r) {
+ return '"' + obj.replace(/\\/g, "\\\\")
.replace(/"/g, '\\"')
.replace(/\n/g, "\\n") + '"'; // string
} else {
return obj;
}
+ case 'keyword':
+ return ':' + obj.slice(1);
case 'nil':
return "nil";
case 'atom':