nvim/lua/custom/plugins/oil.lua
Jeremie Fraeys cdf35d8502
Some checks failed
Luacheck / luacheck (push) Failing after 12s
StyLua / stylua (push) Successful in 2s
fix: harpoon now works in oil buffers
2026-02-08 16:52:49 -05:00

66 lines
1.8 KiB
Lua
Executable file

return {
'stevearc/oil.nvim',
keys = {
{ '<leader>e', '<CMD>Oil<CR>', desc = 'Open parent directory' },
{
'<leader>E',
function()
require('oil').toggle_float()
end,
desc = 'Toggle oil floating window',
},
},
dependencies = { 'nvim-tree/nvim-web-devicons' },
config = function()
local oil = require('oil')
oil.setup({
columns = {
'icon',
-- 'permissions',
},
keymaps = {
['C-h'] = false,
['M-h'] = 'actions.select_split',
},
view_options = {
show_hidden = true,
},
float = {
padding = 2,
max_width = 80,
max_height = 30,
border = 'rounded',
win_options = {
winblend = 0,
},
relative = 'editor',
},
})
-- Theme-aware highlights for oil
local function set_oil_highlights()
if vim.o.background == 'dark' then
-- Monokai colors
vim.api.nvim_set_hl(0, 'OilDir', { fg = '#A6E22E' })
vim.api.nvim_set_hl(0, 'OilFile', { fg = '#D3D0C8' })
vim.api.nvim_set_hl(0, 'OilHiddenFile', { fg = '#75715E' })
vim.api.nvim_set_hl(0, 'OilProgress', { fg = '#66D9EF' })
vim.api.nvim_set_hl(0, 'OilSymlink', { fg = '#F92672' })
else
-- Solarized light colors
vim.api.nvim_set_hl(0, 'OilDir', { fg = '#859900' })
vim.api.nvim_set_hl(0, 'OilFile', { fg = '#657B83' })
vim.api.nvim_set_hl(0, 'OilHiddenFile', { fg = '#93A1A1' })
vim.api.nvim_set_hl(0, 'OilProgress', { fg = '#268BD2' })
vim.api.nvim_set_hl(0, 'OilSymlink', { fg = '#D30102' })
end
end
set_oil_highlights()
vim.api.nvim_create_autocmd('OptionSet', {
pattern = 'background',
callback = set_oil_highlights,
})
end,
}