From 0c995487877fa5a586bd74401c2af5fc2e1c3062 Mon Sep 17 00:00:00 2001 From: Martin Fischer Date: Fri, 2 Oct 2026 18:00:45 +0200 Subject: tweak(workstation): make nvim open mini.pick when passed dir --- user/nvim/init.lua | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'user/nvim') 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', '', 'nohlsearch', { desc = 'Clear search highl vim.keymap.set('n', '', 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, +}) -- cgit v1.3.1