feat: lsp type definitions (#1224)
This commit is contained in:
@@ -355,6 +355,12 @@ builtin.lsp_references = require_on_exported_call("telescope.builtin.lsp").refer
|
||||
---@field jump_type string: how to goto definition if there is only one, values: "tab", "split", "vsplit", "never"
|
||||
builtin.lsp_definitions = require_on_exported_call("telescope.builtin.lsp").definitions
|
||||
|
||||
--- Goto the definition of the type of the word under the cursor, if there's only one,
|
||||
--- otherwise show all options in Telescope
|
||||
---@param opts table: options to pass to the picker
|
||||
---@field jump_type string: how to goto definition if there is only one, values: "tab", "split", "vsplit", "never"
|
||||
builtin.lsp_type_definitions = require("telescope.builtin.lsp").type_definitions
|
||||
|
||||
--- Goto the implementation of the word under the cursor if there's only one, otherwise show all options in Telescope
|
||||
---@param opts table: options to pass to the picker
|
||||
---@field jump_type string: how to goto implementation if there is only one, values: "tab", "split", "vsplit", "never"
|
||||
|
||||
@@ -95,6 +95,10 @@ lsp.definitions = function(opts)
|
||||
return list_or_jump("textDocument/definition", "LSP Definitions", opts)
|
||||
end
|
||||
|
||||
lsp.type_definitions = function(opts)
|
||||
return list_or_jump("textDocument/typeDefinition", "LSP Type Definitions", opts)
|
||||
end
|
||||
|
||||
lsp.implementations = function(opts)
|
||||
return list_or_jump("textDocument/implementation", "LSP Implementations", opts)
|
||||
end
|
||||
@@ -403,6 +407,7 @@ local feature_map = {
|
||||
["document_symbols"] = "document_symbol",
|
||||
["references"] = "find_references",
|
||||
["definitions"] = "goto_definition",
|
||||
["type_definitions"] = "type_definition",
|
||||
["implementations"] = "implementation",
|
||||
["workspace_symbols"] = "workspace_symbol",
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user