chore: fix package.json and regenerate
This commit is contained in:
parent
9e59b9bbf8
commit
10c6c7a69d
110
Makefile
Normal file
110
Makefile
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
VERSION := 0.0.1
|
||||||
|
|
||||||
|
LANGUAGE_NAME := tree-sitter-yaml
|
||||||
|
|
||||||
|
# repository
|
||||||
|
SRC_DIR := src
|
||||||
|
|
||||||
|
PARSER_REPO_URL := $(shell git -C $(SRC_DIR) remote get-url origin 2>/dev/null)
|
||||||
|
|
||||||
|
ifeq ($(PARSER_URL),)
|
||||||
|
PARSER_URL := $(subst .git,,$(PARSER_REPO_URL))
|
||||||
|
ifeq ($(shell echo $(PARSER_URL) | grep '^[a-z][-+.0-9a-z]*://'),)
|
||||||
|
PARSER_URL := $(subst :,/,$(PARSER_URL))
|
||||||
|
PARSER_URL := $(subst git@,https://,$(PARSER_URL))
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
TS ?= tree-sitter
|
||||||
|
|
||||||
|
# ABI versioning
|
||||||
|
SONAME_MAJOR := $(word 1,$(subst ., ,$(VERSION)))
|
||||||
|
SONAME_MINOR := $(word 2,$(subst ., ,$(VERSION)))
|
||||||
|
|
||||||
|
# install directory layout
|
||||||
|
PREFIX ?= /usr/local
|
||||||
|
INCLUDEDIR ?= $(PREFIX)/include
|
||||||
|
LIBDIR ?= $(PREFIX)/lib
|
||||||
|
PCLIBDIR ?= $(LIBDIR)/pkgconfig
|
||||||
|
|
||||||
|
# object files
|
||||||
|
OBJS := $(patsubst %.c,%.o,$(wildcard $(SRC_DIR)/*.c))
|
||||||
|
|
||||||
|
# flags
|
||||||
|
ARFLAGS := rcs
|
||||||
|
override CFLAGS += -I$(SRC_DIR) -std=c11 -fPIC
|
||||||
|
|
||||||
|
# OS-specific bits
|
||||||
|
ifeq ($(OS),Windows_NT)
|
||||||
|
$(error "Windows is not supported")
|
||||||
|
else ifeq ($(shell uname),Darwin)
|
||||||
|
SOEXT = dylib
|
||||||
|
SOEXTVER_MAJOR = $(SONAME_MAJOR).dylib
|
||||||
|
SOEXTVER = $(SONAME_MAJOR).$(SONAME_MINOR).dylib
|
||||||
|
LINKSHARED := $(LINKSHARED)-dynamiclib -Wl,
|
||||||
|
ifneq ($(ADDITIONAL_LIBS),)
|
||||||
|
LINKSHARED := $(LINKSHARED)$(ADDITIONAL_LIBS),
|
||||||
|
endif
|
||||||
|
LINKSHARED := $(LINKSHARED)-install_name,$(LIBDIR)/lib$(LANGUAGE_NAME).$(SONAME_MAJOR).dylib,-rpath,@executable_path/../Frameworks
|
||||||
|
else
|
||||||
|
SOEXT = so
|
||||||
|
SOEXTVER_MAJOR = so.$(SONAME_MAJOR)
|
||||||
|
SOEXTVER = so.$(SONAME_MAJOR).$(SONAME_MINOR)
|
||||||
|
LINKSHARED := $(LINKSHARED)-shared -Wl,
|
||||||
|
ifneq ($(ADDITIONAL_LIBS),)
|
||||||
|
LINKSHARED := $(LINKSHARED)$(ADDITIONAL_LIBS)
|
||||||
|
endif
|
||||||
|
LINKSHARED := $(LINKSHARED)-soname,lib$(LANGUAGE_NAME).so.$(SONAME_MAJOR)
|
||||||
|
endif
|
||||||
|
ifneq ($(filter $(shell uname),FreeBSD NetBSD DragonFly),)
|
||||||
|
PCLIBDIR := $(PREFIX)/libdata/pkgconfig
|
||||||
|
endif
|
||||||
|
|
||||||
|
all: lib$(LANGUAGE_NAME).a lib$(LANGUAGE_NAME).$(SOEXT) $(LANGUAGE_NAME).pc
|
||||||
|
|
||||||
|
lib$(LANGUAGE_NAME).a: $(OBJS)
|
||||||
|
$(AR) $(ARFLAGS) $@ $^
|
||||||
|
|
||||||
|
lib$(LANGUAGE_NAME).$(SOEXT): $(OBJS)
|
||||||
|
$(CC) $(LDFLAGS) $(LINKSHARED) $^ $(LDLIBS) -o $@
|
||||||
|
ifneq ($(STRIP),)
|
||||||
|
$(STRIP) $@
|
||||||
|
endif
|
||||||
|
|
||||||
|
$(LANGUAGE_NAME).pc: bindings/c/$(LANGUAGE_NAME).pc.in
|
||||||
|
sed -e 's|@URL@|$(PARSER_URL)|' \
|
||||||
|
-e 's|@VERSION@|$(VERSION)|' \
|
||||||
|
-e 's|@LIBDIR@|$(LIBDIR)|' \
|
||||||
|
-e 's|@INCLUDEDIR@|$(INCLUDEDIR)|' \
|
||||||
|
-e 's|@REQUIRES@|$(REQUIRES)|' \
|
||||||
|
-e 's|@ADDITIONAL_LIBS@|$(ADDITIONAL_LIBS)|' \
|
||||||
|
-e 's|=$(PREFIX)|=$${prefix}|' \
|
||||||
|
-e 's|@PREFIX@|$(PREFIX)|' $< > $@
|
||||||
|
|
||||||
|
$(SRC_DIR)/parser.c: grammar.js
|
||||||
|
$(TS) generate --no-bindings
|
||||||
|
|
||||||
|
install: all
|
||||||
|
install -d '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter '$(DESTDIR)$(PCLIBDIR)' '$(DESTDIR)$(LIBDIR)'
|
||||||
|
install -m644 bindings/c/$(LANGUAGE_NAME).h '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/$(LANGUAGE_NAME).h
|
||||||
|
install -m644 $(LANGUAGE_NAME).pc '$(DESTDIR)$(PCLIBDIR)'/$(LANGUAGE_NAME).pc
|
||||||
|
install -m644 lib$(LANGUAGE_NAME).a '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).a
|
||||||
|
install -m755 lib$(LANGUAGE_NAME).$(SOEXT) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER)
|
||||||
|
ln -sf lib$(LANGUAGE_NAME).$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER_MAJOR)
|
||||||
|
ln -sf lib$(LANGUAGE_NAME).$(SOEXTVER_MAJOR) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXT)
|
||||||
|
|
||||||
|
uninstall:
|
||||||
|
$(RM) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).a \
|
||||||
|
'$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER) \
|
||||||
|
'$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER_MAJOR) \
|
||||||
|
'$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXT) \
|
||||||
|
'$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/$(LANGUAGE_NAME).h \
|
||||||
|
'$(DESTDIR)$(PCLIBDIR)'/$(LANGUAGE_NAME).pc
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(RM) $(OBJS) $(LANGUAGE_NAME).pc lib$(LANGUAGE_NAME).a lib$(LANGUAGE_NAME).$(SOEXT)
|
||||||
|
|
||||||
|
test:
|
||||||
|
$(TS) test
|
||||||
|
|
||||||
|
.PHONY: all install uninstall clean test
|
48
Package.swift
Normal file
48
Package.swift
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
// swift-tools-version:5.3
|
||||||
|
import PackageDescription
|
||||||
|
|
||||||
|
let package = Package(
|
||||||
|
name: "TreeSitterYaml",
|
||||||
|
platforms: [.macOS(.v10_13), .iOS(.v11)],
|
||||||
|
products: [
|
||||||
|
.library(name: "TreeSitterYaml", targets: ["TreeSitterYaml"]),
|
||||||
|
],
|
||||||
|
dependencies: [],
|
||||||
|
targets: [
|
||||||
|
.target(name: "TreeSitterYaml",
|
||||||
|
path: ".",
|
||||||
|
exclude: [
|
||||||
|
"Cargo.toml",
|
||||||
|
"Makefile",
|
||||||
|
"binding.gyp",
|
||||||
|
"bindings/c",
|
||||||
|
"bindings/go",
|
||||||
|
"bindings/node",
|
||||||
|
"bindings/python",
|
||||||
|
"bindings/rust",
|
||||||
|
"prebuilds",
|
||||||
|
"grammar.js",
|
||||||
|
"package.json",
|
||||||
|
"package-lock.json",
|
||||||
|
"pyproject.toml",
|
||||||
|
"setup.py",
|
||||||
|
"test",
|
||||||
|
"examples",
|
||||||
|
".editorconfig",
|
||||||
|
".github",
|
||||||
|
".gitignore",
|
||||||
|
".gitattributes",
|
||||||
|
".gitmodules",
|
||||||
|
],
|
||||||
|
sources: [
|
||||||
|
"src/parser.c",
|
||||||
|
// NOTE: if your language has an external scanner, add it here.
|
||||||
|
],
|
||||||
|
resources: [
|
||||||
|
.copy("queries")
|
||||||
|
],
|
||||||
|
publicHeadersPath: "bindings/swift",
|
||||||
|
cSettings: [.headerSearchPath("src")])
|
||||||
|
],
|
||||||
|
cLanguageStandard: .c11
|
||||||
|
)
|
12
binding.gyp
12
binding.gyp
|
@ -2,18 +2,20 @@
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"target_name": "tree_sitter_yaml_binding",
|
"target_name": "tree_sitter_yaml_binding",
|
||||||
|
"dependencies": [
|
||||||
|
"<!(node -p \"require('node-addon-api').targets\"):node_addon_api_except",
|
||||||
|
],
|
||||||
"include_dirs": [
|
"include_dirs": [
|
||||||
"<!(node -e \"require('nan')\")",
|
"src",
|
||||||
"src"
|
|
||||||
],
|
],
|
||||||
"sources": [
|
"sources": [
|
||||||
"bindings/node/binding.cc",
|
"bindings/node/binding.cc",
|
||||||
"src/parser.c",
|
"src/parser.c",
|
||||||
"src/scanner.cc",
|
# NOTE: if your language has an external scanner, add it here.
|
||||||
],
|
],
|
||||||
"cflags_c": [
|
"cflags_c": [
|
||||||
"-std=c99",
|
"-std=c11",
|
||||||
]
|
],
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
16
bindings/c/tree-sitter-yaml.h
Normal file
16
bindings/c/tree-sitter-yaml.h
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef TREE_SITTER_YAML_H_
|
||||||
|
#define TREE_SITTER_YAML_H_
|
||||||
|
|
||||||
|
typedef struct TSLanguage TSLanguage;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const TSLanguage *tree_sitter_yaml(void);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // TREE_SITTER_YAML_H_
|
11
bindings/c/tree-sitter-yaml.pc.in
Normal file
11
bindings/c/tree-sitter-yaml.pc.in
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
prefix=@PREFIX@
|
||||||
|
libdir=@LIBDIR@
|
||||||
|
includedir=@INCLUDEDIR@
|
||||||
|
|
||||||
|
Name: tree-sitter-yaml
|
||||||
|
Description: Yaml grammar for tree-sitter
|
||||||
|
URL: @URL@
|
||||||
|
Version: @VERSION@
|
||||||
|
Requires: @REQUIRES@
|
||||||
|
Libs: -L${libdir} @ADDITIONAL_LIBS@ -ltree-sitter-yaml
|
||||||
|
Cflags: -I${includedir}
|
13
bindings/go/binding.go
Normal file
13
bindings/go/binding.go
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
package tree_sitter_yaml
|
||||||
|
|
||||||
|
// #cgo CFLAGS: -std=c11 -fPIC
|
||||||
|
// #include "../../src/parser.c"
|
||||||
|
// // NOTE: if your language has an external scanner, add it here.
|
||||||
|
import "C"
|
||||||
|
|
||||||
|
import "unsafe"
|
||||||
|
|
||||||
|
// Get the tree-sitter Language for this grammar.
|
||||||
|
func Language() unsafe.Pointer {
|
||||||
|
return unsafe.Pointer(C.tree_sitter_yaml())
|
||||||
|
}
|
15
bindings/go/binding_test.go
Normal file
15
bindings/go/binding_test.go
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
package tree_sitter_yaml_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
tree_sitter "github.com/smacker/go-tree-sitter"
|
||||||
|
"github.com/tree-sitter/tree-sitter-yaml"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestCanLoadGrammar(t *testing.T) {
|
||||||
|
language := tree_sitter.NewLanguage(tree_sitter_yaml.Language())
|
||||||
|
if language == nil {
|
||||||
|
t.Errorf("Error loading Yaml grammar")
|
||||||
|
}
|
||||||
|
}
|
5
bindings/go/go.mod
Normal file
5
bindings/go/go.mod
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
module github.com/tree-sitter/tree-sitter-yaml
|
||||||
|
|
||||||
|
go 1.22
|
||||||
|
|
||||||
|
require github.com/smacker/go-tree-sitter v0.0.0-20230720070738-0d0a9f78d8f8
|
|
@ -1,28 +1,20 @@
|
||||||
#include "tree_sitter/parser.h"
|
#include <napi.h>
|
||||||
#include <node.h>
|
|
||||||
#include "nan.h"
|
|
||||||
|
|
||||||
using namespace v8;
|
typedef struct TSLanguage TSLanguage;
|
||||||
|
|
||||||
extern "C" TSLanguage * tree_sitter_yaml();
|
extern "C" TSLanguage *tree_sitter_yaml();
|
||||||
|
|
||||||
namespace {
|
// "tree-sitter", "language" hashed with BLAKE2
|
||||||
|
const napi_type_tag LANGUAGE_TYPE_TAG = {
|
||||||
|
0x8AF2E5212AD58ABF, 0xD5006CAD83ABBA16
|
||||||
|
};
|
||||||
|
|
||||||
NAN_METHOD(New) {}
|
Napi::Object Init(Napi::Env env, Napi::Object exports) {
|
||||||
|
exports["name"] = Napi::String::New(env, "yaml");
|
||||||
void Init(Local<Object> exports, Local<Object> module) {
|
auto language = Napi::External<TSLanguage>::New(env, tree_sitter_yaml());
|
||||||
Local<FunctionTemplate> tpl = Nan::New<FunctionTemplate>(New);
|
language.TypeTag(&LANGUAGE_TYPE_TAG);
|
||||||
tpl->SetClassName(Nan::New("Language").ToLocalChecked());
|
exports["language"] = language;
|
||||||
tpl->InstanceTemplate()->SetInternalFieldCount(1);
|
return exports;
|
||||||
|
|
||||||
Local<Function> constructor = Nan::GetFunction(tpl).ToLocalChecked();
|
|
||||||
Local<Object> instance = constructor->NewInstance(Nan::GetCurrentContext()).ToLocalChecked();
|
|
||||||
Nan::SetInternalFieldPointer(instance, 0, tree_sitter_yaml());
|
|
||||||
|
|
||||||
Nan::Set(instance, Nan::New("name").ToLocalChecked(), Nan::New("yaml").ToLocalChecked());
|
|
||||||
Nan::Set(module, Nan::New("exports").ToLocalChecked(), instance);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
NODE_MODULE(tree_sitter_yaml_binding, Init)
|
NODE_API_MODULE(tree_sitter_yaml_binding, Init)
|
||||||
|
|
||||||
} // namespace
|
|
||||||
|
|
28
bindings/node/index.d.ts
vendored
Normal file
28
bindings/node/index.d.ts
vendored
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
type BaseNode = {
|
||||||
|
type: string;
|
||||||
|
named: boolean;
|
||||||
|
};
|
||||||
|
|
||||||
|
type ChildNode = {
|
||||||
|
multiple: boolean;
|
||||||
|
required: boolean;
|
||||||
|
types: BaseNode[];
|
||||||
|
};
|
||||||
|
|
||||||
|
type NodeInfo =
|
||||||
|
| (BaseNode & {
|
||||||
|
subtypes: BaseNode[];
|
||||||
|
})
|
||||||
|
| (BaseNode & {
|
||||||
|
fields: { [name: string]: ChildNode };
|
||||||
|
children: ChildNode[];
|
||||||
|
});
|
||||||
|
|
||||||
|
type Language = {
|
||||||
|
name: string;
|
||||||
|
language: unknown;
|
||||||
|
nodeTypeInfo: NodeInfo[];
|
||||||
|
};
|
||||||
|
|
||||||
|
declare const language: Language;
|
||||||
|
export = language;
|
|
@ -1,18 +1,6 @@
|
||||||
try {
|
const root = require("path").join(__dirname, "..", "..");
|
||||||
module.exports = require("../../build/Release/tree_sitter_yaml_binding");
|
|
||||||
} catch (error1) {
|
module.exports = require("node-gyp-build")(root);
|
||||||
if (error1.code !== 'MODULE_NOT_FOUND') {
|
|
||||||
throw error1;
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
module.exports = require("../../build/Debug/tree_sitter_yaml_binding");
|
|
||||||
} catch (error2) {
|
|
||||||
if (error2.code !== 'MODULE_NOT_FOUND') {
|
|
||||||
throw error2;
|
|
||||||
}
|
|
||||||
throw error1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
module.exports.nodeTypeInfo = require("../../src/node-types.json");
|
module.exports.nodeTypeInfo = require("../../src/node-types.json");
|
||||||
|
|
5
bindings/python/tree_sitter_yaml/__init__.py
Normal file
5
bindings/python/tree_sitter_yaml/__init__.py
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
"Yaml grammar for tree-sitter"
|
||||||
|
|
||||||
|
from ._binding import language
|
||||||
|
|
||||||
|
__all__ = ["language"]
|
1
bindings/python/tree_sitter_yaml/__init__.pyi
Normal file
1
bindings/python/tree_sitter_yaml/__init__.pyi
Normal file
|
@ -0,0 +1 @@
|
||||||
|
def language() -> int: ...
|
27
bindings/python/tree_sitter_yaml/binding.c
Normal file
27
bindings/python/tree_sitter_yaml/binding.c
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
#include <Python.h>
|
||||||
|
|
||||||
|
typedef struct TSLanguage TSLanguage;
|
||||||
|
|
||||||
|
TSLanguage *tree_sitter_yaml(void);
|
||||||
|
|
||||||
|
static PyObject* _binding_language(PyObject *self, PyObject *args) {
|
||||||
|
return PyLong_FromVoidPtr(tree_sitter_yaml());
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyMethodDef methods[] = {
|
||||||
|
{"language", _binding_language, METH_NOARGS,
|
||||||
|
"Get the tree-sitter language for this grammar."},
|
||||||
|
{NULL, NULL, 0, NULL}
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct PyModuleDef module = {
|
||||||
|
.m_base = PyModuleDef_HEAD_INIT,
|
||||||
|
.m_name = "_binding",
|
||||||
|
.m_doc = NULL,
|
||||||
|
.m_size = -1,
|
||||||
|
.m_methods = methods
|
||||||
|
};
|
||||||
|
|
||||||
|
PyMODINIT_FUNC PyInit__binding(void) {
|
||||||
|
return PyModule_Create(&module);
|
||||||
|
}
|
0
bindings/python/tree_sitter_yaml/py.typed
Normal file
0
bindings/python/tree_sitter_yaml/py.typed
Normal file
16
bindings/swift/TreeSitterYaml/yaml.h
Normal file
16
bindings/swift/TreeSitterYaml/yaml.h
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef TREE_SITTER_YAML_H_
|
||||||
|
#define TREE_SITTER_YAML_H_
|
||||||
|
|
||||||
|
typedef struct TSLanguage TSLanguage;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const TSLanguage *tree_sitter_yaml(void);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // TREE_SITTER_YAML_H_
|
24
package.json
24
package.json
|
@ -7,6 +7,7 @@
|
||||||
"lexer"
|
"lexer"
|
||||||
],
|
],
|
||||||
"main": "bindings/node",
|
"main": "bindings/node",
|
||||||
|
"types": "bindings/node",
|
||||||
"repository": "https://github.com/ikatyang/tree-sitter-yaml",
|
"repository": "https://github.com/ikatyang/tree-sitter-yaml",
|
||||||
"homepage": "https://github.com/ikatyang/tree-sitter-yaml#readme",
|
"homepage": "https://github.com/ikatyang/tree-sitter-yaml#readme",
|
||||||
"author": {
|
"author": {
|
||||||
|
@ -19,7 +20,9 @@
|
||||||
"test": "yarn tree-sitter test",
|
"test": "yarn tree-sitter test",
|
||||||
"prepack": "bash ./scripts/update-schema.sh && yarn tree-sitter generate",
|
"prepack": "bash ./scripts/update-schema.sh && yarn tree-sitter generate",
|
||||||
"release": "standard-version --commit-all",
|
"release": "standard-version --commit-all",
|
||||||
"tree-sitter": "./tree-sitter/target/release/tree-sitter"
|
"tree-sitter": "./tree-sitter/target/release/tree-sitter",
|
||||||
|
"install": "node-gyp-build",
|
||||||
|
"prebuildify": "prebuildify --napi --strip"
|
||||||
},
|
},
|
||||||
"standard-version": {
|
"standard-version": {
|
||||||
"preset": "angular",
|
"preset": "angular",
|
||||||
|
@ -28,17 +31,32 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"nan": "^2.14.0"
|
"node-addon-api": "^7.1.0",
|
||||||
|
"node-gyp-build": "^4.8.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"tree-sitter": "^0.21.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"tree_sitter": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"get-stdin": "^8.0.0",
|
"get-stdin": "^8.0.0",
|
||||||
"natural-orderby": "2.0.3",
|
"natural-orderby": "2.0.3",
|
||||||
"standard-version": "7.0.0"
|
"standard-version": "7.0.0",
|
||||||
|
"prebuildify": "^6.0.0"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"/src/",
|
"/src/",
|
||||||
"/bindings/node/",
|
"/bindings/node/",
|
||||||
"/binding.gyp",
|
"/binding.gyp",
|
||||||
"/grammar.js"
|
"/grammar.js"
|
||||||
|
],
|
||||||
|
"tree-sitter": [
|
||||||
|
{
|
||||||
|
"scope": "text.yaml"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
29
pyproject.toml
Normal file
29
pyproject.toml
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
[build-system]
|
||||||
|
requires = ["setuptools>=42", "wheel"]
|
||||||
|
build-backend = "setuptools.build_meta"
|
||||||
|
|
||||||
|
[project]
|
||||||
|
name = "tree-sitter-yaml"
|
||||||
|
description = "Yaml grammar for tree-sitter"
|
||||||
|
version = "0.0.1"
|
||||||
|
keywords = ["incremental", "parsing", "tree-sitter", "yaml"]
|
||||||
|
classifiers = [
|
||||||
|
"Intended Audience :: Developers",
|
||||||
|
"License :: OSI Approved :: MIT License",
|
||||||
|
"Topic :: Software Development :: Compilers",
|
||||||
|
"Topic :: Text Processing :: Linguistic",
|
||||||
|
"Typing :: Typed"
|
||||||
|
]
|
||||||
|
requires-python = ">=3.8"
|
||||||
|
license.text = "MIT"
|
||||||
|
readme = "README.md"
|
||||||
|
|
||||||
|
[project.urls]
|
||||||
|
Homepage = "https://github.com/tree-sitter/tree-sitter-yaml"
|
||||||
|
|
||||||
|
[project.optional-dependencies]
|
||||||
|
core = ["tree-sitter~=0.21"]
|
||||||
|
|
||||||
|
[tool.cibuildwheel]
|
||||||
|
build = "cp38-*"
|
||||||
|
build-frontend = "build"
|
57
setup.py
Normal file
57
setup.py
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
from os.path import isdir, join
|
||||||
|
from platform import system
|
||||||
|
|
||||||
|
from setuptools import Extension, find_packages, setup
|
||||||
|
from setuptools.command.build import build
|
||||||
|
from wheel.bdist_wheel import bdist_wheel
|
||||||
|
|
||||||
|
|
||||||
|
class Build(build):
|
||||||
|
def run(self):
|
||||||
|
if isdir("queries"):
|
||||||
|
dest = join(self.build_lib, "tree_sitter_yaml", "queries")
|
||||||
|
self.copy_tree("queries", dest)
|
||||||
|
super().run()
|
||||||
|
|
||||||
|
|
||||||
|
class BdistWheel(bdist_wheel):
|
||||||
|
def get_tag(self):
|
||||||
|
python, abi, platform = super().get_tag()
|
||||||
|
if python.startswith("cp"):
|
||||||
|
python, abi = "cp38", "abi3"
|
||||||
|
return python, abi, platform
|
||||||
|
|
||||||
|
|
||||||
|
setup(
|
||||||
|
packages=find_packages("bindings/python"),
|
||||||
|
package_dir={"": "bindings/python"},
|
||||||
|
package_data={
|
||||||
|
"tree_sitter_yaml": ["*.pyi", "py.typed"],
|
||||||
|
"tree_sitter_yaml.queries": ["*.scm"],
|
||||||
|
},
|
||||||
|
ext_package="tree_sitter_yaml",
|
||||||
|
ext_modules=[
|
||||||
|
Extension(
|
||||||
|
name="_binding",
|
||||||
|
sources=[
|
||||||
|
"bindings/python/tree_sitter_yaml/binding.c",
|
||||||
|
"src/parser.c",
|
||||||
|
# NOTE: if your language uses an external scanner, add it here.
|
||||||
|
],
|
||||||
|
extra_compile_args=(
|
||||||
|
["-std=c11"] if system() != 'Windows' else []
|
||||||
|
),
|
||||||
|
define_macros=[
|
||||||
|
("Py_LIMITED_API", "0x03080000"),
|
||||||
|
("PY_SSIZE_T_CLEAN", None)
|
||||||
|
],
|
||||||
|
include_dirs=["src"],
|
||||||
|
py_limited_api=True,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
cmdclass={
|
||||||
|
"build": Build,
|
||||||
|
"bdist_wheel": BdistWheel
|
||||||
|
},
|
||||||
|
zip_safe=False
|
||||||
|
)
|
4
src/parser.c
generated
4
src/parser.c
generated
|
@ -40285,7 +40285,9 @@ bool tree_sitter_yaml_external_scanner_scan(void *, TSLexer *, const bool *);
|
||||||
unsigned tree_sitter_yaml_external_scanner_serialize(void *, char *);
|
unsigned tree_sitter_yaml_external_scanner_serialize(void *, char *);
|
||||||
void tree_sitter_yaml_external_scanner_deserialize(void *, const char *, unsigned);
|
void tree_sitter_yaml_external_scanner_deserialize(void *, const char *, unsigned);
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef TREE_SITTER_HIDE_SYMBOLS
|
||||||
|
#define TS_PUBLIC
|
||||||
|
#elif defined(_WIN32)
|
||||||
#define TS_PUBLIC __declspec(dllexport)
|
#define TS_PUBLIC __declspec(dllexport)
|
||||||
#else
|
#else
|
||||||
#define TS_PUBLIC __attribute__((visibility("default")))
|
#define TS_PUBLIC __attribute__((visibility("default")))
|
||||||
|
|
Loading…
Reference in a new issue