aboutsummaryrefslogtreecommitdiff
path: root/user/nvim
diff options
context:
space:
mode:
authorMartin Fischer <martin@push-f.com>2026-10-02 18:00:45 +0200
committerMartin Fischer <martin@push-f.com>2026-10-10 19:54:55 +0200
commit0c995487877fa5a586bd74401c2af5fc2e1c3062 (patch)
treea32e3fd355e2970a2e03a47010c80c6b364074a0 /user/nvim
parentb657343b58adb1d4a8ab7f648c9683c4b1d67128 (diff)
tweak(workstation): make nvim open mini.pick when passed dir
Diffstat (limited to 'user/nvim')
-rw-r--r--user/nvim/init.lua30
1 files changed, 30 insertions, 0 deletions
diff --git a/user/nvim/init.lua b/user/nvim/init.lua
index 2874c1d..282d086 100644
--- a/user/nvim/init.lua
+++ b/user/nvim/init.lua
@@ -30,3 +30,33 @@ vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>', { desc = 'Clear search highl
vim.keymap.set('n', '<C-p>', function()
pick.builtin.files()
end, { desc = 'Pick files' })
+
+-- Disable netrw's directory browser; directory arguments are handled below with MiniPick.
+vim.g.loaded_netrw = 1
+vim.g.loaded_netrwPlugin = 1
+-- When Neovim is started with a directory, use MiniPick instead of netrw.
+vim.api.nvim_create_autocmd('VimEnter', {
+ callback = function()
+ local dir = vim.fn.argc() == 1 and vim.fn.argv(0) or nil
+ if not dir or vim.fn.isdirectory(dir) == 0 then
+ return
+ end
+
+ vim.fn.chdir(vim.fn.fnamemodify(dir, ':p'))
+
+ local buf = vim.api.nvim_get_current_buf()
+ vim.cmd.enew()
+ vim.api.nvim_buf_delete(buf, { force = true })
+
+ pick.builtin.files(nil, {
+ source = {
+ -- Without this filetype detection doesn't run for some reason.
+ choose = function(path)
+ vim.schedule(function()
+ vim.cmd.edit(vim.fn.fnameescape(path))
+ end)
+ end,
+ },
+ })
+ end,
+})