Compare commits

...

2 Commits

Author SHA1 Message Date
Dmitriy Pleshevskiy 9828b023cd
grammar: add support of underscore keyword...
...to ref the parent container

Closes #5
2023-06-16 07:42:49 +03:00
Dmitriy Pleshevskiy e67c50d7cb
queries: use comment hightlights for line and block
nix: lock stable nixpkgs
2023-06-16 07:34:32 +03:00
12 changed files with 79 additions and 16 deletions

View File

@ -1,12 +1,7 @@
# Actors # Actors
hans: Hans Niemann hans: Hans Niemann
defendants: |md defendants: {
# Defendants
hello world
| {
shape: text
mc: Magnus Carlsen mc: Magnus Carlsen
playmagnus: Play Magnus Group playmagnus: Play Magnus Group
chesscom: Chess.com chesscom: Chess.com

View File

@ -32,16 +32,16 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1686737040, "lastModified": 1686736559,
"narHash": "sha256-R+JicNaI9mcxodtHkci894txjt4IMsfOnlAarA/r0xQ=", "narHash": "sha256-YyUSVoOKIDAscTx7IZhF9x3qgZ9dPNF19fKk+4c5irc=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "6d1d80a232a355a65dc4d3bfea1f108e8dac1340", "rev": "ddf4688dc7aeb14e8a3c549cb6aa6337f187a884",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixpkgs-unstable", "ref": "nixos-23.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }

View File

@ -1,6 +1,6 @@
{ {
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
flake-utils.url = "github:numtide/flake-utils"; flake-utils.url = "github:numtide/flake-utils";
tools.url = "git+https://git.pleshevski.ru/mynix/tools"; tools.url = "git+https://git.pleshevski.ru/mynix/tools";
}; };

View File

@ -188,7 +188,7 @@ module.exports = grammar({
) )
), ),
shape_key: ($) => choice($.string, $._identifier), shape_key: ($) => choice($.keyword_underscore, $.string, $._identifier),
_identifier: ($) => _identifier: ($) =>
seq( seq(
@ -348,6 +348,7 @@ module.exports = grammar({
_connection_arrowhead_attr_key: ($) => _connection_arrowhead_attr_key: ($) =>
choice("source-arrowhead", "target-arrowhead"), choice("source-arrowhead", "target-arrowhead"),
keyword_underscore: (_) => "_",
keyword_classes: (_) => "classes", keyword_classes: (_) => "classes",
keyword_class: (_) => "class", keyword_class: (_) => "class",
keyword_style: (_) => "style", keyword_style: (_) => "style",

View File

@ -4,12 +4,15 @@
(shape_key) @variable (shape_key) @variable
(attr_key) @property (attr_key) @property
(reserved) @error (reserved) @error
(class_name) @constant
[ [
(keyword_style) (keyword_style)
(keyword_classes) (keyword_classes)
(keyword_class) (keyword_class)
] @keyword ] @keyword
(class_name) @constant
(keyword_underscore) @keyword.return
; Literals ; Literals
;------------------------------------------------------------------------------- ;-------------------------------------------------------------------------------
@ -27,9 +30,11 @@
; Comments ; Comments
;------------------------------------------------------------------------------- ;-------------------------------------------------------------------------------
(language) @comment [
(line_comment) @comment.line (language)
(block_comment) @comment.block (line_comment)
(block_comment)
] @comment
; Punctiation ; Punctiation
;------------------------------------------------------------------------------- ;-------------------------------------------------------------------------------

View File

@ -853,6 +853,10 @@
"shape_key": { "shape_key": {
"type": "CHOICE", "type": "CHOICE",
"members": [ "members": [
{
"type": "SYMBOL",
"name": "keyword_underscore"
},
{ {
"type": "SYMBOL", "type": "SYMBOL",
"name": "string" "name": "string"
@ -1818,6 +1822,10 @@
} }
] ]
}, },
"keyword_underscore": {
"type": "STRING",
"value": "_"
},
"keyword_classes": { "keyword_classes": {
"type": "STRING", "type": "STRING",
"value": "classes" "value": "classes"

View File

@ -186,6 +186,10 @@
"type": "escape_sequence", "type": "escape_sequence",
"named": true "named": true
}, },
{
"type": "keyword_underscore",
"named": true
},
{ {
"type": "string", "type": "string",
"named": true "named": true
@ -314,6 +318,10 @@
"type": "escape_sequence", "type": "escape_sequence",
"named": true "named": true
}, },
{
"type": "keyword_underscore",
"named": true
},
{ {
"type": "string", "type": "string",
"named": true "named": true
@ -392,6 +400,10 @@
"type": "escape_sequence", "type": "escape_sequence",
"named": true "named": true
}, },
{
"type": "keyword_underscore",
"named": true
},
{ {
"type": "string", "type": "string",
"named": true "named": true
@ -612,6 +624,10 @@
"type": "keyword_style", "type": "keyword_style",
"named": true "named": true
}, },
{
"type": "keyword_underscore",
"named": true
},
{ {
"type": "label", "type": "label",
"named": false "named": false

Binary file not shown.

View File

@ -267,3 +267,25 @@ primty: Primitive types {
) )
) )
) )
================================================================================
Declare a container with a references to the parent container
================================================================================
container: {
_.foo: baz
}
--------------------------------------------------------------------------------
(source_file
(container
(container_key)
(block
(container
(container_key (keyword_underscore))
(dot)
(shape (shape_key) (label))
)
)
)
)

View File

@ -278,3 +278,13 @@ bar
(block_comment) (block_comment)
(shape (shape_key)) (shape (shape_key))
) )
================================================================================
Declare a shape with a parent container reference
================================================================================
_
--------------------------------------------------------------------------------
(source_file
(shape (shape_key (keyword_underscore)))
)

View File

@ -33,6 +33,12 @@ foo: Foo Bar {
bar.baz bar.baz
# <- string.special # <- string.special
# ^ variable # ^ variable
_.foo.style.fill: "#8800aa"
# <- keyword.return
# ^ variable
# ^ keyword
# ^ property
} }
# <- punctuation.bracket # <- punctuation.bracket

Binary file not shown.