67
67
---- ------ Visibility ----------
68
68
69
69
function autocomplete .open_with_items (context , items )
70
+ autocomplete .context = context
70
71
autocomplete .items = items
71
72
autocomplete .draw ()
72
73
@@ -77,7 +78,7 @@ function autocomplete.open_with_items(context, items)
77
78
78
79
-- todo: some logic to maintain the selection if the user moved the cursor?
79
80
vim .api .nvim_win_set_cursor (autocomplete .win :get_win (), { 1 , 0 })
80
- autocomplete .event_targets .on_select (autocomplete .get_selected_item ())
81
+ autocomplete .event_targets .on_select (autocomplete .get_selected_item (), context )
81
82
end
82
83
83
84
function autocomplete .open ()
@@ -144,7 +145,7 @@ function autocomplete.select_next()
144
145
if current_line == line_count then return end
145
146
146
147
vim .api .nvim_win_set_cursor (autocomplete .win :get_win (), { current_line + 1 , 0 })
147
- autocomplete .event_targets .on_select (autocomplete .get_selected_item ())
148
+ autocomplete .event_targets .on_select (autocomplete .get_selected_item (), autocomplete . context )
148
149
end
149
150
150
151
function autocomplete .select_prev ()
@@ -154,7 +155,7 @@ function autocomplete.select_prev()
154
155
if current_line == 1 then return end
155
156
156
157
vim .api .nvim_win_set_cursor (autocomplete .win :get_win (), { math.max (current_line - 1 , 1 ), 0 })
157
- autocomplete .event_targets .on_select (autocomplete .get_selected_item ())
158
+ autocomplete .event_targets .on_select (autocomplete .get_selected_item (), autocomplete . context )
158
159
end
159
160
160
161
function autocomplete .listen_on_select (callback ) autocomplete .event_targets .on_select = callback end
0 commit comments