Skip to content

Commit fba4a33

Browse files
committed
feat: add accept hint popup
1 parent e4293f3 commit fba4a33

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

lua/copilot-lsp/nes/ui.lua

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ local M = {}
55
---@param ns_id integer
66
local 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)
910
end
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

lua/copilot-lsp/types.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
---@class nes.EditSuggestionUI
1313
---@field preview_winnr? integer
14+
---@field hint_winnr? integer
1415

1516
---@class nes.DeleteExtmark
1617
--- Holds row information for delete highlight extmark.

0 commit comments

Comments
 (0)