| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- local is_git_dir = function()
- return os.execute("git rev-parse --is-inside-work-tree >> /dev/null 2>&1")
- end
- local dir_picker_group = vim.api.nvim_create_augroup("DirPicker", { clear = true })
- vim.api.nvim_create_autocmd("VimEnter", {
- group = dir_picker_group,
- callback = function()
- -- If launched as `nvim <dir>`, open Telescope and wipe unnamed normal buffers once a real file is opened.
- if vim.fn.argc() == 1 then
- local target = vim.fn.argv(0)
- if vim.fn.isdirectory(target) == 1 then
- vim.api.nvim_create_autocmd("BufEnter", {
- group = dir_picker_group,
- callback = function()
- local buf = vim.api.nvim_get_current_buf()
- if vim.api.nvim_buf_get_name(buf) ~= "" then
- for _, b in ipairs(vim.api.nvim_list_bufs()) do
- if vim.api.nvim_buf_get_name(b) == "" and vim.bo[b].buftype == "" then
- pcall(vim.api.nvim_buf_delete, b, { force = true })
- end
- end
- vim.api.nvim_del_augroup_by_id(dir_picker_group)
- end
- end,
- })
- local ts_builtin = require("telescope.builtin")
- vim.defer_fn(function()
- if is_git_dir() == 0 then
- ts_builtin.git_files({ show_untracked = true })
- else
- ts_builtin.find_files()
- end
- end, 10)
- end
- end
- end,
- })
|