From 2d69fcd54f0558383acad000199c7e603b29ebc5 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Thu, 30 Aug 2018 13:00:47 -0700 Subject: [PATCH] :arrow_up: tree-sitter-cli --- grammar.js | 4 +++- package.json | 2 +- src/grammar.json | 8 ++++++-- src/parser.c | 24 ++++++++++++------------ 4 files changed, 22 insertions(+), 16 deletions(-) diff --git a/grammar.js b/grammar.js index f779703..da5b26b 100644 --- a/grammar.js +++ b/grammar.js @@ -22,11 +22,13 @@ module.exports = grammar({ doctype: $ => seq( ']+/, '>' ), + _doctype: $ => /[Dd][Oo][Cc][Tt][Yy][Pp][Ee]/, + _node: $ => choice( $.doctype, $.text, diff --git a/package.json b/package.json index bd60f3c..80e280a 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "nan": "^2.10.0" }, "devDependencies": { - "tree-sitter-cli": "^0.13.7" + "tree-sitter-cli": "^0.13.8" }, "scripts": { "build": "tree-sitter generate && node-gyp build", diff --git a/src/grammar.json b/src/grammar.json index b5250a1..cf4677e 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -18,8 +18,8 @@ { "type": "ALIAS", "content": { - "type": "PATTERN", - "value": "[Dd][Oo][Cc][Tt][Yy][Pp][Ee]" + "type": "SYMBOL", + "name": "_doctype" }, "named": false, "value": "doctype" @@ -34,6 +34,10 @@ } ] }, + "_doctype": { + "type": "PATTERN", + "value": "[Dd][Oo][Cc][Tt][Yy][Pp][Ee]" + }, "_node": { "type": "CHOICE", "members": [ diff --git a/src/parser.c b/src/parser.c index dbfb567..c650b49 100644 --- a/src/parser.c +++ b/src/parser.c @@ -22,9 +22,9 @@ enum { sym_raw_text = 6, sym_comment = 7, anon_sym_LT_BANG = 8, - aux_sym_SLASH_LBRACKDd_RBRACK_LBRACKOo_RBRACK_LBRACKCc_RBRACK_LBRACKTt_RBRACK_LBRACKYy_RBRACK_LBRACKPp_RBRACK_LBRACKEe_RBRACK_SLASH = 9, - aux_sym_SLASH_LBRACK_CARET_GT_RBRACK_PLUS_SLASH = 10, - anon_sym_GT = 11, + aux_sym_SLASH_LBRACK_CARET_GT_RBRACK_PLUS_SLASH = 9, + anon_sym_GT = 10, + sym__doctype = 11, anon_sym_LT = 12, anon_sym_SLASH_GT = 13, anon_sym_LT_SLASH = 14, @@ -62,9 +62,9 @@ static const char *ts_symbol_names[] = { [sym_comment] = "comment", [ts_builtin_sym_end] = "END", [anon_sym_LT_BANG] = "]+/", [anon_sym_GT] = ">", + [sym__doctype] = "doctype", [anon_sym_LT] = "<", [anon_sym_SLASH_GT] = "/>", [anon_sym_LT_SLASH] = "