feat: add the semantic version to TSLanguage, and expose an API for retrieving it
This commit is contained in:
parent
f0222107b8
commit
8bb1448a6f
24 changed files with 371 additions and 77 deletions
|
|
@ -12,6 +12,8 @@
|
|||
"ts_language_symbol_type",
|
||||
"ts_language_name",
|
||||
"ts_language_version",
|
||||
"ts_language_abi_version",
|
||||
"ts_language_metadata",
|
||||
"ts_language_next_state",
|
||||
"ts_node_field_name_for_child_wasm",
|
||||
"ts_node_field_name_for_named_child_wasm",
|
||||
|
|
|
|||
|
|
@ -110,6 +110,17 @@ static TSInputEdit unmarshal_edit() {
|
|||
return edit;
|
||||
}
|
||||
|
||||
static void marshal_language_metadata(const TSLanguageMetadata *metadata) {
|
||||
if (metadata == NULL) {
|
||||
TRANSFER_BUFFER[0] = 0;
|
||||
return;
|
||||
}
|
||||
TRANSFER_BUFFER[0] = (const void*)3;
|
||||
TRANSFER_BUFFER[1] = (const void*)(uint32_t)metadata->major_version;
|
||||
TRANSFER_BUFFER[2] = (const void*)(uint32_t)metadata->minor_version;
|
||||
TRANSFER_BUFFER[3] = (const void*)(uint32_t)metadata->patch_version;
|
||||
}
|
||||
|
||||
/********************/
|
||||
/* Section - Parser */
|
||||
/********************/
|
||||
|
|
@ -242,6 +253,11 @@ int ts_language_type_is_visible_wasm(const TSLanguage *self, TSSymbol typeId) {
|
|||
return symbolType <= TSSymbolTypeAnonymous;
|
||||
}
|
||||
|
||||
void ts_language_metadata_wasm(const TSLanguage *self) {
|
||||
const TSLanguageMetadata *metadata = ts_language_metadata(self);
|
||||
marshal_language_metadata(metadata);
|
||||
}
|
||||
|
||||
void ts_language_supertypes_wasm(const TSLanguage *self) {
|
||||
uint32_t length;
|
||||
const TSSymbol *supertypes = ts_language_supertypes(self, &length);
|
||||
|
|
|
|||
2
lib/binding_web/lib/tree-sitter.d.ts
generated
vendored
2
lib/binding_web/lib/tree-sitter.d.ts
generated
vendored
|
|
@ -72,6 +72,8 @@ interface WasmModule {
|
|||
_ts_language_symbol_count(_0: number): number;
|
||||
_ts_language_state_count(_0: number): number;
|
||||
_ts_language_version(_0: number): number;
|
||||
_ts_language_abi_version(_0: number): number;
|
||||
_ts_language_metadata(_0: number): number;
|
||||
_ts_language_name(_0: number): number;
|
||||
_ts_language_field_count(_0: number): number;
|
||||
_ts_language_next_state(_0: number, _1: number, _2: number): number;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue