fix: save position into jumplist before 'edit' action (#1234)

currently enabled for some builtins. You can manually enable it by adding `push_cursor_on_edit = true` to the builtin options. But feel free to open a PR if you find a builtin that needs this option enabled.
This commit is contained in:
Joshua Cao
2022-04-08 11:09:58 -07:00
committed by GitHub
parent 317371d37c
commit 8af0d384d2
4 changed files with 10 additions and 0 deletions

View File

@@ -129,8 +129,13 @@ action_set.edit = function(prompt_bufnr, command)
local entry_bufnr = entry.bufnr local entry_bufnr = entry.bufnr
local picker = action_state.get_current_picker(prompt_bufnr)
require("telescope.actions").close(prompt_bufnr) require("telescope.actions").close(prompt_bufnr)
if picker.push_cursor_on_edit then
vim.cmd "normal! m'"
end
if entry_bufnr then if entry_bufnr then
if not vim.api.nvim_buf_get_option(entry_bufnr, "buflisted") then if not vim.api.nvim_buf_get_option(entry_bufnr, "buflisted") then
vim.api.nvim_buf_set_option(entry_bufnr, "buflisted", true) vim.api.nvim_buf_set_option(entry_bufnr, "buflisted", true)

View File

@@ -933,6 +933,7 @@ internal.marks = function(opts)
}, },
previewer = conf.grep_previewer(opts), previewer = conf.grep_previewer(opts),
sorter = conf.generic_sorter(opts), sorter = conf.generic_sorter(opts),
push_cursor_on_edit = true,
}):find() }):find()
end end

View File

@@ -45,6 +45,7 @@ lsp.references = function(opts)
}, },
previewer = conf.qflist_previewer(opts), previewer = conf.qflist_previewer(opts),
sorter = conf.generic_sorter(opts), sorter = conf.generic_sorter(opts),
push_cursor_on_edit = true,
}):find() }):find()
end) end)
end end
@@ -151,6 +152,7 @@ lsp.document_symbols = function(opts)
tag = "symbol_type", tag = "symbol_type",
sorter = conf.generic_sorter(opts), sorter = conf.generic_sorter(opts),
}, },
push_cursor_on_edit = true,
}):find() }):find()
end) end)
end end

View File

@@ -110,6 +110,8 @@ function Picker:new(opts)
tiebreak = get_default(opts.tiebreak, config.values.tiebreak), tiebreak = get_default(opts.tiebreak, config.values.tiebreak),
selection_strategy = get_default(opts.selection_strategy, config.values.selection_strategy), selection_strategy = get_default(opts.selection_strategy, config.values.selection_strategy),
push_cursor_on_edit = get_default(opts.push_cursor_on_edit, false),
layout_strategy = layout_strategy, layout_strategy = layout_strategy,
layout_config = config.smarter_depth_2_extend(opts.layout_config or {}, config.values.layout_config or {}), layout_config = config.smarter_depth_2_extend(opts.layout_config or {}, config.values.layout_config or {}),