From ae3b912ddc1bacaea451813ed7e9894cd345b58e Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Mon, 19 Sep 2016 13:34:24 -0700 Subject: [PATCH] Escape unexpected characters when pretty-printing error nodes --- src/runtime/tree.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/runtime/tree.c b/src/runtime/tree.c index 2bf46d0f..930ff0a3 100644 --- a/src/runtime/tree.c +++ b/src/runtime/tree.c @@ -399,6 +399,12 @@ void ts_tree_edit(TSTree *self, const TSInputEdit *edit) { static size_t ts_tree__write_char_to_string(char *s, size_t n, int32_t c) { if (c == 0) return snprintf(s, n, "EOF"); + else if (c == '\n') + return snprintf(s, n, "'\\n'"); + else if (c == '\t') + return snprintf(s, n, "'\\t'"); + else if (c == '\r') + return snprintf(s, n, "'\\r'"); else if (c < 128) return snprintf(s, n, "'%c'", c); else