diff options
author | Toby Vincent <tobyv@tobyvin.dev> | 2023-09-30 22:12:08 -0500 |
---|---|---|
committer | Toby Vincent <tobyv@tobyvin.dev> | 2023-09-30 22:14:23 -0500 |
commit | b63ac0a9a19d41f9cb3e72d7988608790c287adf (patch) | |
tree | 52e43d142c804844225851be5ee3270555db9b56 /nvim | |
parent | b29a830f341b9bf537cdcb25959365ea4f03c462 (diff) |
feat(nvim): replace netrw with oil.nvim
Diffstat (limited to 'nvim')
-rw-r--r-- | nvim/.config/nvim/lazy-lock.json | 1 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/plugins/oil.lua | 30 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/autocmds.lua | 4 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/lazy.lua | 7 |
4 files changed, 42 insertions, 0 deletions
diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/nvim/lazy-lock.json index de20bc6..13a0465 100644 --- a/nvim/.config/nvim/lazy-lock.json +++ b/nvim/.config/nvim/lazy-lock.json @@ -48,6 +48,7 @@ "nvim-treesitter-textobjects": { "branch": "master", "commit": "bd103502252027434ec42f628d2dbf54821d4ce6" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "95e9ba9de4289d221666b66fd930d157c7ca08c6" }, "nvim-ts-hint-textobject": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, + "oil.nvim": { "branch": "master", "commit": "956d7fc89b0bd1f9ea6515ca10c1e2a293e4d8fd" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" }, "presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" }, diff --git a/nvim/.config/nvim/lua/plugins/oil.lua b/nvim/.config/nvim/lua/plugins/oil.lua new file mode 100644 index 0000000..ff48f6c --- /dev/null +++ b/nvim/.config/nvim/lua/plugins/oil.lua @@ -0,0 +1,30 @@ +---@diagnostic disable: param-type-mismatch +---@type LazyPluginSpec +local M = { + "stevearc/oil.nvim", + version = "*", + cmd = { "Oil", "BufNew" }, + keys = { + "-", + }, + opts = { + default_file_explorer = true, + skip_confirm_for_simple_edits = true, + }, +} + +function M:init() + vim.keymap.set("n", "-", function() + return require("oil").open() + end, { desc = "Open parent directory" }) + + if vim.fn.argc() == 1 then + local stat = vim.loop.fs_stat(vim.fn.argv(0)) + local adapter = string.match(vim.fn.argv(0), "^([%l-]*)://") + if (stat and stat.type == "directory") or adapter == "oil-ssh" then + require("lazy").load({ plugins = { "oil.nvim" } }) + end + end +end + +return M diff --git a/nvim/.config/nvim/lua/tobyvin/autocmds.lua b/nvim/.config/nvim/lua/tobyvin/autocmds.lua index 32c325e..697a7c0 100644 --- a/nvim/.config/nvim/lua/tobyvin/autocmds.lua +++ b/nvim/.config/nvim/lua/tobyvin/autocmds.lua @@ -95,6 +95,10 @@ vim.api.nvim_create_autocmd({ "VimEnter", "FocusGained" }, { vim.api.nvim_create_autocmd("BufWritePre", { group = augroup, callback = function(args) + if not vim.bo[args.buf].buflisted then + return + end + local file = vim.loop.fs_realpath(args.match) or args.match local parent = vim.fn.fnamemodify(file, ":h") local stat = vim.loop.fs_stat(parent) diff --git a/nvim/.config/nvim/lua/tobyvin/lazy.lua b/nvim/.config/nvim/lua/tobyvin/lazy.lua index bb44179..9cb810a 100644 --- a/nvim/.config/nvim/lua/tobyvin/lazy.lua +++ b/nvim/.config/nvim/lua/tobyvin/lazy.lua @@ -31,4 +31,11 @@ require("lazy").setup("plugins", { ui = { border = "single", }, + performance = { + rtp = { + disabled_plugins = { + "netrwPlugin", + }, + }, + }, }) |