tree-sitter-muttrc 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.gyp +20 -15
- package/bindings/node/binding.cc +14 -22
- package/bindings/node/index.d.ts +28 -0
- package/bindings/node/index.js +3 -15
- package/grammar.js +2 -4
- package/package.json +35 -10
- package/src/grammar.json +16 -17
- package/src/node-types.json +0 -4
- package/src/parser.c +9402 -10224
- package/src/tree_sitter/alloc.h +54 -0
- package/src/tree_sitter/array.h +290 -0
- package/src/tree_sitter/parser.h +11 -5
- package/.cmake-format.yaml +0 -2
- package/.cmakelintrc +0 -1
- package/.github/FUNDING.yml +0 -6
- package/.github/workflows/main.yml +0 -152
- package/.gitlint +0 -5
- package/.pre-commit-config.yaml +0 -112
- package/.yamllint.yaml +0 -8
- package/CMakeLists.txt +0 -43
- package/Cargo.toml +0 -26
- package/__init__.py.in +0 -33
- package/bindings/python/tree_sitter_muttrc/__main__.py +0 -60
- package/bindings/python/tree_sitter_muttrc/py.typed +0 -0
- package/bindings/rust/build.rs +0 -40
- package/bindings/rust/lib.rs +0 -52
- package/pyproject.toml +0 -123
- package/queries/highlights.scm +0 -53
- package/queries/injections.scm +0 -8
- package/requirements/colorize.txt +0 -3
- package/requirements/dev.txt +0 -4
- package/requirements.txt +0 -3
- package/scripts/build.sh +0 -8
- package/templates/class.txt +0 -2
- package/templates/def.txt +0 -12
- package/templates/noarg.txt +0 -1
- package/test/corpus/example.txt +0 -82
- package/tests/neomuttrc +0 -18
- package/tests/test___init__.py +0 -22
package/binding.gyp
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
{
|
|
2
|
+
"targets": [
|
|
3
|
+
{
|
|
4
|
+
"target_name": "tree_sitter_muttrc_binding",
|
|
5
|
+
"dependencies": [
|
|
6
|
+
"<!(node -p \"require('node-addon-api').targets\"):node_addon_api_except",
|
|
7
|
+
],
|
|
8
|
+
"include_dirs": [
|
|
9
|
+
"src",
|
|
10
|
+
],
|
|
11
|
+
"sources": [
|
|
12
|
+
"bindings/node/binding.cc",
|
|
13
|
+
"src/parser.c",
|
|
14
|
+
# NOTE: if your language has an external scanner, add it here.
|
|
15
|
+
],
|
|
16
|
+
"cflags_c": [
|
|
17
|
+
"-std=c11",
|
|
18
|
+
],
|
|
19
|
+
}
|
|
20
|
+
]
|
|
16
21
|
}
|
package/bindings/node/binding.cc
CHANGED
|
@@ -1,28 +1,20 @@
|
|
|
1
|
-
#include
|
|
2
|
-
#include <node.h>
|
|
3
|
-
#include "nan.h"
|
|
1
|
+
#include <napi.h>
|
|
4
2
|
|
|
5
|
-
|
|
3
|
+
typedef struct TSLanguage TSLanguage;
|
|
6
4
|
|
|
7
|
-
extern "C" TSLanguage *
|
|
5
|
+
extern "C" TSLanguage *tree_sitter_muttrc();
|
|
8
6
|
|
|
9
|
-
|
|
7
|
+
// "tree-sitter", "language" hashed with BLAKE2
|
|
8
|
+
const napi_type_tag LANGUAGE_TYPE_TAG = {
|
|
9
|
+
0x8AF2E5212AD58ABF, 0xD5006CAD83ABBA16
|
|
10
|
+
};
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
Local<Function> constructor = Nan::GetFunction(tpl).ToLocalChecked();
|
|
19
|
-
Local<Object> instance = constructor->NewInstance(Nan::GetCurrentContext()).ToLocalChecked();
|
|
20
|
-
Nan::SetInternalFieldPointer(instance, 0, tree_sitter_muttrc());
|
|
21
|
-
|
|
22
|
-
Nan::Set(instance, Nan::New("name").ToLocalChecked(), Nan::New("muttrc").ToLocalChecked());
|
|
23
|
-
Nan::Set(module, Nan::New("exports").ToLocalChecked(), instance);
|
|
12
|
+
Napi::Object Init(Napi::Env env, Napi::Object exports) {
|
|
13
|
+
exports["name"] = Napi::String::New(env, "muttrc");
|
|
14
|
+
auto language = Napi::External<TSLanguage>::New(env, tree_sitter_muttrc());
|
|
15
|
+
language.TypeTag(&LANGUAGE_TYPE_TAG);
|
|
16
|
+
exports["language"] = language;
|
|
17
|
+
return exports;
|
|
24
18
|
}
|
|
25
19
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
} // namespace
|
|
20
|
+
NODE_API_MODULE(tree_sitter_muttrc_binding, Init)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
type BaseNode = {
|
|
2
|
+
type: string;
|
|
3
|
+
named: boolean;
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
type ChildNode = {
|
|
7
|
+
multiple: boolean;
|
|
8
|
+
required: boolean;
|
|
9
|
+
types: BaseNode[];
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
type NodeInfo =
|
|
13
|
+
| (BaseNode & {
|
|
14
|
+
subtypes: BaseNode[];
|
|
15
|
+
})
|
|
16
|
+
| (BaseNode & {
|
|
17
|
+
fields: { [name: string]: ChildNode };
|
|
18
|
+
children: ChildNode[];
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
type Language = {
|
|
22
|
+
name: string;
|
|
23
|
+
language: unknown;
|
|
24
|
+
nodeTypeInfo: NodeInfo[];
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
declare const language: Language;
|
|
28
|
+
export = language;
|
package/bindings/node/index.js
CHANGED
|
@@ -1,18 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
if (error1.code !== 'MODULE_NOT_FOUND') {
|
|
5
|
-
throw error1;
|
|
6
|
-
}
|
|
7
|
-
try {
|
|
8
|
-
module.exports = require("../../build/Debug/tree_sitter_muttrc_binding");
|
|
9
|
-
} catch (error2) {
|
|
10
|
-
if (error2.code !== 'MODULE_NOT_FOUND') {
|
|
11
|
-
throw error2;
|
|
12
|
-
}
|
|
13
|
-
throw error1
|
|
14
|
-
}
|
|
15
|
-
}
|
|
1
|
+
const root = require("path").join(__dirname, "..", "..");
|
|
2
|
+
|
|
3
|
+
module.exports = require("node-gyp-build")(root);
|
|
16
4
|
|
|
17
5
|
try {
|
|
18
6
|
module.exports.nodeTypeInfo = require("../../src/node-types.json");
|
package/grammar.js
CHANGED
|
@@ -258,7 +258,7 @@ module.exports = grammar({
|
|
|
258
258
|
optional($._attributes),
|
|
259
259
|
$.foreground,
|
|
260
260
|
$.background,
|
|
261
|
-
$._regex
|
|
261
|
+
optional($._regex)
|
|
262
262
|
),
|
|
263
263
|
seq(
|
|
264
264
|
"compose",
|
|
@@ -467,7 +467,6 @@ module.exports = grammar({
|
|
|
467
467
|
quoted_string('"', $.shell),
|
|
468
468
|
quoted_string("`", $.shell),
|
|
469
469
|
alias($._word, $.shell),
|
|
470
|
-
"\n"
|
|
471
470
|
),
|
|
472
471
|
_regex: ($) =>
|
|
473
472
|
choice(
|
|
@@ -475,7 +474,6 @@ module.exports = grammar({
|
|
|
475
474
|
quoted_string('"', $.regex),
|
|
476
475
|
quoted_string("`", $.shell),
|
|
477
476
|
alias($._word, $.regex),
|
|
478
|
-
"\n"
|
|
479
477
|
),
|
|
480
478
|
_word: (_) => /(\\\r?\n|[^"'`\s])(\S|\\\s)*/,
|
|
481
479
|
|
|
@@ -508,7 +506,7 @@ function quoted_string(char, name) {
|
|
|
508
506
|
return seq(
|
|
509
507
|
char,
|
|
510
508
|
alias(
|
|
511
|
-
field("content", new RegExp("([^" + char + "]|\\\\" + char + ")
|
|
509
|
+
field("content", new RegExp("([^" + char + "]|\\\\" + char + ")*")),
|
|
512
510
|
name
|
|
513
511
|
),
|
|
514
512
|
char
|
package/package.json
CHANGED
|
@@ -1,28 +1,53 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tree-sitter-muttrc",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.0.5",
|
|
4
|
+
"description": "Muttrc grammar for tree-sitter",
|
|
5
|
+
"repository": "github:tree-sitter/tree-sitter-muttrc",
|
|
6
|
+
"license": "MIT",
|
|
5
7
|
"main": "bindings/node",
|
|
8
|
+
"types": "bindings/node",
|
|
6
9
|
"keywords": [
|
|
10
|
+
"incremental",
|
|
7
11
|
"parsing",
|
|
8
|
-
"
|
|
12
|
+
"tree-sitter",
|
|
13
|
+
"muttrc"
|
|
14
|
+
],
|
|
15
|
+
"files": [
|
|
16
|
+
"grammar.js",
|
|
17
|
+
"binding.gyp",
|
|
18
|
+
"prebuilds/**",
|
|
19
|
+
"bindings/node/*",
|
|
20
|
+
"queries/*",
|
|
21
|
+
"src/**"
|
|
9
22
|
],
|
|
10
23
|
"dependencies": {
|
|
11
|
-
"
|
|
24
|
+
"node-addon-api": "^7.1.0",
|
|
25
|
+
"node-gyp-build": "^4.8.0"
|
|
12
26
|
},
|
|
13
27
|
"devDependencies": {
|
|
14
|
-
"
|
|
28
|
+
"prebuildify": "^6.0.0",
|
|
29
|
+
"tree-sitter-cli": "^0.22.2"
|
|
30
|
+
},
|
|
31
|
+
"peerDependencies": {
|
|
32
|
+
"tree-sitter": "^0.21.0"
|
|
33
|
+
},
|
|
34
|
+
"peerDependenciesMeta": {
|
|
35
|
+
"tree-sitter": {
|
|
36
|
+
"optional": true
|
|
37
|
+
}
|
|
15
38
|
},
|
|
16
39
|
"scripts": {
|
|
17
|
-
"
|
|
40
|
+
"install": "node-gyp-build",
|
|
41
|
+
"prebuildify": "prebuildify --napi --strip",
|
|
42
|
+
"build": "tree-sitter generate --no-bindings",
|
|
43
|
+
"build-wasm": "tree-sitter build --wasm",
|
|
44
|
+
"test": "tree-sitter test",
|
|
45
|
+
"parse": "tree-sitter parse"
|
|
18
46
|
},
|
|
19
47
|
"tree-sitter": [
|
|
20
48
|
{
|
|
21
49
|
"scope": "source.muttrc",
|
|
22
|
-
"
|
|
23
|
-
"muttrc",
|
|
24
|
-
"neomuttrc"
|
|
25
|
-
]
|
|
50
|
+
"injection-regex": "^muttrc$"
|
|
26
51
|
}
|
|
27
52
|
]
|
|
28
53
|
}
|
package/src/grammar.json
CHANGED
|
@@ -1498,8 +1498,16 @@
|
|
|
1498
1498
|
"name": "background"
|
|
1499
1499
|
},
|
|
1500
1500
|
{
|
|
1501
|
-
"type": "
|
|
1502
|
-
"
|
|
1501
|
+
"type": "CHOICE",
|
|
1502
|
+
"members": [
|
|
1503
|
+
{
|
|
1504
|
+
"type": "SYMBOL",
|
|
1505
|
+
"name": "_regex"
|
|
1506
|
+
},
|
|
1507
|
+
{
|
|
1508
|
+
"type": "BLANK"
|
|
1509
|
+
}
|
|
1510
|
+
]
|
|
1503
1511
|
}
|
|
1504
1512
|
]
|
|
1505
1513
|
},
|
|
@@ -3719,7 +3727,7 @@
|
|
|
3719
3727
|
"name": "content",
|
|
3720
3728
|
"content": {
|
|
3721
3729
|
"type": "PATTERN",
|
|
3722
|
-
"value": "([^']|\\\\')
|
|
3730
|
+
"value": "([^']|\\\\')*"
|
|
3723
3731
|
}
|
|
3724
3732
|
},
|
|
3725
3733
|
"named": true,
|
|
@@ -3745,7 +3753,7 @@
|
|
|
3745
3753
|
"name": "content",
|
|
3746
3754
|
"content": {
|
|
3747
3755
|
"type": "PATTERN",
|
|
3748
|
-
"value": "([^\"]|\\\\\")
|
|
3756
|
+
"value": "([^\"]|\\\\\")*"
|
|
3749
3757
|
}
|
|
3750
3758
|
},
|
|
3751
3759
|
"named": true,
|
|
@@ -3771,7 +3779,7 @@
|
|
|
3771
3779
|
"name": "content",
|
|
3772
3780
|
"content": {
|
|
3773
3781
|
"type": "PATTERN",
|
|
3774
|
-
"value": "([^`]|\\\\`)
|
|
3782
|
+
"value": "([^`]|\\\\`)*"
|
|
3775
3783
|
}
|
|
3776
3784
|
},
|
|
3777
3785
|
"named": true,
|
|
@@ -3791,10 +3799,6 @@
|
|
|
3791
3799
|
},
|
|
3792
3800
|
"named": true,
|
|
3793
3801
|
"value": "shell"
|
|
3794
|
-
},
|
|
3795
|
-
{
|
|
3796
|
-
"type": "STRING",
|
|
3797
|
-
"value": "\n"
|
|
3798
3802
|
}
|
|
3799
3803
|
]
|
|
3800
3804
|
},
|
|
@@ -3815,7 +3819,7 @@
|
|
|
3815
3819
|
"name": "content",
|
|
3816
3820
|
"content": {
|
|
3817
3821
|
"type": "PATTERN",
|
|
3818
|
-
"value": "([^']|\\\\')
|
|
3822
|
+
"value": "([^']|\\\\')*"
|
|
3819
3823
|
}
|
|
3820
3824
|
},
|
|
3821
3825
|
"named": true,
|
|
@@ -3841,7 +3845,7 @@
|
|
|
3841
3845
|
"name": "content",
|
|
3842
3846
|
"content": {
|
|
3843
3847
|
"type": "PATTERN",
|
|
3844
|
-
"value": "([^\"]|\\\\\")
|
|
3848
|
+
"value": "([^\"]|\\\\\")*"
|
|
3845
3849
|
}
|
|
3846
3850
|
},
|
|
3847
3851
|
"named": true,
|
|
@@ -3867,7 +3871,7 @@
|
|
|
3867
3871
|
"name": "content",
|
|
3868
3872
|
"content": {
|
|
3869
3873
|
"type": "PATTERN",
|
|
3870
|
-
"value": "([^`]|\\\\`)
|
|
3874
|
+
"value": "([^`]|\\\\`)*"
|
|
3871
3875
|
}
|
|
3872
3876
|
},
|
|
3873
3877
|
"named": true,
|
|
@@ -3887,10 +3891,6 @@
|
|
|
3887
3891
|
},
|
|
3888
3892
|
"named": true,
|
|
3889
3893
|
"value": "regex"
|
|
3890
|
-
},
|
|
3891
|
-
{
|
|
3892
|
-
"type": "STRING",
|
|
3893
|
-
"value": "\n"
|
|
3894
3894
|
}
|
|
3895
3895
|
]
|
|
3896
3896
|
},
|
|
@@ -3990,4 +3990,3 @@
|
|
|
3990
3990
|
"inline": [],
|
|
3991
3991
|
"supertypes": []
|
|
3992
3992
|
}
|
|
3993
|
-
|