#include "tree_sitter/parser.h" #include #include "nan.h" using namespace v8; extern "C" TSLanguage * tree_sitter_c(); 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_c()); Nan::Set(instance, Nan::New("name").ToLocalChecked(), Nan::New("c").ToLocalChecked()); Nan::Set(module, Nan::New("exports").ToLocalChecked(), instance); } NODE_MODULE(tree_sitter_c_binding, Init) } // namespace