@@ -5,6 +5,7 @@ local M = {}
55--- @param ns_id integer
66local function _dismiss_suggestion_ui (bufnr , suggestion_ui , ns_id )
77 pcall (vim .api .nvim_win_close , suggestion_ui .preview_winnr , true )
8+ pcall (vim .api .nvim_win_close , suggestion_ui .hint_winnr , true )
89 pcall (vim .api .nvim_buf_clear_namespace , bufnr , ns_id , 0 , - 1 )
910end
1011
@@ -135,6 +136,27 @@ function M._display_next_suggestion(edits, ns_id)
135136 ui .preview_winnr = preview_winnr
136137 end
137138
139+ local hint_bufnr = vim .api .nvim_create_buf (false , true )
140+ vim .api .nvim_buf_set_lines (hint_bufnr , 0 , - 1 , false , { " ⇥ Accept" })
141+
142+ vim .bo [hint_bufnr ].modifiable = false
143+ vim .bo [hint_bufnr ].buflisted = false
144+ vim .bo [hint_bufnr ].buftype = " nofile"
145+ vim .bo [hint_bufnr ].bufhidden = " wipe"
146+
147+ local hint_winnr = vim .api .nvim_open_win (hint_bufnr , false , {
148+ relative = " cursor" ,
149+ width = 10 ,
150+ height = 1 ,
151+ row = (suggestion .range [" end" ].line + lines .same_line ) - vim .api .nvim_win_get_cursor (0 )[1 ] - 1 ,
152+ col = 0 ,
153+ zindex = 150 , -- above ins-completion, below messages
154+ style = " minimal" ,
155+ border = " none" ,
156+ })
157+
158+ ui .hint_winnr = hint_winnr
159+
138160 suggestion .ui = ui
139161
140162 vim .b [bufnr ].nes_state = suggestion
0 commit comments