Merge pull request #2309 from Jille/ts_node_language

feat: add ts_node_language()
This commit is contained in:
Amaan Qureshi 2023-07-13 12:40:36 -04:00 committed by GitHub
commit 6ad923358a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 16 additions and 3 deletions

View file

@ -1,4 +1,4 @@
/* automatically generated by rust-bindgen 0.65.1 */
/* automatically generated by rust-bindgen 0.66.1 */
pub type TSSymbol = u16;
pub type TSFieldId = u16;
@ -278,6 +278,10 @@ extern "C" {
#[doc = " Get the node's type as a numerical id."]
pub fn ts_node_symbol(arg1: TSNode) -> TSSymbol;
}
extern "C" {
#[doc = " Get the node's language."]
pub fn ts_node_language(arg1: TSNode) -> *const TSLanguage;
}
extern "C" {
#[doc = " Get the node's start byte."]
pub fn ts_node_start_byte(arg1: TSNode) -> u32;

View file

@ -839,9 +839,9 @@ impl<'tree> Node<'tree> {
}
/// Get the [Language] that was used to parse this node's syntax tree.
#[doc(alias = "ts_tree_language")]
#[doc(alias = "ts_node_language")]
pub fn language(&self) -> Language {
Language(unsafe { ffi::ts_tree_language(self.0.tree) })
Language(unsafe { ffi::ts_node_language(self.0) })
}
/// Check if this node is *named*.

View file

@ -436,6 +436,11 @@ const char *ts_node_type(TSNode);
*/
TSSymbol ts_node_symbol(TSNode);
/**
* Get the node's language.
*/
const TSLanguage *ts_node_language(TSNode);
/**
* Get the node's start byte.
*/

View file

@ -423,6 +423,10 @@ const char *ts_node_type(TSNode self) {
return ts_language_symbol_name(self.tree->language, symbol);
}
const TSLanguage *ts_node_language(TSNode self) {
return self.tree->language;
}
char *ts_node_string(TSNode self) {
return ts_subtree_string(ts_node__subtree(self), self.tree->language, false);
}