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,
|
||||
$.macro,
|
||||
$.reader,
|
||||
$.py,
|
||||
),
|
||||
|
||||
_form: $ => seq(optional($.sugar), choice($._identifier, $._sequence, $._string)),
|
||||
|
|
@ -225,6 +226,14 @@ module.exports = grammar({
|
|||
repeat($._element),
|
||||
')',
|
||||
),
|
||||
py: $ => seq(
|
||||
'(',
|
||||
choice('py', 'pys'),
|
||||
'"',
|
||||
$.code,
|
||||
'"',
|
||||
')',
|
||||
),
|
||||
|
||||
module_import: $ => seq(
|
||||
choice(
|
||||
|
|
@ -308,6 +317,8 @@ module.exports = grammar({
|
|||
']',
|
||||
),
|
||||
|
||||
code: _ => /[^"]*/,
|
||||
|
||||
_variable: $ => choice(
|
||||
$.symbol,
|
||||
$.dotted_identifier,
|
||||
|
|
|
|||
|
|
@ -126,6 +126,12 @@
|
|||
(discard)
|
||||
] @comment
|
||||
|
||||
[
|
||||
(string)
|
||||
(bracket_string)
|
||||
(comment)
|
||||
] @spell
|
||||
|
||||
; Keywords
|
||||
(expression
|
||||
.
|
||||
|
|
@ -278,11 +284,18 @@
|
|||
.
|
||||
(symbol) @function.macro
|
||||
(#any-of? @function.macro
|
||||
"do" "do-mac" "eval-and-compile" "eval-when-compile" "py" "pys" "pragma" "quote" "quasiquote"
|
||||
"unquote" "unquote-splice" "setv" "setx" "let" "global" "nonlocal" "del" "annotate" "deftype"
|
||||
"." "unpack-iterable" "unpack-mapping" "with" "get-macro" "local-macros" "export" "get" "cut"
|
||||
"do" "do-mac" "eval-and-compile" "eval-when-compile" "pragma" "quote" "quasiquote" "unquote"
|
||||
"unquote-splice" "setv" "setx" "let" "global" "nonlocal" "del" "annotate" "deftype" "."
|
||||
"unpack-iterable" "unpack-mapping" "with" "get-macro" "local-macros" "export" "get" "cut"
|
||||
"assert"))
|
||||
|
||||
(py
|
||||
.
|
||||
[
|
||||
"py"
|
||||
"pys"
|
||||
] @function.macro)
|
||||
|
||||
; Tokens
|
||||
((symbol) @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",
|
||||
"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": {
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
|
|
@ -2238,6 +2280,10 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"code": {
|
||||
"type": "PATTERN",
|
||||
"value": "[^\"]*"
|
||||
},
|
||||
"_variable": {
|
||||
"type": "CHOICE",
|
||||
"members": [
|
||||
|
|
|
|||
76
src/node-types.json
generated
76
src/node-types.json
generated
|
|
@ -130,6 +130,10 @@
|
|||
"type": "macro",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "py",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "reader",
|
||||
"named": true
|
||||
|
|
@ -165,6 +169,11 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "code",
|
||||
"named": true,
|
||||
"fields": {}
|
||||
},
|
||||
{
|
||||
"type": "dictionary",
|
||||
"named": true,
|
||||
|
|
@ -241,6 +250,10 @@
|
|||
"type": "macro",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "py",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "reader",
|
||||
"named": true
|
||||
|
|
@ -343,6 +356,10 @@
|
|||
"type": "macro",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "py",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "reader",
|
||||
"named": true
|
||||
|
|
@ -553,6 +570,10 @@
|
|||
"type": "macro",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "py",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "reader",
|
||||
"named": true
|
||||
|
|
@ -685,6 +706,10 @@
|
|||
"type": "parameter_list",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "py",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "reader",
|
||||
"named": true
|
||||
|
|
@ -843,6 +868,10 @@
|
|||
"type": "parameter_list",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "py",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "reader",
|
||||
"named": true
|
||||
|
|
@ -950,6 +979,10 @@
|
|||
"type": "macro",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "py",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "reader",
|
||||
"named": true
|
||||
|
|
@ -1072,6 +1105,10 @@
|
|||
"type": "parameter_list",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "py",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "reader",
|
||||
"named": true
|
||||
|
|
@ -1247,6 +1284,21 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "py",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "code",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "reader",
|
||||
"named": true,
|
||||
|
|
@ -1334,6 +1386,10 @@
|
|||
"type": "macro",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "py",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "reader",
|
||||
"named": true
|
||||
|
|
@ -1464,6 +1520,10 @@
|
|||
"type": "macro",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "py",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "reader",
|
||||
"named": true
|
||||
|
|
@ -1572,6 +1632,10 @@
|
|||
"type": "macro",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "py",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "reader",
|
||||
"named": true
|
||||
|
|
@ -1693,6 +1757,10 @@
|
|||
"type": "macro",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "py",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "reader",
|
||||
"named": true
|
||||
|
|
@ -1911,6 +1979,14 @@
|
|||
"type": "macros",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "py",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "pys",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "readers",
|
||||
"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