Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'runtime/queries/typespec/textobjects.scm')
-rw-r--r--runtime/queries/typespec/textobjects.scm51
1 files changed, 51 insertions, 0 deletions
diff --git a/runtime/queries/typespec/textobjects.scm b/runtime/queries/typespec/textobjects.scm
new file mode 100644
index 00000000..7ee1251c
--- /dev/null
+++ b/runtime/queries/typespec/textobjects.scm
@@ -0,0 +1,51 @@
+; Classes
+
+(enum_statement
+ (enum_body) @class.inside) @class.around
+
+(model_statement
+ (model_expression) @class.inside) @class.around
+
+(union_statement
+ (union_body) @class.inside) @class.around
+
+; Interfaces
+
+(interface_statement
+ (interface_body
+ (interface_member) @function.around) @class.inside) @class.around
+
+; Comments
+
+[
+ (single_line_comment)
+ (multi_line_comment)
+] @comment.inside
+
+[
+ (single_line_comment)
+ (multi_line_comment)
+]+ @comment.around
+
+; Functions
+
+[
+ (decorator)
+ (decorator_declaration_statement)
+ (function_declaration_statement)
+ (operation_statement)
+] @function.around
+
+(function_parameter_list
+ (function_parameter)? @parameter.inside)* @function.inside
+
+(decorator_arguments
+ (expression_list
+ (_) @parameter.inside)*) @function.inside
+
+(operation_arguments
+ (model_property)? @parameter.inside)* @function.inside
+
+(template_parameters
+ (template_parameter_list
+ (template_parameter) @parameter.inside)) @function.inside