MiniZinc grammar for tree-sitter
at develop 28 lines 877 B view raw
1#include "tree_sitter/parser.h" 2#include <node.h> 3#include "nan.h" 4 5using namespace v8; 6 7extern "C" TSLanguage * tree_sitter_minizinc(); 8 9namespace { 10 11NAN_METHOD(New) {} 12 13void 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_minizinc()); 21 22 Nan::Set(instance, Nan::New("name").ToLocalChecked(), Nan::New("minizinc").ToLocalChecked()); 23 Nan::Set(module, Nan::New("exports").ToLocalChecked(), instance); 24} 25 26NODE_MODULE(tree_sitter_minizinc_binding, Init) 27 28} // namespace