From b8423f61241ec5b9fe4b48dd3f7c1905dba2df09 Mon Sep 17 00:00:00 2001 From: Lycs-D <139197676+Lycs-D@users.noreply.github.com> Date: Tue, 9 Jan 2024 19:23:59 +0800 Subject: [PATCH] [tree_sitter_v] update and clean (#6) --- tree_sitter_v/.gitignore | 6 +++ tree_sitter_v/Cargo.toml | 26 ------------- tree_sitter_v/binding.gyp | 19 ---------- tree_sitter_v/bindings.v | 5 ++- tree_sitter_v/bindings/node/binding.cc | 28 -------------- tree_sitter_v/bindings/node/index.js | 19 ---------- tree_sitter_v/bindings/rust/build.rs | 40 -------------------- tree_sitter_v/bindings/rust/lib.rs | 52 -------------------------- tree_sitter_v/bindings/v/bindings.h | 17 ++++++++- tree_sitter_v/bindings/v/bindings.v | 21 ----------- 10 files changed, 24 insertions(+), 209 deletions(-) delete mode 100644 tree_sitter_v/Cargo.toml delete mode 100644 tree_sitter_v/binding.gyp delete mode 100644 tree_sitter_v/bindings/node/binding.cc delete mode 100644 tree_sitter_v/bindings/node/index.js delete mode 100644 tree_sitter_v/bindings/rust/build.rs delete mode 100644 tree_sitter_v/bindings/rust/lib.rs delete mode 100644 tree_sitter_v/bindings/v/bindings.v diff --git a/tree_sitter_v/.gitignore b/tree_sitter_v/.gitignore index 6f79405d..b9073cae 100644 --- a/tree_sitter_v/.gitignore +++ b/tree_sitter_v/.gitignore @@ -16,3 +16,9 @@ bin/ target/ Cargo.lock yarn.lock + +Cargo.toml + +bindings/node/ +bindings/rust/ +binding.gyp diff --git a/tree_sitter_v/Cargo.toml b/tree_sitter_v/Cargo.toml deleted file mode 100644 index ab3176b3..00000000 --- a/tree_sitter_v/Cargo.toml +++ /dev/null @@ -1,26 +0,0 @@ -[package] -name = "tree-sitter-v" -description = "v grammar for the tree-sitter parsing library" -version = "0.0.1" -keywords = ["incremental", "parsing", "v"] -categories = ["parsing", "text-editors"] -repository = "https://github.com/tree-sitter/tree-sitter-javascript" -edition = "2018" -license = "MIT" - -build = "bindings/rust/build.rs" -include = [ - "bindings/rust/*", - "grammar.js", - "queries/*", - "src/*", -] - -[lib] -path = "bindings/rust/lib.rs" - -[dependencies] -tree-sitter = "0.17" - -[build-dependencies] -cc = "1.0" diff --git a/tree_sitter_v/binding.gyp b/tree_sitter_v/binding.gyp deleted file mode 100644 index 0a6103f9..00000000 --- a/tree_sitter_v/binding.gyp +++ /dev/null @@ -1,19 +0,0 @@ -{ - "targets": [ - { - "target_name": "tree_sitter_v_binding", - "include_dirs": [ - " -#include "nan.h" - -using namespace v8; - -extern "C" TSLanguage * tree_sitter_v(); - -namespace { - -NAN_METHOD(New) {} - -void Init(Local exports, Local module) { - Local tpl = Nan::New(New); - tpl->SetClassName(Nan::New("Language").ToLocalChecked()); - tpl->InstanceTemplate()->SetInternalFieldCount(1); - - Local constructor = Nan::GetFunction(tpl).ToLocalChecked(); - Local instance = constructor->NewInstance(Nan::GetCurrentContext()).ToLocalChecked(); - Nan::SetInternalFieldPointer(instance, 0, tree_sitter_v()); - - Nan::Set(instance, Nan::New("name").ToLocalChecked(), Nan::New("v").ToLocalChecked()); - Nan::Set(module, Nan::New("exports").ToLocalChecked(), instance); -} - -NODE_MODULE(tree_sitter_v_binding, Init) - -} // namespace diff --git a/tree_sitter_v/bindings/node/index.js b/tree_sitter_v/bindings/node/index.js deleted file mode 100644 index b30e30a6..00000000 --- a/tree_sitter_v/bindings/node/index.js +++ /dev/null @@ -1,19 +0,0 @@ -try { - module.exports = require("../../build/Release/tree_sitter_v_binding"); -} catch (error1) { - if (error1.code !== 'MODULE_NOT_FOUND') { - throw error1; - } - try { - module.exports = require("../../build/Debug/tree_sitter_v_binding"); - } catch (error2) { - if (error2.code !== 'MODULE_NOT_FOUND') { - throw error2; - } - throw error1 - } -} - -try { - module.exports.nodeTypeInfo = require("../../src/node-types.json"); -} catch (_) {} diff --git a/tree_sitter_v/bindings/rust/build.rs b/tree_sitter_v/bindings/rust/build.rs deleted file mode 100644 index c6061f09..00000000 --- a/tree_sitter_v/bindings/rust/build.rs +++ /dev/null @@ -1,40 +0,0 @@ -fn main() { - let src_dir = std::path::Path::new("src"); - - let mut c_config = cc::Build::new(); - c_config.include(&src_dir); - c_config - .flag_if_supported("-Wno-unused-parameter") - .flag_if_supported("-Wno-unused-but-set-variable") - .flag_if_supported("-Wno-trigraphs"); - let parser_path = src_dir.join("parser.c"); - c_config.file(&parser_path); - - // If your language uses an external scanner written in C, - // then include this block of code: - - /* - let scanner_path = src_dir.join("scanner.c"); - c_config.file(&scanner_path); - println!("cargo:rerun-if-changed={}", scanner_path.to_str().unwrap()); - */ - - c_config.compile("parser"); - println!("cargo:rerun-if-changed={}", parser_path.to_str().unwrap()); - - // If your language uses an external scanner written in C++, - // then include this block of code: - - /* - let mut cpp_config = cc::Build::new(); - cpp_config.cpp(true); - cpp_config.include(&src_dir); - cpp_config - .flag_if_supported("-Wno-unused-parameter") - .flag_if_supported("-Wno-unused-but-set-variable"); - let scanner_path = src_dir.join("scanner.cc"); - cpp_config.file(&scanner_path); - cpp_config.compile("scanner"); - println!("cargo:rerun-if-changed={}", scanner_path.to_str().unwrap()); - */ -} diff --git a/tree_sitter_v/bindings/rust/lib.rs b/tree_sitter_v/bindings/rust/lib.rs deleted file mode 100644 index b78bca92..00000000 --- a/tree_sitter_v/bindings/rust/lib.rs +++ /dev/null @@ -1,52 +0,0 @@ -//! This crate provides v language support for the [tree-sitter][] parsing library. -//! -//! Typically, you will use the [language][language func] function to add this language to a -//! tree-sitter [Parser][], and then use the parser to parse some code: -//! -//! ``` -//! let code = ""; -//! let mut parser = tree_sitter::Parser::new(); -//! parser.set_language(tree_sitter_v::language()).expect("Error loading v grammar"); -//! let tree = parser.parse(code, None).unwrap(); -//! ``` -//! -//! [Language]: https://docs.rs/tree-sitter/*/tree_sitter/struct.Language.html -//! [language func]: fn.language.html -//! [Parser]: https://docs.rs/tree-sitter/*/tree_sitter/struct.Parser.html -//! [tree-sitter]: https://tree-sitter.github.io/ - -use tree_sitter::Language; - -extern "C" { - fn tree_sitter_v() -> Language; -} - -/// Get the tree-sitter [Language][] for this grammar. -/// -/// [Language]: https://docs.rs/tree-sitter/*/tree_sitter/struct.Language.html -pub fn language() -> Language { - unsafe { tree_sitter_v() } -} - -/// The content of the [`node-types.json`][] file for this grammar. -/// -/// [`node-types.json`]: https://tree-sitter.github.io/tree-sitter/using-parsers#static-node-types -pub const NODE_TYPES: &'static str = include_str!("../../src/node-types.json"); - -// Uncomment these to include any queries that this grammar contains - -// pub const HIGHLIGHTS_QUERY: &'static str = include_str!("../../queries/highlights.scm"); -// pub const INJECTIONS_QUERY: &'static str = include_str!("../../queries/injections.scm"); -// pub const LOCALS_QUERY: &'static str = include_str!("../../queries/locals.scm"); -// pub const TAGS_QUERY: &'static str = include_str!("../../queries/tags.scm"); - -#[cfg(test)] -mod tests { - #[test] - fn test_can_load_grammar() { - let mut parser = tree_sitter::Parser::new(); - parser - .set_language(super::language()) - .expect("Error loading v language"); - } -} diff --git a/tree_sitter_v/bindings/v/bindings.h b/tree_sitter_v/bindings/v/bindings.h index 0fd8f9cb..0ff801b5 100644 --- a/tree_sitter_v/bindings/v/bindings.h +++ b/tree_sitter_v/bindings/v/bindings.h @@ -1,3 +1,16 @@ -#include "tree_sitter/parser.h" +#ifndef TREE_SITTER_V_H_ +#define TREE_SITTER_V_H_ -TSLanguage * tree_sitter_v(); +#include + +#ifdef __cplusplus +extern "C" { +#endif + +extern TSLanguage *tree_sitter_v(); + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_V_H_ diff --git a/tree_sitter_v/bindings/v/bindings.v b/tree_sitter_v/bindings/v/bindings.v deleted file mode 100644 index c5a4c09a..00000000 --- a/tree_sitter_v/bindings/v/bindings.v +++ /dev/null @@ -1,21 +0,0 @@ -module v - -import x.json2 -import os -import v_tree_sitter.tree_sitter - -#flag -I @VMODROOT/src -#flag @VMODROOT/src/parser.o - -#include "@VMODROOT/bindings/v/bindings.h" - -fn C.tree_sitter_v() &tree_sitter.TSLanguage - -pub const language = unsafe { C.tree_sitter_v() } - -// load_node_types reads the node-types.json file for static analysis. -pub fn load_node_types() ![]json2.Any { - contents := os.read_file(os.join_path(@VMODROOT, 'src', 'node-types.json'))! - list := json2.raw_decode(contents)! - return list.arr() -}