View Source on Github

Inherits from

Comment, Statement, Expression, Editable

Attributes

comment_type

Determines the type of comment in a TypeScript source code.

extended

Returns a SymbolGroup of all extended nodes associated with this element.

extended_source

str
Returns the source text representation of all extended nodes.

file

The file object that this Editable instance belongs to.

filepath

str
The file path of the file that this Editable instance belongs to.

function_calls

list[ FunctionCall ]
Returns a list of all function calls contained within this expression.

index

int
The 0-based index of the statement in the parent code block.

nested_code_blocks

list[ TSCodeBlock ]
Returns a list of nested code blocks within the statement.

nested_statements

Returns a list of statement collections within nested code blocks.

parent

The parent node of this Editable instance.

parent_class

TSClass | None
Find the class this node is contained in

parent_function

TSFunction | None
Find the function this node is contained in

parent_statement

Statement | None
Find the statement this node is contained in

resolved_value

Returns the resolved type of an Expression.

source

str
Text representation of the Editable instance.

text

str
Returns the text content of the comment.

variable_usages

list[ Editable ]
Returns Editables for all TreeSitter node instances of variable usages within this node's

Methods

ancestors

Find all ancestors of the node of the given type. Does not return itself
View Source on Github

Returns

list[ Editable ]

clean_comment

Cleans comment markers and whitespace from a comment string.
View Source on Github

Parameters

comment
str
required
The raw comment string to be cleaned.

Returns

str
The cleaned comment text with comment markers and excess whitespace removed.

edit

Replace the source of this Editable with new_src.
View Source on Github

Parameters

new_src
str
required
The new source text to replace the current text with.
fix_indentation
bool
default:False
If True, adjusts the indentation of `new_src` to match the current text's indentation level. Defaults to False.
priority
int
default:0
The priority of the edit transaction. Higher priority edits are applied first. Defaults to 0.
dedupe
bool
default:True
If True, deduplicates identical transactions. Defaults to True.

Returns

None

edit_text

Replace the text of a comment with new text.
View Source on Github

Parameters

new_text
str
required
The new text content to replace the existing comment text.

Returns

None

find

Find and return matching nodes or substrings within an Editable instance.
View Source on Github

Parameters

strings_to_match
Union[list[str], str]
required
One or more strings to search for.
exact
bool
default:False
If True, only return nodes whose source exactly matches one of the strings_to_match.

Returns

list[ Editable ]
A list of Editable instances that match the search criteria.

find_string_literals

Returns a list of string literals within this node’s source that match any of the given
View Source on Github

Parameters

strings_to_match
list[str]
required
A list of strings to search for in string literals.
fuzzy_match
bool
default:False
If True, matches substrings within string literals. If False, only matches exact strings. Defaults to False.

Returns

list[ Editable [ TSComment ]]
A list of Editable objects representing the matching string literals.

flag

Adds a visual flag comment to the end of this Editable’s source text.
View Source on Github

Returns

CodeFlag[ TSComment ]

generate_comment

Generates a TypeScript comment block from the given text content.
View Source on Github

Parameters

new_src
str
required
The text content to be converted into a comment.
comment_type
TSCommentType
required
The type of comment to generate (DOUBLE_SLASH or SLASH_STAR).
leading_star
bool, optional
required
Whether to add leading "*" to each line in multi-line comments. Defaults to True.
force_multiline
bool, optional
required
Whether to force multi-line format for single-line content. Defaults to False.

Returns

str
The formatted comment block as a string.

get_variable_usages

Returns Editables for all TreeSitter nodes corresponding to instances of variable usage
View Source on Github

Parameters

var_name
str
required
The variable name to search for.
fuzzy_match
bool
default:False
If True, matches variables where var_name is a substring. If False, requires exact match. Defaults to False.

Returns

Sequence[ Editable [ TSComment ]]
List of Editable objects representing variable usage nodes matching the given name.

insert_after

Inserts code after this node.
View Source on Github

Parameters

new_src
str
required
The source code to insert after this node.
fix_indentation
bool, optional
default:False
Whether to adjust the indentation of new_src to match the current node. Defaults to False.
newline
bool, optional
default:True
Whether to add a newline before the new_src. Defaults to True.
priority
int, optional
default:0
Priority of the insertion transaction. Defaults to 0.
dedupe
bool, optional
default:True
Whether to deduplicate identical transactions. Defaults to True.

Returns

None

insert_before

Inserts text before this node’s source with optional indentation and newline handling.
View Source on Github

Parameters

new_src
str
required
The text to insert before this node.
fix_indentation
bool
default:False
Whether to fix the indentation of new_src to match the current node. Defaults to False.
newline
bool
default:True
Whether to add a newline after new_src. Defaults to True.
priority
int
default:0
Transaction priority for managing multiple edits. Defaults to 0.
dedupe
bool
default:True
Whether to deduplicate identical transactions. Defaults to True.

Returns

None

is_child_of

Checks if this node is a descendant of the given editable instance in the AST.
View Source on Github

Returns

bool

is_wrapped_in

Check if this node is contained another node of the given class
View Source on Github

Returns

bool

parent_of_type

Find the first ancestor of the node of the given type. Does not return itself
View Source on Github

Returns

Editable | None

parent_of_types

Find the first ancestor of the node of the given type. Does not return itself
View Source on Github

Returns

Editable | None

reduce_condition

Reduces an editable to the following condition
View Source on Github

Returns

None

remove

Deletes this Node and its related extended nodes (e.g. decorators, comments).
View Source on Github

Parameters

delete_formatting
bool
default:True
Whether to delete surrounding whitespace and formatting. Defaults to True.
priority
int
default:0
Priority of the removal transaction. Higher priority transactions are executed first. Defaults to 0.
dedupe
bool
default:True
Whether to deduplicate removal transactions at the same location. Defaults to True.

Returns

None

replace

Search and replace occurrences of text within this node’s source and its extended nodes.
View Source on Github

Parameters

old
str
required
The text or pattern to search for.
new
str
required
The text to replace matches with.
count
int, optional
default:-1
Maximum number of replacements to make. Defaults to -1 (replace all).
is_regex
bool, optional
default:False
Whether to treat 'old' as a regex pattern. Defaults to False.
priority
int, optional
default:0
Priority of the replacement operation. Defaults to 0.

Returns

int
The total number of replacements made.
Returns a list of all regex match of regex_pattern, similar to python’s re.search().
View Source on Github

Parameters

regex_pattern
str
required
The regular expression pattern to search for.
include_strings
bool
default:True
When False, excludes the contents of string literals from the search. Defaults to True.
include_comments
bool
default:True
When False, excludes the contents of comments from the search. Defaults to True.

Returns

list[ Editable ]
A list of Editable objects corresponding to the matches found.