tree-sitter-muttrc 0.0.2 → 0.0.4

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 CHANGED
@@ -1,16 +1,21 @@
1
- { # noqa: B018 # type: ignore
2
- "targets": [
3
- {
4
- "target_name": "tree_sitter_muttrc_binding",
5
- "include_dirs": ["<!(node -e \"require('nan')\")", "src"],
6
- "sources": [
7
- "bindings/node/binding.cc",
8
- "src/parser.c",
9
- # If your language uses an external scanner, add it here.
10
- ],
11
- "cflags_c": [
12
- "-std=c99",
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
  }
@@ -1,28 +1,20 @@
1
- #include "tree_sitter/parser.h"
2
- #include <node.h>
3
- #include "nan.h"
1
+ #include <napi.h>
4
2
 
5
- using namespace v8;
3
+ typedef struct TSLanguage TSLanguage;
6
4
 
7
- extern "C" TSLanguage * tree_sitter_muttrc();
5
+ extern "C" TSLanguage *tree_sitter_muttrc();
8
6
 
9
- namespace {
7
+ // "tree-sitter", "language" hashed with BLAKE2
8
+ const napi_type_tag LANGUAGE_TYPE_TAG = {
9
+ 0x8AF2E5212AD58ABF, 0xD5006CAD83ABBA16
10
+ };
10
11
 
11
- NAN_METHOD(New) {}
12
-
13
- void Init(Local<Object> exports, Local<Object> module) {
14
- Local<FunctionTemplate> tpl = Nan::New<FunctionTemplate>(New);
15
- tpl->SetClassName(Nan::New("Language").ToLocalChecked());
16
- tpl->InstanceTemplate()->SetInternalFieldCount(1);
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
- NODE_MODULE(tree_sitter_muttrc_binding, Init)
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;
@@ -1,18 +1,6 @@
1
- try {
2
- module.exports = require("../../build/Release/tree_sitter_muttrc_binding");
3
- } catch (error1) {
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/package.json CHANGED
@@ -1,28 +1,53 @@
1
1
  {
2
2
  "name": "tree-sitter-muttrc",
3
- "version": "0.0.2",
4
- "description": "muttrc grammar for tree-sitter",
3
+ "version": "0.0.4",
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
- "incremental"
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
- "nan": "^2.12.1"
24
+ "node-addon-api": "^7.1.0",
25
+ "node-gyp-build": "^4.8.0"
12
26
  },
13
27
  "devDependencies": {
14
- "tree-sitter-cli": "^0.20.8"
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
- "test": "tree-sitter test"
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
- "file-types": [
23
- "muttrc",
24
- "neomuttrc"
25
- ]
50
+ "injection-regex": "^muttrc$"
26
51
  }
27
52
  ]
28
53
  }
package/src/grammar.json CHANGED
@@ -3990,4 +3990,3 @@
3990
3990
  "inline": [],
3991
3991
  "supertypes": []
3992
3992
  }
3993
-