lua/llm/keymaps.lua (33 lines of code) (raw):
local completion = require("llm.completion")
local config = require("llm.config")
local M = {
setup_done = false,
}
local function accept_suggestion()
if not completion.suggestion then
return
end
vim.schedule(completion.complete)
end
local function dismiss_suggestion()
if not completion.suggestion then
return
end
vim.schedule(function()
completion.cancel()
completion.suggestion = nil
end)
end
function M.setup()
if M.setup_done then
return
end
local accept_keymap = config.get().accept_keymap
local dismiss_keymap = config.get().dismiss_keymap
vim.keymap.set("i", accept_keymap, accept_suggestion, { expr = true })
vim.keymap.set("n", accept_keymap, accept_suggestion, { expr = true })
vim.keymap.set("i", dismiss_keymap, dismiss_suggestion, { expr = true })
vim.keymap.set("n", dismiss_keymap, dismiss_suggestion, { expr = true })
M.setup_done = true
end
return M