mirror of
https://github.com/elladunbar/tree-sitter-hy.git
synced 2025-11-05 14:59:55 -06:00
Add python code macros and spelling
This commit is contained in:
parent
ed44ef8755
commit
4be821f08d
6 changed files with 7754 additions and 7291 deletions
11
grammar.js
11
grammar.js
|
|
@ -47,6 +47,7 @@ module.exports = grammar({
|
||||||
$.class,
|
$.class,
|
||||||
$.macro,
|
$.macro,
|
||||||
$.reader,
|
$.reader,
|
||||||
|
$.py,
|
||||||
),
|
),
|
||||||
|
|
||||||
_form: $ => seq(optional($.sugar), choice($._identifier, $._sequence, $._string)),
|
_form: $ => seq(optional($.sugar), choice($._identifier, $._sequence, $._string)),
|
||||||
|
|
@ -225,6 +226,14 @@ module.exports = grammar({
|
||||||
repeat($._element),
|
repeat($._element),
|
||||||
')',
|
')',
|
||||||
),
|
),
|
||||||
|
py: $ => seq(
|
||||||
|
'(',
|
||||||
|
choice('py', 'pys'),
|
||||||
|
'"',
|
||||||
|
$.code,
|
||||||
|
'"',
|
||||||
|
')',
|
||||||
|
),
|
||||||
|
|
||||||
module_import: $ => seq(
|
module_import: $ => seq(
|
||||||
choice(
|
choice(
|
||||||
|
|
@ -308,6 +317,8 @@ module.exports = grammar({
|
||||||
']',
|
']',
|
||||||
),
|
),
|
||||||
|
|
||||||
|
code: _ => /[^"]*/,
|
||||||
|
|
||||||
_variable: $ => choice(
|
_variable: $ => choice(
|
||||||
$.symbol,
|
$.symbol,
|
||||||
$.dotted_identifier,
|
$.dotted_identifier,
|
||||||
|
|
|
||||||
|
|
@ -126,6 +126,12 @@
|
||||||
(discard)
|
(discard)
|
||||||
] @comment
|
] @comment
|
||||||
|
|
||||||
|
[
|
||||||
|
(string)
|
||||||
|
(bracket_string)
|
||||||
|
(comment)
|
||||||
|
] @spell
|
||||||
|
|
||||||
; Keywords
|
; Keywords
|
||||||
(expression
|
(expression
|
||||||
.
|
.
|
||||||
|
|
@ -278,11 +284,18 @@
|
||||||
.
|
.
|
||||||
(symbol) @function.macro
|
(symbol) @function.macro
|
||||||
(#any-of? @function.macro
|
(#any-of? @function.macro
|
||||||
"do" "do-mac" "eval-and-compile" "eval-when-compile" "py" "pys" "pragma" "quote" "quasiquote"
|
"do" "do-mac" "eval-and-compile" "eval-when-compile" "pragma" "quote" "quasiquote" "unquote"
|
||||||
"unquote" "unquote-splice" "setv" "setx" "let" "global" "nonlocal" "del" "annotate" "deftype"
|
"unquote-splice" "setv" "setx" "let" "global" "nonlocal" "del" "annotate" "deftype" "."
|
||||||
"." "unpack-iterable" "unpack-mapping" "with" "get-macro" "local-macros" "export" "get" "cut"
|
"unpack-iterable" "unpack-mapping" "with" "get-macro" "local-macros" "export" "get" "cut"
|
||||||
"assert"))
|
"assert"))
|
||||||
|
|
||||||
|
(py
|
||||||
|
.
|
||||||
|
[
|
||||||
|
"py"
|
||||||
|
"pys"
|
||||||
|
] @function.macro)
|
||||||
|
|
||||||
; Tokens
|
; Tokens
|
||||||
((symbol) @operator
|
((symbol) @operator
|
||||||
(#any-of? @operator
|
(#any-of? @operator
|
||||||
|
|
|
||||||
3
queries/injections.scm
Normal file
3
queries/injections.scm
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
(py
|
||||||
|
(code) @injection.content
|
||||||
|
(#set! injection.language "python"))
|
||||||
46
src/grammar.json
generated
46
src/grammar.json
generated
|
|
@ -85,6 +85,10 @@
|
||||||
{
|
{
|
||||||
"type": "SYMBOL",
|
"type": "SYMBOL",
|
||||||
"name": "reader"
|
"name": "reader"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "SYMBOL",
|
||||||
|
"name": "py"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -1953,6 +1957,44 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"py": {
|
||||||
|
"type": "SEQ",
|
||||||
|
"members": [
|
||||||
|
{
|
||||||
|
"type": "STRING",
|
||||||
|
"value": "("
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "CHOICE",
|
||||||
|
"members": [
|
||||||
|
{
|
||||||
|
"type": "STRING",
|
||||||
|
"value": "py"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "STRING",
|
||||||
|
"value": "pys"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "STRING",
|
||||||
|
"value": "\""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "SYMBOL",
|
||||||
|
"name": "code"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "STRING",
|
||||||
|
"value": "\""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "STRING",
|
||||||
|
"value": ")"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
"module_import": {
|
"module_import": {
|
||||||
"type": "SEQ",
|
"type": "SEQ",
|
||||||
"members": [
|
"members": [
|
||||||
|
|
@ -2238,6 +2280,10 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"code": {
|
||||||
|
"type": "PATTERN",
|
||||||
|
"value": "[^\"]*"
|
||||||
|
},
|
||||||
"_variable": {
|
"_variable": {
|
||||||
"type": "CHOICE",
|
"type": "CHOICE",
|
||||||
"members": [
|
"members": [
|
||||||
|
|
|
||||||
76
src/node-types.json
generated
76
src/node-types.json
generated
|
|
@ -130,6 +130,10 @@
|
||||||
"type": "macro",
|
"type": "macro",
|
||||||
"named": true
|
"named": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "py",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "reader",
|
"type": "reader",
|
||||||
"named": true
|
"named": true
|
||||||
|
|
@ -165,6 +169,11 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "code",
|
||||||
|
"named": true,
|
||||||
|
"fields": {}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "dictionary",
|
"type": "dictionary",
|
||||||
"named": true,
|
"named": true,
|
||||||
|
|
@ -241,6 +250,10 @@
|
||||||
"type": "macro",
|
"type": "macro",
|
||||||
"named": true
|
"named": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "py",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "reader",
|
"type": "reader",
|
||||||
"named": true
|
"named": true
|
||||||
|
|
@ -343,6 +356,10 @@
|
||||||
"type": "macro",
|
"type": "macro",
|
||||||
"named": true
|
"named": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "py",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "reader",
|
"type": "reader",
|
||||||
"named": true
|
"named": true
|
||||||
|
|
@ -553,6 +570,10 @@
|
||||||
"type": "macro",
|
"type": "macro",
|
||||||
"named": true
|
"named": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "py",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "reader",
|
"type": "reader",
|
||||||
"named": true
|
"named": true
|
||||||
|
|
@ -685,6 +706,10 @@
|
||||||
"type": "parameter_list",
|
"type": "parameter_list",
|
||||||
"named": true
|
"named": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "py",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "reader",
|
"type": "reader",
|
||||||
"named": true
|
"named": true
|
||||||
|
|
@ -843,6 +868,10 @@
|
||||||
"type": "parameter_list",
|
"type": "parameter_list",
|
||||||
"named": true
|
"named": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "py",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "reader",
|
"type": "reader",
|
||||||
"named": true
|
"named": true
|
||||||
|
|
@ -950,6 +979,10 @@
|
||||||
"type": "macro",
|
"type": "macro",
|
||||||
"named": true
|
"named": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "py",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "reader",
|
"type": "reader",
|
||||||
"named": true
|
"named": true
|
||||||
|
|
@ -1072,6 +1105,10 @@
|
||||||
"type": "parameter_list",
|
"type": "parameter_list",
|
||||||
"named": true
|
"named": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "py",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "reader",
|
"type": "reader",
|
||||||
"named": true
|
"named": true
|
||||||
|
|
@ -1247,6 +1284,21 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "py",
|
||||||
|
"named": true,
|
||||||
|
"fields": {},
|
||||||
|
"children": {
|
||||||
|
"multiple": false,
|
||||||
|
"required": true,
|
||||||
|
"types": [
|
||||||
|
{
|
||||||
|
"type": "code",
|
||||||
|
"named": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "reader",
|
"type": "reader",
|
||||||
"named": true,
|
"named": true,
|
||||||
|
|
@ -1334,6 +1386,10 @@
|
||||||
"type": "macro",
|
"type": "macro",
|
||||||
"named": true
|
"named": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "py",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "reader",
|
"type": "reader",
|
||||||
"named": true
|
"named": true
|
||||||
|
|
@ -1464,6 +1520,10 @@
|
||||||
"type": "macro",
|
"type": "macro",
|
||||||
"named": true
|
"named": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "py",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "reader",
|
"type": "reader",
|
||||||
"named": true
|
"named": true
|
||||||
|
|
@ -1572,6 +1632,10 @@
|
||||||
"type": "macro",
|
"type": "macro",
|
||||||
"named": true
|
"named": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "py",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "reader",
|
"type": "reader",
|
||||||
"named": true
|
"named": true
|
||||||
|
|
@ -1693,6 +1757,10 @@
|
||||||
"type": "macro",
|
"type": "macro",
|
||||||
"named": true
|
"named": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "py",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "reader",
|
"type": "reader",
|
||||||
"named": true
|
"named": true
|
||||||
|
|
@ -1911,6 +1979,14 @@
|
||||||
"type": "macros",
|
"type": "macros",
|
||||||
"named": false
|
"named": false
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "py",
|
||||||
|
"named": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "pys",
|
||||||
|
"named": false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "readers",
|
"type": "readers",
|
||||||
"named": false
|
"named": false
|
||||||
|
|
|
||||||
14890
src/parser.c
generated
14890
src/parser.c
generated
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue