PyCommentGroup
A group of related symbols that represent a comment or docstring in Python For example: ``` # Comment 1 # Comment 2 # Comment 3 ``` would be 3 individual comments (accessible via `symbols`), but together they form a `CommentGroup` (accessible via `self`).
View source on GitHub
Inherits from
CommentGroup, SymbolGroup, Editable
Attributes
extended
Returns a SymbolGroup of all extended nodes associated with this element.
extended_source
Returns the source text representation of all extended nodes.
file
The file object that this Editable instance belongs to.
filepath
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.
next_named_sibling
Returns the next named sibling of the last symbol in the group.
next_sibling
Returns the next sibling of the last symbol in the symbol group.
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
source
Returns the concatenated source code of all symbols in the group.
symbols
Returns the list of symbols in the group.
text
Return the text content of all comments in the comment block.
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 node with new text.
View source on GitHub
Parameters
new_srcrequiredThe new source text to replace the current text with.
fix_indentationdefault: FalseAdjusts the indentation of new_src to match the current text's indentation. Defaults to False.
prioritydefault: 0Priority of the edit operation. Higher priority edits take precedence. Defaults to 0.
dedupedefault: TruePrevents duplicate edits at the same location. Defaults to True.
Returns
edit_text
Replace the text content of a comment group with new text.
View source on GitHub
Parameters
new_textrequiredThe new text content to replace the existing comment text.
Returns
find
Search for substrings in the given symbols that match strings_to_match.
View source on GitHub
Parameters
strings_to_matchrequiredThe string or list of strings to search for.
exactdefault: FalseIf True, only return nodes that exactly match the query.
Returns
A list of Editable objects representing each match found.
find_string_literals
Search for string literals matching given strings in the SymbolGroup.
View source on GitHub
Parameters
strings_to_matchrequiredList of strings to search for in string literals.
fuzzy_matchdefault: FalseIf True, performs fuzzy matching instead of exact matching.
Returns
List of Editable nodes representing the matching string literals found within the symbols.
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_namerequiredThe variable name to search for.
fuzzy_matchdefault: FalseIf 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 source code after this node in the codebase.
View source on GitHub
Parameters
new_srcrequiredThe source code to insert.
fix_indentationdefault: FalseAdjust indentation to match current text.
newlinedefault: TrueAdd a newline before the inserted code.
prioritydefault: 0Priority of the edit operation.
dedupedefault: TrueDeduplicate identical edits.
Returns
insert_before
Inserts source code before this symbol group.
View source on GitHub
Parameters
new_srcrequiredThe source code to insert.
fix_indentationdefault: FalseWhether to adjust the indentation of the inserted code to match the current code. Defaults to False.
newlinedefault: TrueWhether to add a newline after the inserted code. Defaults to True.
prioritydefault: 0The priority of this edit operation. Higher priority edits are applied first. Defaults to 0.
dedupedefault: TrueWhether to prevent duplicate insertions of the same code. Defaults to True.
Returns
is_child_of
Checks if this node is a descendant of the given editable instance in the AST.
View source on GitHub
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
reduce_condition
Reduces an editable to the following condition
View source on GitHub
Returns
remove
Removes this node and its related extended nodes from the codebase.
View source on GitHub
Parameters
delete_formattingdefault: TrueWhether to delete related extended nodes like decorators and comments. Defaults to True.
prioritydefault: 0Priority level of the removal operation. Defaults to 0.
dedupedefault: TrueWhether to deduplicate removal operations. Defaults to True.
Returns
replace
Replaces all instances of a string with a new string in all symbols within the group.
View source on GitHub
Parameters
oldrequiredThe string to be replaced.
newrequiredThe string to replace with.
countdefault: -1Maximum number of replacements to make. Defaults to -1 (replace all).
prioritydefault: 0Priority of the replacement operation. Defaults to 0.
Returns
Number of replacements made.
search
Searches for regex matches in the codebase.
View source on GitHub
Parameters
regex_patternrequiredThe regular expression pattern to search for.
include_stringsdefault: TrueWhether to include string literals in the search. Defaults to True.
include_commentsdefault: TrueWhether to include comments in the search. Defaults to True.
Returns
A list of Editable objects representing matched text nodes in the codebase.
to_google_docstring
Convert a comment group into a Google-style docstring.
View source on GitHub
Parameters
functionrequiredThe Python function whose signature will be used to extract parameter and return type information.
Returns
A formatted Google-style docstring string that includes the function's description, parameters, and return value information.