aboutsummaryrefslogtreecommitdiffstats
path: root/tree-sitter-yts/src/grammar.json
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tree-sitter-yts/src/grammar.json286
1 files changed, 286 insertions, 0 deletions
diff --git a/tree-sitter-yts/src/grammar.json b/tree-sitter-yts/src/grammar.json
new file mode 100644
index 0000000..a63633b
--- /dev/null
+++ b/tree-sitter-yts/src/grammar.json
@@ -0,0 +1,286 @@
+{
+ "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": "REPEAT",
+ "content": {
+ "type": "SYMBOL",
+ "name": "flag"
+ }
+ },
+ {
+ "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"
+ }
+ ]
+ },
+ "flag": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "PATTERN",
+ "value": "-\\w [^\\s]+"
+ },
+ {
+ "type": "PATTERN",
+ "value": "-\\w '[^']*'"
+ },
+ {
+ "type": "PATTERN",
+ "value": "-\\w \"[^\"]*\""
+ },
+ {
+ "type": "PATTERN",
+ "value": "-\\w=[^\\s]+"
+ },
+ {
+ "type": "PATTERN",
+ "value": "-\\w='[^']*'"
+ },
+ {
+ "type": "PATTERN",
+ "value": "-\\w=\"[^\"]*\""
+ },
+ {
+ "type": "PATTERN",
+ "value": "--\\w[\\w-]+ [^\\s]+"
+ },
+ {
+ "type": "PATTERN",
+ "value": "--\\w[\\w-]+ '[^']*'"
+ },
+ {
+ "type": "PATTERN",
+ "value": "--\\w[\\w-]+ \"[^\"]*\""
+ },
+ {
+ "type": "PATTERN",
+ "value": "--\\w[\\w-]+=[^\\s]+"
+ },
+ {
+ "type": "PATTERN",
+ "value": "--\\w[\\w-]+='[^']*'"
+ },
+ {
+ "type": "PATTERN",
+ "value": "--\\w[\\w-]+=\"[^\"]*\""
+ }
+ ]
+ },
+ "id": {
+ "type": "PATTERN",
+ "value": "[a-z0-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": "CHOICE",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "[No Duration]"
+ },
+ {
+ "type": "PATTERN",
+ "value": "\\d+m \\d+s"
+ },
+ {
+ "type": "PATTERN",
+ "value": "\\d+h \\d+m"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "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"
+ }
+ ],
+ "conflicts": [],
+ "precedences": [],
+ "externals": [],
+ "inline": [],
+ "supertypes": []
+}
+