From b0379f138e2359935e139d2e168f49b4a582c593 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Wed, 10 Jul 2024 21:40:36 +0100 Subject: [PATCH 1/2] home: vim: migrate to 'oil.nvim' --- modules/home/vim/after/plugin/mappings/oil.lua | 8 ++++++++ modules/home/vim/default.nix | 2 +- modules/home/vim/plugin/settings/oil.lua | 3 +++ 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 modules/home/vim/after/plugin/mappings/oil.lua create mode 100644 modules/home/vim/plugin/settings/oil.lua diff --git a/modules/home/vim/after/plugin/mappings/oil.lua b/modules/home/vim/after/plugin/mappings/oil.lua new file mode 100644 index 0000000..f627c34 --- /dev/null +++ b/modules/home/vim/after/plugin/mappings/oil.lua @@ -0,0 +1,8 @@ +local wk = require("which-key") +local oil = require("oil") + +local keys = { + ["-"] = { oil.open, "Open parent directory" }, +} + +wk.register(keys) diff --git a/modules/home/vim/default.nix b/modules/home/vim/default.nix index d7280fb..e2c3504 100644 --- a/modules/home/vim/default.nix +++ b/modules/home/vim/default.nix @@ -46,7 +46,6 @@ in vim-repeat # Enanche '.' for plugins vim-rsi # Readline mappings vim-unimpaired # Some ex command mappings - vim-vinegar # Better netrw # Languages rust-vim @@ -85,6 +84,7 @@ in dressing-nvim # Integrate native UI hooks with Telescope etc... gitsigns-nvim # Fast git UI integration nvim-surround # Deal with pairs, now in Lua + oil-nvim # Better alternative to NetrW telescope-fzf-native-nvim # Use 'fzf' fuzzy matching algorithm telescope-lsp-handlers-nvim # Use 'telescope' for various LSP actions telescope-nvim # Fuzzy finder interface diff --git a/modules/home/vim/plugin/settings/oil.lua b/modules/home/vim/plugin/settings/oil.lua new file mode 100644 index 0000000..0dca2f6 --- /dev/null +++ b/modules/home/vim/plugin/settings/oil.lua @@ -0,0 +1,3 @@ +local oil = require("oil") + +oil.setup() From dfce2a68c4ee35db892043014636f2d762eb84e2 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Wed, 10 Jul 2024 22:16:51 +0100 Subject: [PATCH 2/2] home: vim: oil: add detail view toggle mapping --- modules/home/vim/plugin/settings/oil.lua | 25 +++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/modules/home/vim/plugin/settings/oil.lua b/modules/home/vim/plugin/settings/oil.lua index 0dca2f6..2fee1a5 100644 --- a/modules/home/vim/plugin/settings/oil.lua +++ b/modules/home/vim/plugin/settings/oil.lua @@ -1,3 +1,26 @@ local oil = require("oil") +local detail = false -oil.setup() +oil.setup({ + view_options = { + -- Show files and directories that start with "." by default + show_hidden = true, + -- But never '..' + is_always_hidden = function(name, bufnr) + return name == ".." + end, + }, + keymaps = { + ["gd"] = { + desc = "Toggle file detail view", + callback = function() + detail = not detail + if detail then + oil.set_columns({ "icon", "permissions", "size", "mtime" }) + else + oil.set_columns({ "icon" }) + end + end, + }, + }, +})