diff --git a/queries/gleam/textobjects.scm b/queries/gleam/textobjects.scm new file mode 100644 index 00000000..af4caf00 --- /dev/null +++ b/queries/gleam/textobjects.scm @@ -0,0 +1,46 @@ +; function +(function + body: (_) @function.inner) @function.outer + +(anonymous_function + body: (_) @function.inner) @function.outer + +; parameter +(function_parameters + . + (_) @parameter.inner + . + ","? @_end + (#make-range! "parameter.outer" @parameter.inner @_end)) + +(function_parameters + "," @_start + . + (_) @parameter.inner + (#make-range! "parameter.outer" @_start @parameter.inner)) + +(arguments + . + (_) @parameter.inner + . + ","? @_end + (#make-range! "parameter.outer" @parameter.inner @_end)) + +(arguments + "," @_start + . + (_) @parameter.inner + (#make-range! "parameter.outer" @_start @parameter.inner)) + +(data_constructor_arguments + . + (_) @parameter.inner + . + ","? @_end + (#make-range! "parameter.outer" @parameter.inner @_end)) + +(data_constructor_arguments + "," @_start + . + (_) @parameter.inner + (#make-range! "parameter.outer" @_start @parameter.inner))