You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
go.nvim/lua/go/codeaction.lua

49 lines
1.1 KiB
Lua

local utils = require('go.utils')
local log = utils.log
local api = vim.api
-- ONLY SUPPORT GOPLS
local M = {}
function M.run_range_code_action(t)
local context = {}
t = t or {}
context.diagnostics = vim.diagnostic.get()
local bufnr = vim.api.nvim_get_current_buf()
local original_select = vim.ui.select
local original_input = vim.ui.input
vim.ui.select = _GO_NVIM_CFG.go_select()
vim.ui.input = _GO_NVIM_CFG.go_input()
vim.lsp.buf.code_action({
context = context,
range = t.range,
})
vim.defer_fn(function()
vim.ui.select = original_select
vim.ui.input = original_input
end, 1000)
end
function M.run_code_action()
local original_select = vim.ui.select
local original_input = vim.ui.input
vim.ui.select = _GO_NVIM_CFG.go_select()
vim.ui.input = _GO_NVIM_CFG.go_input()
log('codeaction')
if vim.api.nvim_get_mode().mode ~= 'v' then
vim.lsp.buf.code_action()
else
vim.lsp.buf.range_code_action()
end
vim.defer_fn(function()
vim.ui.select = original_select
vim.ui.input = original_input
end, 1000)
end
return M