Added a fzf-lua picker for workspaces, bound to <leader>w
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user