summaryrefslogtreecommitdiff
path: root/lua/telescope/builtin
diff options
context:
space:
mode:
authorSimon Hauser <Simon-Hauser@outlook.de>2022-04-25 22:52:00 +0200
committerGitHub <noreply@github.com>2022-04-25 22:52:00 +0200
commite7e90466de0571d39fe642cdfec1c577451b8be1 (patch)
tree6fbec8063e7e6e1c39892c0e246172534e6e606f /lua/telescope/builtin
parent5045d7e5e74208dbbf98271861b05ff42dc66360 (diff)
break: remove lsp code actions (#1866)
see :help telescope.changelog-1866 for more information
Diffstat (limited to 'lua/telescope/builtin')
-rw-r--r--lua/telescope/builtin/init.lua12
-rw-r--r--lua/telescope/builtin/lsp.lua210
2 files changed, 0 insertions, 222 deletions
diff --git a/lua/telescope/builtin/init.lua b/lua/telescope/builtin/init.lua
index 6f828b7..84eb18b 100644
--- a/lua/telescope/builtin/init.lua
+++ b/lua/telescope/builtin/init.lua
@@ -382,18 +382,6 @@ builtin.lsp_type_definitions = require("telescope.builtin.lsp").type_definitions
---@field trim_text boolean: trim results text (default: false)
builtin.lsp_implementations = require_on_exported_call("telescope.builtin.lsp").implementations
---- Lists any LSP actions for the word under the cursor which can be triggered with `<cr>`
----@param opts table: options to pass to the picker
----@field timeout number: timeout for the sync call (default: 10000)
-builtin.lsp_code_actions = require_on_exported_call("telescope.builtin.lsp").code_actions
-
---- Lists any LSP actions for a given range, that can be triggered with `<cr>`
----@param opts table: options to pass to the picker
----@field timeout number: timeout for the sync call (default: 10000)
----@field start_line number: where the code action starts (default: handled by :'<,'>Telescope lsp_range_code_actions)
----@field end_line number: where the code action ends (default: handled by :'<,'>Telescope lsp_range_code_actions)
-builtin.lsp_range_code_actions = require_on_exported_call("telescope.builtin.lsp").range_code_actions
-
--- Lists LSP document symbols in the current buffer
--- - Default keymaps:
--- - `<C-l>`: show autocompletion menu to prefilter your query by type of symbol you want to see (i.e. `:variable:`)
diff --git a/lua/telescope/builtin/lsp.lua b/lua/telescope/builtin/lsp.lua
index 76284e0..265e453 100644
--- a/lua/telescope/builtin/lsp.lua
+++ b/lua/telescope/builtin/lsp.lua
@@ -1,13 +1,9 @@
local channel = require("plenary.async.control").channel
-local action_state = require "telescope.actions.state"
-local actions = require "telescope.actions"
local conf = require("telescope.config").values
-local entry_display = require "telescope.pickers.entry_display"
local finders = require "telescope.finders"
local make_entry = require "telescope.make_entry"
local pickers = require "telescope.pickers"
-local strings = require "plenary.strings"
local utils = require "telescope.utils"
local lsp = {}
@@ -162,211 +158,6 @@ lsp.document_symbols = function(opts)
end)
end
-lsp.code_actions = function(opts)
- local params = vim.F.if_nil(opts.params, vim.lsp.util.make_range_params(opts.winnr))
- local lnum = vim.api.nvim_win_get_cursor(opts.winnr)[1]
-
- params.context = {
- diagnostics = vim.lsp.diagnostic.get_line_diagnostics(opts.bufnr, lnum - 1),
- }
-
- local results_lsp, err = vim.lsp.buf_request_sync(
- opts.bufnr,
- "textDocument/codeAction",
- params,
- vim.F.if_nil(opts.timeout, 10000)
- )
-
- if err then
- utils.notify("builtin.lsp_code_actions", {
- msg = err,
- level = "ERROR",
- })
- return
- end
-
- if not results_lsp or vim.tbl_isempty(results_lsp) then
- utils.notify("builtin.lsp_document_symbols", {
- msg = "No results from textDocument/codeAction",
- level = "INFO",
- })
- return
- end
-
- local idx = 1
- local results = {}
- local widths = {
- idx = 0,
- command_title = 0,
- client_name = 0,
- }
-
- for client_id, response in pairs(results_lsp) do
- if response.result then
- local client = vim.lsp.get_client_by_id(client_id)
-
- for _, result in pairs(response.result) do
- local entry = {
- idx = idx,
- command_title = result.title:gsub("\r\n", "\\r\\n"):gsub("\n", "\\n"),
- client = client,
- client_name = client and client.name or "",
- command = result,
- }
-
- for key, value in pairs(widths) do
- widths[key] = math.max(value, strings.strdisplaywidth(entry[key]))
- end
-
- table.insert(results, entry)
- idx = idx + 1
- end
- end
- end
-
- if #results == 0 then
- utils.notify("builtin.lsp_document_symbols", {
- msg = "No code actions available",
- level = "INFO",
- })
- return
- end
-
- local displayer = entry_display.create {
- separator = " ",
- items = {
- { width = widths.idx + 1 }, -- +1 for ":" suffix
- { width = widths.command_title },
- { width = widths.client_name },
- },
- }
-
- local function make_display(entry)
- return displayer {
- { entry.value.idx .. ":", "TelescopePromptPrefix" },
- { entry.value.command_title },
- { entry.value.client_name, "TelescopeResultsComment" },
- }
- end
-
- -- If the text document version is 0, set it to nil instead so that Neovim
- -- won't refuse to update a buffer that it believes is newer than edits.
- -- See: https://github.com/eclipse/eclipse.jdt.ls/issues/1695
- -- Source:
- -- https://github.com/neovim/nvim-lspconfig/blob/486f72a25ea2ee7f81648fdfd8999a155049e466/lua/lspconfig/jdtls.lua#L62
- local function fix_zero_version(workspace_edit)
- if workspace_edit and workspace_edit.documentChanges then
- for _, change in pairs(workspace_edit.documentChanges) do
- local text_document = change.textDocument
- if text_document and text_document.version and text_document.version == 0 then
- text_document.version = nil
- end
- end
- end
- return workspace_edit
- end
-
- --[[
- -- actions is (Command | CodeAction)[] | null
- -- CodeAction
- -- title: String
- -- kind?: CodeActionKind
- -- diagnostics?: Diagnostic[]
- -- isPreferred?: boolean
- -- edit?: WorkspaceEdit
- -- command?: Command
- --
- -- Command
- -- title: String
- -- command: String
- -- arguments?: any[]
- --]]
- local transform_action = opts.transform_action
- or function(action)
- -- Remove 0 -version from LSP codeaction request payload.
- -- Is only run on the "java.apply.workspaceEdit" codeaction.
- -- Fixed Java/jdtls compatibility with Telescope
- -- See fix_zero_version commentary for more information
- local command = (action.command and action.command.command) or action.command
- if command ~= "java.apply.workspaceEdit" then
- return action
- end
- local arguments = (action.command and action.command.arguments) or action.arguments
- action.edit = fix_zero_version(arguments[1])
- return action
- end
-
- local execute_action = opts.execute_action
- or function(action, offset_encoding)
- if action.edit or type(action.command) == "table" then
- if action.edit then
- vim.lsp.util.apply_workspace_edit(action.edit, offset_encoding)
- end
- if type(action.command) == "table" then
- vim.lsp.buf.execute_command(action.command)
- end
- else
- vim.lsp.buf.execute_command(action)
- end
- end
-
- pickers.new(opts, {
- prompt_title = "LSP Code Actions",
- finder = finders.new_table {
- results = results,
- entry_maker = function(action)
- return {
- value = action,
- ordinal = action.idx .. action.command_title,
- display = make_display,
- }
- end,
- },
- attach_mappings = function(prompt_bufnr)
- actions.select_default:replace(function()
- local selection = action_state.get_selected_entry()
- actions.close(prompt_bufnr)
- local action = selection.value.command
- local client = selection.value.client
- local eff_execute = function(transformed)
- execute_action(transformed, client.offset_encoding)
- end
- if
- not action.edit
- and client
- and type(client.resolved_capabilities.code_action) == "table"
- and client.resolved_capabilities.code_action.resolveProvider
- then
- client.request("codeAction/resolve", action, function(resolved_err, resolved_action)
- if resolved_err then
- utils.notify("builtin.lsp_code_actions", {
- msg = string.format("codeAction/resolve failed: %s : %s", resolved_err.code, resolved_err.message),
- level = "ERROR",
- })
- return
- end
- if resolved_action then
- eff_execute(transform_action(resolved_action))
- else
- eff_execute(transform_action(action))
- end
- end)
- else
- eff_execute(transform_action(action))
- end
- end)
-
- return true
- end,
- sorter = conf.generic_sorter(opts),
- }):find()
-end
-
-lsp.range_code_actions = function(opts)
- opts.params = vim.lsp.util.make_given_range_params({ opts.start_line, 1 }, { opts.end_line, 1 }, opts.bufnr)
- lsp.code_actions(opts)
-end
-
lsp.workspace_symbols = function(opts)
local params = { query = opts.query or "" }
vim.lsp.buf_request(opts.bufnr, "workspace/symbol", params, function(err, server_result, _, _)
@@ -470,7 +261,6 @@ local function check_capabilities(feature, bufnr)
end
local feature_map = {
- ["code_actions"] = "code_action",
["document_symbols"] = "document_symbol",
["references"] = "find_references",
["definitions"] = "goto_definition",