nvim/lua/pika/plugins/explorer.lua

125 lines
4 KiB
Lua

return {
-- ─< neotree - fallback >────────────────────────────────────────────────────────────────────────
{
"nvim-neo-tree/neo-tree.nvim",
branch = "v3.x",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
"MunifTanjim/nui.nvim",
-- "3rd/image.nvim", -- Optional image support in preview window: See `# Preview Mode` for more information
},
vim.keymap.set("n", "<leader>e", "<CMD>:Neotree toggle<CR>"),
vim.keymap.set("n", "<leader>Ee", "<CMD>:Neotree left<CR>"),
vim.keymap.set("n", "<leader>Ef", "<CMD>:Neotree float<CR>"),
vim.keymap.set("n", "<leader>Eg", "<CMD>:Neotree git_status float<CR>"),
vim.keymap.set("n", "<leader>Eb", "<CMD>:Neotree buffers position=top<CR>"),
},
---@type LazySpec
{
"mikavilpas/yazi.nvim",
event = "VeryLazy",
keys = {
-- 👇 in this section, choose your own keymappings!
-- {
-- "<leader>lf",
-- "<cmd>Yazi<cr>",
-- desc = "Open yazi at the current file",
-- },
{
-- Open in the current working directory
"<leader>Lf",
"<cmd>Yazi cwd<cr>",
desc = "Open the file manager in nvim's working directory",
},
{
-- NOTE: this requires a version of yazi that includes
-- https://github.com/sxyazi/yazi/pull/1305 from 2024-07-18
"<leader>lf",
"<cmd>Yazi toggle<cr>",
desc = "Resume the last yazi session",
},
},
---@type YaziConfig
opts = {
-- if you want to open yazi instead of netrw, see below for more info
open_for_directories = true,
keymaps = {
show_help = "<f1>",
},
},
},
-- {
-- "kelly-lin/ranger.nvim",
-- config = function()
-- local ranger_nvim = require("ranger-nvim")
-- ranger_nvim.setup({
-- enable_cmds = false,
-- replace_netrw = false,
-- keybinds = {
-- ["<C-v>"] = ranger_nvim.OPEN_MODE.vsplit,
-- ["<C-h>"] = ranger_nvim.OPEN_MODE.split,
-- ["ot"] = ranger_nvim.OPEN_MODE.tabedit,
-- ["or"] = ranger_nvim.OPEN_MODE.rifle,
-- },
-- ui = {
-- border = "none",
-- height = 0.7,
-- width = 0.7,
-- x = 0.5,
-- y = 0.5,
-- },
-- })
-- require("ranger-nvim").setup({ replace_netrw = true })
-- vim.api.nvim_set_keymap("n", "<leader>lf", "", {
-- noremap = true,
-- callback = function()
-- require("ranger-nvim").open(true)
-- end,
-- })
-- end,
-- },
-- {
-- "lmburns/lf.nvim",
-- dependencies = {
-- "akinsho/toggleterm.nvim",
-- },
-- config = function()
-- -- This feature will not work if the plugin is lazy-loaded
-- vim.g.lf_netrw = 1
--
-- require("lf").setup({
-- default_action = "drop", -- default action when `Lf` opens a file
-- default_actions = { -- default action keybindings
-- ["<C-t>"] = "tabedit",
-- ["<C-x>"] = "split",
-- ["<C-v>"] = "vsplit",
-- ["<C-o>"] = "tab drop",
-- },
-- winblend = 30, -- psuedotransparency level
-- direction = "float", -- window type: float horizontal vertical
-- border = "curved", -- border kind: single double shadow curved
-- escape_quit = true, -- map escape to the quit command (so it doesn't go into a meta normal mode)
-- focus_on_open = true, -- focus the current file when opening Lf (experimental)
-- mappings = true, -- whether terminal buffer mapping is enabled
-- tmux = false, -- tmux statusline can be disabled on opening of Lf
-- default_file_manager = true, -- make lf default file manager
-- disable_netrw_warning = true, -- don't display a message when opening a directory with `default_file_manager` as true
-- })
--
-- -- Set keymap for Lf
-- vim.keymap.set("n", "<leader>lf", "<Cmd>Lf<CR>")
--
-- -- Create autocmd for LfTermEnter
-- vim.api.nvim_create_autocmd("User", {
-- pattern = "LfTermEnter",
-- callback = function(a)
-- vim.api.nvim_buf_set_keymap(a.buf, "t", "q", "q", { nowait = true })
-- end,
-- })
-- end,
-- },
}