return { 'stevearc/oil.nvim', cmd = 'Oil', keys = { { 'e', 'Oil', desc = 'Open parent directory' }, { 'E', function() require('oil').toggle_float() end, desc = 'Toggle oil floating window', }, }, dependencies = { { 'nvim-tree/nvim-web-devicons', optional = true } }, config = function() require('oil').setup({ columns = { 'icon' }, keymaps = { [''] = false, [''] = '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', }, }) local function set_oil_highlights() if vim.o.background == 'dark' then 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 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('ColorScheme', { callback = set_oil_highlights, }) end, }