autocmd.lua 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. -- vim.api.nvim_create_autocmd("VimEnter", {
  2. -- callback = function()
  3. -- if vim.fn.argv(0) == "" then
  4. -- vim.cmd("set modifiable")
  5. -- require('telescope.builtin').find_files()
  6. -- end
  7. -- end,
  8. -- })
  9. local function close_all_buffers_but_current()
  10. local current_buf = vim.api.nvim_get_current_buf()
  11. local all_bufs = vim.api.nvim_list_bufs()
  12. for _, buf in ipairs(all_bufs) do
  13. if buf ~= current_buf then
  14. vim.api.nvim_buf_delete(buf, {})
  15. end
  16. end
  17. end
  18. local is_git_dir = function()
  19. return os.execute("git rev-parse --is-inside-work-tree >> /dev/null 2>&1")
  20. end
  21. vim.api.nvim_create_autocmd("VimEnter", {
  22. callback = function()
  23. local bufferPath = vim.fn.expand("%:p")
  24. if vim.fn.isdirectory(bufferPath) ~= 0 then
  25. local ts_builtin = require("telescope.builtin")
  26. -- close_all_buffers_but_current()
  27. -- vim.api.nvim_buf_delete(0, { force = true })
  28. vim.defer_fn(function()
  29. if is_git_dir() == 0 then
  30. ts_builtin.git_files({ show_untracked = true })
  31. else
  32. ts_builtin.find_files()
  33. end
  34. end, 10) -- 10ms delay
  35. end
  36. end,
  37. })