tree-sitter-yaml/bindings/node/binding.cc

21 lines
575 B
C++
Raw Permalink Normal View History

2024-03-27 05:31:32 -04:00
#include <napi.h>
2019-08-31 07:14:13 -04:00
2024-03-27 05:31:32 -04:00
typedef struct TSLanguage TSLanguage;
2019-08-31 07:14:13 -04:00
2024-03-27 05:31:32 -04:00
extern "C" TSLanguage *tree_sitter_yaml();
2019-08-31 07:14:13 -04:00
2024-03-27 05:31:32 -04:00
// "tree-sitter", "language" hashed with BLAKE2
const napi_type_tag LANGUAGE_TYPE_TAG = {
0x8AF2E5212AD58ABF, 0xD5006CAD83ABBA16
};
2019-08-31 07:14:13 -04:00
2024-03-27 05:31:32 -04:00
Napi::Object Init(Napi::Env env, Napi::Object exports) {
exports["name"] = Napi::String::New(env, "yaml");
auto language = Napi::External<TSLanguage>::New(env, tree_sitter_yaml());
language.TypeTag(&LANGUAGE_TYPE_TAG);
exports["language"] = language;
return exports;
2019-08-31 07:14:13 -04:00
}
2024-03-27 05:31:32 -04:00
NODE_API_MODULE(tree_sitter_yaml_binding, Init)