Added a fzf-lua picker for workspaces, bound to <leader>w

This commit is contained in:
2024-09-11 23:25:04 +02:00
parent bddd3dc1ee
commit 07ced57dc5
2 changed files with 25 additions and 2 deletions

View File

@@ -16,5 +16,28 @@ vim.keymap.set('n', '/', fzf.blines, { desc = "Search buffer" })
vim.keymap.set('n', '<leader>g', ":Neogit<CR>", { desc = "Git Manager" }) vim.keymap.set('n', '<leader>g', ":Neogit<CR>", { desc = "Git Manager" })
vim.keymap.set('n', '<leader>t', ":Neotree<CR>", { desc = "File Manager" }) vim.keymap.set('n', '<leader>t', ":Neotree<CR>", { desc = "File Manager" })
--
-- configure workspaces -- configure workspaces
vim.keymap.set('n', '<leader>w', ":WorkspacesOpen<CR>", { desc = "Open a workspace" }) -- also add a custom picker to fzf
--
local workspaces = require('workspaces')
workspaces_fzf_picker = function(opts)
local fzf_lua = require('fzf-lua')
opts = opts or {}
opts.prompt = "Workspaces> "
opts.actions = {
['default'] = function(selected)
workspaces.open(selected[1])
end
}
fzf_lua.fzf_exec(function(fzf_cb)
-- NOP
local ws = workspaces.get()
ws = ws or {}
for i = 1, #ws do
fzf_cb(ws[i].name)
end
fzf_cb() -- EOF
end, opts)
end
vim.keymap.set('n', '<leader>w', workspaces_fzf_picker)

View File

@@ -102,7 +102,7 @@ require("lazy").setup({
expand = 4, expand = 4,
keys = { keys = {
scroll_down = "<c-d>", -- binding to scroll down inside the popup scroll_down = "<c-d>", -- binding to scroll down inside the popup
scroll_up = "<c-u>", -- binding to scroll up inside the popup scroll_up = "<c-u>", -- binding to scroll up inside the popup
}, },
}, },
keys = { keys = {