summaryrefslogtreecommitdiff
path: root/lua/telescope/builtin/lsp.lua
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2021-08-05 04:33:13 +0800
committerGitHub <noreply@github.com>2021-08-04 22:33:13 +0200
commitd7cdfcbeb63af82a949a8cc0f9135631d2db5dc6 (patch)
tree28416eec3d889e7f28f2cecc8cbbd1ecb3df6580 /lua/telescope/builtin/lsp.lua
parent654903fc040148ee50f3ad510812b47de7a2f87a (diff)
feat: add option jump_type to lsp_definitions and lsp_implementations (#1077)
Diffstat (limited to 'lua/telescope/builtin/lsp.lua')
-rw-r--r--lua/telescope/builtin/lsp.lua9
1 files changed, 8 insertions, 1 deletions
diff --git a/lua/telescope/builtin/lsp.lua b/lua/telescope/builtin/lsp.lua
index dccda5d..42a1851 100644
--- a/lua/telescope/builtin/lsp.lua
+++ b/lua/telescope/builtin/lsp.lua
@@ -64,7 +64,14 @@ local function list_or_jump(action, title, opts)
if #flattened_results == 0 then
return
- elseif #flattened_results == 1 then
+ elseif #flattened_results == 1 and opts.jump_type ~= "never" then
+ if opts.jump_type == "tab" then
+ vim.cmd "tabedit"
+ elseif opts.jump_type == "split" then
+ vim.cmd "new"
+ elseif opts.jump_type == "vsplit" then
+ vim.cmd "vnew"
+ end
vim.lsp.util.jump_to_location(flattened_results[1])
else
local locations = vim.lsp.util.locations_to_items(flattened_results)