dotfiles/nvim/lua/plugins/oil-fm.lua
henryEto 7c9e23beb3 ??
2025-08-30 11:33:00 -06:00

83 lines
2.3 KiB
Lua
Executable File

return {
"stevearc/oil.nvim",
---@module 'oil'
---@type oil.SetupOpts
opts = {
default_view = "float",
columns = {
"icon",
-- "permissions",
-- "size",
-- "mtime",
},
delete_to_trash = true,
skip_confirm_for_simple_edits = false,
prompt_save_on_select_new_entry = true,
-- Set to `false` to disable, or "name" to keep it on the file names
constrain_cursor = "name",
-- Set to `false` to remove a keymap
keymaps = {
["g?"] = { "actions.show_help", mode = "n" },
["<CR>"] = "actions.select",
["<C-s>"] = { "actions.select", opts = { vertical = true } },
["<C-h>"] = { "actions.select", opts = { horizontal = true } },
["<C-t>"] = { "actions.select", opts = { tab = true } },
["<C-p>"] = "actions.preview",
["q"] = { "actions.close", mode = "n" },
["R"] = "actions.refresh",
["<bs>"] = { "actions.parent", mode = "n" },
["_"] = { "actions.open_cwd", mode = "n" },
["`"] = { "actions.cd", mode = "n" },
["~"] = { "actions.cd", opts = { scope = "tab" }, mode = "n" },
["gs"] = { "actions.change_sort", mode = "n" },
["gx"] = "actions.open_external",
["g."] = { "actions.toggle_hidden", mode = "n" },
["g\\"] = { "actions.toggle_trash", mode = "n" },
},
-- Set to false to disable all of the above keymaps
use_default_keymaps = true,
view_options = {
show_hidden = false,
-- Can be "fast", true, or false. "fast" will turn it off for large directories.
natural_order = "fast",
case_insensitive = false,
},
-- Configuration for the floating window in oil.open_float
float = {
padding = 13,
max_width = 0.8,
max_height = 0.8,
border = "rounded",
win_options = {
winblend = 0,
},
preview_split = "auto",
},
-- Configuration for the floating action confirmation window
confirmation = {
-- max_width = {100, 0.8} means "the lesser of 100 columns or 80% of total"
max_width = 0.9,
min_width = { 40, 0.4 },
max_height = 0.9,
min_height = { 5, 0.1 },
border = "rounded",
win_options = {
winblend = 0,
},
},
-- Configuration for the floating progress window
progress = {
max_width = 0.9,
min_width = { 40, 0.4 },
max_height = { 10, 0.9 },
min_height = { 5, 0.1 },
border = "rounded",
win_options = {
winblend = 0,
},
},
},
dependencies = { { "echasnovski/mini.icons", opts = {} } },
lazy = false,
}