@@ -3,6 +3,11 @@ local config = require('rustaceanvim.config.internal')
3
3
local compat = require (' rustaceanvim.compat' )
4
4
local M = {}
5
5
6
+ local confirm_keys = config .tools .code_actions .keys .confirm
7
+ local quit_keys = config .tools .code_actions .keys .quit
8
+ confirm_keys = type (confirm_keys ) == ' table' and confirm_keys or { confirm_keys }
9
+ quit_keys = type (quit_keys ) == ' table' and quit_keys or { quit_keys }
10
+
6
11
--- @class rustaceanvim.RACodeAction
7
12
--- @field kind string
8
13
--- @field group ? string
@@ -194,10 +199,12 @@ local function on_code_action_results(results, ctx)
194
199
195
200
vim .api .nvim_buf_set_lines (M .state .primary .bufnr , 0 , 1 , false , {})
196
201
197
- vim .keymap .set (' n' , ' <CR>' , on_primary_enter_press , { buffer = M .state .primary .bufnr , noremap = true , silent = true })
198
-
199
- vim .keymap .set (' n' , ' q' , on_primary_quit , { buffer = M .state .primary .bufnr , noremap = true , silent = true })
200
- vim .keymap .set (' n' , ' <Esc>' , on_primary_quit , { buffer = M .state .primary .bufnr , noremap = true , silent = true })
202
+ vim .iter (confirm_keys ):each (function (key )
203
+ vim .keymap .set (' n' , key , on_primary_enter_press , { buffer = M .state .primary .bufnr , noremap = true , silent = true })
204
+ end )
205
+ vim .iter (quit_keys ):each (function (key )
206
+ vim .keymap .set (' n' , key , on_primary_quit , { buffer = M .state .primary .bufnr , noremap = true , silent = true })
207
+ end )
201
208
202
209
M .codeactionify_window_buffer (M .state .primary .winnr , M .state .primary .bufnr )
203
210
@@ -318,10 +325,12 @@ function M.on_cursor_move()
318
325
vim .api .nvim_buf_set_lines (M .state .secondary .bufnr , 0 , 1 , false , {})
319
326
320
327
M .codeactionify_window_buffer (M .state .secondary .winnr , M .state .secondary .bufnr )
321
-
322
- vim .keymap .set (' n' , ' <CR>' , on_secondary_enter_press , { buffer = M .state .secondary .bufnr })
323
-
324
- vim .keymap .set (' n' , ' q' , on_secondary_quit , { buffer = M .state .secondary .bufnr })
328
+ vim .iter (confirm_keys ):each (function (key )
329
+ vim .keymap .set (' n' , key , on_secondary_enter_press , { buffer = M .state .secondary .bufnr })
330
+ end )
331
+ vim .iter (quit_keys ):each (function (key )
332
+ vim .keymap .set (' n' , key , on_secondary_quit , { buffer = M .state .secondary .bufnr })
333
+ end )
325
334
326
335
return
327
336
end
0 commit comments