From 9b10e12c01dacfc1303d6d44679829be8b5d0561 Mon Sep 17 00:00:00 2001 From: Kyle Grierson Date: Mon, 14 Aug 2023 09:29:46 +0100 Subject: [PATCH] anchors not working --- docs/sample.clj | 3 --- docs/textobjects.scm | 30 ++++++++++++++++++++++++++++++ queries/clojure/textobjects.scm | 4 +++- 3 files changed, 33 insertions(+), 4 deletions(-) create mode 100644 docs/textobjects.scm diff --git a/docs/sample.clj b/docs/sample.clj index b9dff49..7a1b57c 100644 --- a/docs/sample.clj +++ b/docs/sample.clj @@ -1,5 +1,2 @@ (+ 1 2 3) [1 2 3] -'(1 2 3) -#{1 2 3} -{:a 1 :b 2} diff --git a/docs/textobjects.scm b/docs/textobjects.scm new file mode 100644 index 0000000..4a01ed6 --- /dev/null +++ b/docs/textobjects.scm @@ -0,0 +1,30 @@ +[(list_lit) +(quoting_lit) +(vec_lit) +(set_lit) +(anon_fn_lit) +(map_lit)] @form.outer + +; -- Works: Get List start and end +; (list_lit . value: (_) @_start value: (_) @end .) + +; -- Works: Get Vector start and end +; (vec*lit . value: (_) @_start value: (_) @end .) + +; -- Works: List inner range +; ((list_lit . value: (_) @_start value: (_) @end .) +; (#make-range! "form.inner" @start @end)) + +; -- Works: Vector inner range +; ((vec_lit . value: (_) @_start value: (_) @end .) +; (#make-range! "form.inner" @start @end)) + +; -- Fails: List or Vector inner start and end +; ([list_lit vec_lit] . value: (_) @start value: (_) @end .) + +; -- Fails: List or Vector inner range +; (([list_lit vec_lit] . value: (_) @start value: (_) @end .) +; (#make-range! "form.inner" @start @end)) + +@start +@end diff --git a/queries/clojure/textobjects.scm b/queries/clojure/textobjects.scm index ad120cf..cecea48 100644 --- a/queries/clojure/textobjects.scm +++ b/queries/clojure/textobjects.scm @@ -5,6 +5,8 @@ (anon_fn_lit) (map_lit)] @form.outer) +; ((list_lit . value: (_) @_start value: (_) @_end .) +; (#make-range! "form.inner" @_start @_end)) -((list_lit . value: (_) @_start value: (_) @_end .) +((vec_lit . value: (_) @_start value: (_) @_end .) (#make-range! "form.inner" @_start @_end))