|
36 | 36 | local M = {}
|
37 | 37 |
|
38 | 38 | ---@param opts TSTextObjects.MoveOpts
|
39 |
| -local function move(opts) |
40 |
| - local query_group = opts.query_group or "textobjects" |
41 |
| - local query_strings = type(opts.query_strings) == "string" and { opts.query_strings } or opts.query_strings |
| 39 | +---@param query_strings string[]|string |
| 40 | +---@param query_group? string |
| 41 | +local function move(opts, query_strings, query_group) |
| 42 | + query_group = query_group or "textobjects" |
| 43 | + if type(query_strings) == "string" then |
| 44 | + query_strings = { query_strings } |
| 45 | + end |
42 | 46 |
|
43 |
| - local winid = opts.winid or api.nvim_get_current_win() |
| 47 | + local winid = api.nvim_get_current_win() |
44 | 48 | local bufnr = api.nvim_win_get_buf(winid)
|
45 | 49 |
|
46 | 50 | local forward = opts.forward
|
@@ -132,67 +136,57 @@ local function move(opts)
|
132 | 136 | end
|
133 | 137 | end
|
134 | 138 |
|
135 |
| ----@type fun(opts: TSTextObjects.MoveOpts) |
| 139 | +---@type fun(opts: TSTextObjects.MoveOpts, query_strings: string[]|string, query_group?: string) |
136 | 140 | local move_repeatable = repeatable_move.make_repeatable_move(move)
|
137 | 141 |
|
138 | 142 | ---@param query_strings string|string[]
|
139 | 143 | ---@param query_group? string
|
140 | 144 | M.goto_next_start = function(query_strings, query_group)
|
141 |
| - move_repeatable { |
| 145 | + move_repeatable({ |
142 | 146 | forward = true,
|
143 | 147 | start = true,
|
144 |
| - query_strings = query_strings, |
145 |
| - query_group = query_group, |
146 |
| - } |
| 148 | + }, query_strings, query_group) |
147 | 149 | end
|
148 | 150 | ---@param query_strings string|string[]
|
149 | 151 | ---@param query_group? string
|
150 | 152 | M.goto_next_end = function(query_strings, query_group)
|
151 |
| - move_repeatable { |
| 153 | + move_repeatable({ |
152 | 154 | forward = true,
|
153 | 155 | start = false,
|
154 |
| - query_strings = query_strings, |
155 |
| - query_group = query_group, |
156 |
| - } |
| 156 | + }, query_strings, query_group) |
157 | 157 | end
|
158 | 158 | ---@param query_strings string|string[]
|
159 | 159 | ---@param query_group? string
|
160 | 160 | M.goto_previous_start = function(query_strings, query_group)
|
161 |
| - move_repeatable { |
| 161 | + move_repeatable({ |
162 | 162 | forward = false,
|
163 | 163 | start = true,
|
164 |
| - query_strings = query_strings, |
165 |
| - query_group = query_group, |
166 |
| - } |
| 164 | + }, query_strings, query_group) |
167 | 165 | end
|
168 | 166 | ---@param query_strings string|string[]
|
169 | 167 | ---@param query_group? string
|
170 | 168 | M.goto_previous_end = function(query_strings, query_group)
|
171 |
| - move_repeatable { |
| 169 | + move_repeatable({ |
172 | 170 | forward = false,
|
173 | 171 | start = false,
|
174 |
| - query_strings = query_strings, |
175 |
| - query_group = query_group, |
176 |
| - } |
| 172 | + }, query_strings, query_group) |
177 | 173 | end
|
178 | 174 |
|
179 | 175 | ---@param query_strings string|string[]
|
180 | 176 | ---@param query_group? string
|
181 | 177 | M.goto_next = function(query_strings, query_group)
|
182 |
| - move_repeatable { |
| 178 | + move_repeatable({ |
183 | 179 | forward = true,
|
184 |
| - query_strings = query_strings, |
185 |
| - query_group = query_group, |
186 |
| - } |
| 180 | + }, query_strings, query_group) |
187 | 181 | end
|
188 | 182 | ---@param query_strings string|string[]
|
189 | 183 | ---@param query_group? string
|
190 | 184 | M.goto_previous = function(query_strings, query_group)
|
191 |
| - move_repeatable { |
| 185 | + move_repeatable({ |
192 | 186 | forward = false,
|
193 | 187 | query_strings = query_strings,
|
194 | 188 | query_group = query_group,
|
195 |
| - } |
| 189 | + }, query_strings, query_group) |
196 | 190 | end
|
197 | 191 |
|
198 | 192 | return M
|
0 commit comments