summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--nvim/.config/nvim/lazy-lock.json1
-rw-r--r--nvim/.config/nvim/lua/plugins/oil.lua30
-rw-r--r--nvim/.config/nvim/lua/tobyvin/autocmds.lua4
-rw-r--r--nvim/.config/nvim/lua/tobyvin/lazy.lua7
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",
+ },
+ },
+ },
})