Files
dotfiles/nvim/.config/nvim/lua/romanzy/plugins/oil.lua
2026-07-02 02:54:58 +02:00

58 lines
1.9 KiB
Lua

vim.pack.add({
{
src = "https://github.com/stevearc/oil.nvim",
name = "oil.nvim",
},
{
src = "https://github.com/malewicz1337/oil-git.nvim",
name = "oil-git.nvim",
},
})
local function set_oil_git_highlights()
vim.api.nvim_set_hl(0, "OilGitAdded", { link = "MiniDiffSignAdd" })
vim.api.nvim_set_hl(0, "OilGitUntracked", { link = "MiniDiffSignAdd" })
vim.api.nvim_set_hl(0, "OilGitModifiedStaged", { link = "MiniDiffSignChange" })
vim.api.nvim_set_hl(0, "OilGitModifiedUnstaged", { link = "MiniDiffSignChange" })
vim.api.nvim_set_hl(0, "OilGitRenamed", { link = "MiniDiffSignChange" })
vim.api.nvim_set_hl(0, "OilGitCopied", { link = "MiniDiffSignChange" })
vim.api.nvim_set_hl(0, "OilGitDeleted", { link = "MiniDiffSignDelete" })
vim.api.nvim_set_hl(0, "OilGitConflict", { link = "MiniDiffSignDelete" })
end
require("oil").setup({
keymaps = {
["<C-h>"] = false,
["<C-j>"] = false,
["<C-k>"] = false,
["<C-l>"] = false,
["gR"] = "actions.refresh", -- replaces default <C-l> behavior
["<C-s>"] = false,
["<C-p>"] = { "actions.preview", opts = { vertical = true, split = "belowright" } },
["<BS>"] = { "actions.parent", mode = "n" },
},
view_options = {
show_hidden = true,
is_hidden_file = function(name, _)
return vim.startswith(name, ".")
end,
is_always_hidden = function(name, _)
return name == ".git"
end,
},
})
require("oil-git").setup({
show_file_highlights = true,
show_directory_highlights = true,
show_file_symbols = true,
show_directory_symbols = true,
symbol_position = "none",
})
set_oil_git_highlights()
vim.api.nvim_create_autocmd("ColorScheme", {
group = vim.api.nvim_create_augroup("romanzy_oil_git_highlights", { clear = true }),
callback = set_oil_git_highlights,
})