diff options
Diffstat (limited to 'pkgs/sources/tree-sitter-yts/src/grammar.json')
-rw-r--r-- | pkgs/sources/tree-sitter-yts/src/grammar.json | 238 |
1 files changed, 238 insertions, 0 deletions
diff --git a/pkgs/sources/tree-sitter-yts/src/grammar.json b/pkgs/sources/tree-sitter-yts/src/grammar.json new file mode 100644 index 00000000..a35a5464 --- /dev/null +++ b/pkgs/sources/tree-sitter-yts/src/grammar.json @@ -0,0 +1,238 @@ +{ + "name": "yts", + "rules": { + "source_file": { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "line" + }, + { + "type": "SYMBOL", + "name": "comment" + } + ] + } + }, + "line": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "command" + }, + { + "type": "SYMBOL", + "name": "id" + }, + { + "type": "SYMBOL", + "name": "title" + }, + { + "type": "SYMBOL", + "name": "date" + }, + { + "type": "SYMBOL", + "name": "author" + }, + { + "type": "SYMBOL", + "name": "duration" + }, + { + "type": "SYMBOL", + "name": "url" + }, + { + "type": "STRING", + "value": "\n" + } + ] + }, + "command": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "pick" + }, + { + "type": "STRING", + "value": "p" + }, + { + "type": "STRING", + "value": "watch" + }, + { + "type": "STRING", + "value": "w" + }, + { + "type": "STRING", + "value": "drop" + }, + { + "type": "STRING", + "value": "d" + }, + { + "type": "STRING", + "value": "url" + }, + { + "type": "STRING", + "value": "u" + } + ] + }, + "id": { + "type": "PATTERN", + "value": "[0-9]+" + }, + "title": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_q" + }, + { + "type": "PATTERN", + "value": "[^\"]+" + }, + { + "type": "SYMBOL", + "name": "_q" + } + ] + }, + "date": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_q" + }, + { + "type": "PATTERN", + "value": "\\d{4}-\\d{2}-\\d{2}" + }, + { + "type": "SYMBOL", + "name": "_q" + } + ] + }, + "author": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_q" + }, + { + "type": "PATTERN", + "value": "[^\"]+" + }, + { + "type": "SYMBOL", + "name": "_q" + } + ] + }, + "duration": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_q" + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "No Duration" + }, + { + "type": "PATTERN", + "value": "\\d+m \\d+s" + }, + { + "type": "PATTERN", + "value": "\\d+h \\d+m" + } + ] + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + { + "type": "SYMBOL", + "name": "_q" + } + ] + }, + "url": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_q" + }, + { + "type": "PATTERN", + "value": "[^\"]+" + }, + { + "type": "SYMBOL", + "name": "_q" + } + ] + }, + "comment": { + "type": "PATTERN", + "value": "#.*" + }, + "_q": { + "type": "SYMBOL", + "name": "quote" + }, + "quote": { + "type": "PATTERN", + "value": "\"" + } + }, + "extras": [ + { + "type": "PATTERN", + "value": "\\s" + }, + { + "type": "PATTERN", + "value": "\\\\\\r?\\n" + } + ], + "conflicts": [], + "precedences": [], + "externals": [], + "inline": [], + "supertypes": [] +} + |