2
0
Fork 0
forked from pub-solar/os

neovim: improve multiopen, use buffers

This commit is contained in:
teutat3s 2025-03-14 00:20:42 +01:00
parent b46cfbbeb0
commit 62c8f8eebd
Signed by: teutat3s
GPG key ID: 4FA1D3FA524F22C1

View file

@ -65,28 +65,31 @@ nmap <leader>n :NnnPicker %<CR>
nmap <leader>N :NnnPicker<CR>
lua <<EOF
local state = require("telescope.actions.state")
local actions = require("telescope.actions")
local telescope = require("telescope")
local multiopen = function(prompt_bufnr)
local picker = require('telescope.actions.state').get_current_picker(prompt_bufnr)
local picker = state.get_current_picker(prompt_bufnr)
local multi = picker:get_multi_selection()
if vim.tbl_isempty(multi) then
require('telescope.actions').select_default(prompt_bufnr)
actions.select_default(prompt_bufnr)
return
end
require('telescope.actions').close(prompt_bufnr)
actions.close(prompt_bufnr)
for _, entry in pairs(multi) do
local filename = entry.filename or entry.value
local lnum = entry.lnum or 1
local lcol = entry.col or 1
if filename then
vim.cmd(string.format("tabnew +%d %s", lnum, filename))
vim.cmd(string.format("e +%d %s", lnum, filename))
vim.cmd(string.format("normal! %dG%d|", lnum, lcol))
end
end
end
local actions = require("telescope.actions")
local telescope = require("telescope")
telescope.setup{
defaults = {
mappings = {
@ -96,6 +99,7 @@ telescope.setup{
["I"] = actions.move_to_top,
["K"] = actions.move_to_bottom,
["<C-c>"] = actions.close,
['<CR>'] = multiopen,
},
i = {
['<CR>'] = multiopen,