Skip to main content
View Source on Github

Inherits from

Editable

Attributes

content

Returns the content of the file as a UTF-8 encoded string.

directory

Returns the directory that contains this file.

extended

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

extended_source

Returns the source text representation of all extended nodes.

extension

Returns the file extension.

file

A property that returns the file object for non-source files.

file_path

The relative file path as a string.

filepath

Retrieves the file path of the file that this Editable instance belongs to.

function_calls

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

is_binary

Indicates whether the file contains binary data.

name

The name of the file.

owners

Returns the CODEOWNERS of the file.

parent

The parent node of this Editable instance.

parent_class

Find the class this node is contained in

parent_function

Find the function this node is contained in

parent_statement

Find the statement this node is contained in

path

The absolute path of the file as a Path object.

source

Text representation of the Editable instance.

start_byte

Returns the starting byte position of a file in its content.

variable_usages

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

edit

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

Parameters

new_src
required
The new source text to replace the current text with.
fix_indentation
default:False
If True, adjusts the indentation of new_src to match the current
priority
default:0
The priority of the edit transaction. Higher priority edits are
dedupe
default:True
If True, deduplicates identical transactions. Defaults to True.

Returns

find

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

Parameters

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

Returns

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
required
A list of strings to search for in string literals.
fuzzy_match
default:False
If True, matches substrings within string literals. If False, only matches exact strings. Defaults to False.

Returns

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

get_variable_usages

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

Parameters

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

Returns

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
required
The source code to insert after this node.
fix_indentation
default:False
Whether to adjust the indentation of new_src to match the current node. Defaults to False.
newline
default:True
Whether to add a newline before the new_src. Defaults to True.
priority
default:0
Priority of the insertion transaction. Defaults to 0.
dedupe
default:True
Whether to deduplicate identical transactions. Defaults to True.

Returns

insert_before

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

Parameters

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

Returns

is_wrapped_in

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

Returns

parent_of_type

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

Returns

parent_of_types

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

Returns

parse

Parses the file representation into the graph.
View Source on Github

Parameters

ctx
required
The codebase context that the file belongs to.

Returns

reduce_condition

Reduces an editable to the following condition
View Source on Github

Returns

remove

Removes the file from the file system and graph.
View Source on Github

Returns

rename

Renames the file to the specified name, preserving the file extension.
View Source on Github

Parameters

new_name
required
The new name for the file. If the new name includes the file extension, it will be used as-is.

Returns

replace

Replace occurrences of text in the file.
View Source on Github

Parameters

old
required
The text to be replaced.
new
required
The text to replace with.
count
default:-1
Maximum number of replacements to make. -1 means replace all occurrences.
is_regex
default:False
If True, treat 'old' as a regular expression pattern.
priority
default:0
The priority of the edit transaction. Higher priority edits are

Returns

List of affected Editable objects. For non-source files, always returns an empty list since they don't have Editable sub-components.
Returns a list of all regex match of regex_pattern, similar to python’s re.search().
View Source on Github

Parameters

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

Returns

A list of Editable objects corresponding to the matches found.

update_filepath

Updates the file path and inbound imports of a file.
View Source on Github

Parameters

new_filepath
required
The new file path to rename the file to.

Returns