feat(mini): modularize the config a bit.
This commit is contained in:
parent
8d49f9b18d
commit
494ddcf985
9 changed files with 192 additions and 194 deletions
37
lua/plugins/mini/files.lua
Normal file
37
lua/plugins/mini/files.lua
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
-- super simple but amazing file manager
|
||||
require("mini.files").setup()
|
||||
|
||||
-- setup simple function for toggling mini.files
|
||||
local minifiles_toggle = function(...)
|
||||
if not MiniFiles.close() then MiniFiles.open(...) end
|
||||
end
|
||||
|
||||
-- Set focused directory as current working directory
|
||||
local set_cwd = function()
|
||||
local path = (MiniFiles.get_fs_entry() or {}).path
|
||||
if path == nil then return vim.notify('Cursor is not on valid entry') end
|
||||
vim.fn.chdir(vim.fs.dirname(path))
|
||||
end
|
||||
|
||||
-- Yank in register full path of entry under cursor
|
||||
local yank_path = function()
|
||||
local path = (MiniFiles.get_fs_entry() or {}).path
|
||||
if path == nil then return vim.notify('Cursor is not on valid entry') end
|
||||
vim.fn.setreg(vim.v.register, path)
|
||||
end
|
||||
|
||||
-- Open path with system default handler (useful for non-text files)
|
||||
local ui_open = function() vim.ui.open(MiniFiles.get_fs_entry().path) end
|
||||
|
||||
vim.api.nvim_create_autocmd('User', {
|
||||
pattern = 'MiniFilesBufferCreate',
|
||||
callback = function(args)
|
||||
local b = args.data.buf_id
|
||||
vim.keymap.set('n', 'g~', set_cwd, { buffer = b, desc = 'Set cwd' })
|
||||
vim.keymap.set('n', 'gX', ui_open, { buffer = b, desc = 'OS open' })
|
||||
vim.keymap.set('n', 'gy', yank_path, { buffer = b, desc = 'Yank path' })
|
||||
end,
|
||||
})
|
||||
|
||||
-- setup keybinding for mini.files
|
||||
vim.keymap.set("n", "<Leader>e", function() minifiles_toggle() end, { desc = "Toggle mini.files explorer" })
|
||||
Loading…
Add table
Add a link
Reference in a new issue