nvim-neo-tree / neo-tree.nvim

Neovim plugin to manage the file system and other tree like structures.
MIT License
3.72k stars 218 forks source link

filesystem redraws/delays #236

Closed gegoune closed 2 years ago

gegoune commented 2 years ago

Hi, apologies for poor issue here but don't have much time at the moment so putting it here in case it will easily indicate what the problem is. Will try to update this issue with more meaningful information next week.

When opening filesystem tree there is a very small but noticeable delay (before window opens) during which my cursor blinks few times (I don't have blinking cursor in my terminal). Delay is of about half a sec or even less, hard to tell and am not sure how to measure it. For reference both git_status and buffers trees open immediately without blinking the cursor (or at least it happens so fast that I can't see it). I have tested nvim-tree, which opens immediately for the same file in the same repository so I doubt it's IO issue. Perhaps some redrawing for new conteiners? I am not sure if it was like that before though, can try to bisect next week.

akinsho commented 2 years ago

I just tried with the visible as true and hiding dotfiles in my Dropbox folder which doesn't really contain hidden files (that I put here, might have dropbox's) and it's quite slow, also tried in a very small go project with like 2 hidden files, and it was the same result.

cseickel commented 2 years ago

I can't make sense of this one @akinsho. The only thing the hidden file check does is check to see if the first character is a dot. Of all the things that happen between the command and completing the render, that's probably the lightest weight feature.

Gitignore logic is much heavier and I can see how issues there can cause slowdowns. Could it be that it's specifically the hide_gitignore option that is the issue?

akinsho commented 2 years ago

@cseickel I tried playing around with variations of those three options and as you say it seems to primarily be due to hide_gitignore it seems to really slow things down to have it set to true (if visible is also true).

cseickel commented 2 years ago

@akinsho If you check out branch 236-gitignored-slowdown and enable trace logging like you did before, it will output much more verbose logging in the mark_ignored method. Can you give it a try and post those logs? It should look like this:

[TRACE Tue 12 Apr 2022 12:15:36 PM UTC] .../packer/start/neo-tree.nvim/lua/neo-tree/git/ignored.lua:52: ================================================================================
[TRACE Tue 12 Apr 2022 12:15:36 PM UTC] .../packer/start/neo-tree.nvim/lua/neo-tree/git/ignored.lua:53: IGNORED: mark_ignore BEGIN...
[TRACE Tue 12 Apr 2022 12:15:36 PM UTC] ...ck/packer/start/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 2022 12:15:36 PM UTC] ...ck/packer/start/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /home/cseickel/repos/neo-tree.nvim/.github ' is ' /home/cseickel/repos/neo-tree.nvim '
[TRACE Tue 12 Apr 2022 12:15:36 PM UTC] ...ck/packer/start/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /home/cseickel/repos/neo-tree.nvim ' is ' /home/cseickel/repos/neo-tree.nvim '
[TRACE Tue 12 Apr 2022 12:15:36 PM UTC] ...ck/packer/start/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /home/cseickel/repos/neo-tree.nvim/doc ' is ' /home/cseickel/repos/neo-tree.nvim '
[TRACE Tue 12 Apr 2022 12:15:36 PM UTC] ...ck/packer/start/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /home/cseickel/repos/neo-tree.nvim/lua ' is ' /home/cseickel/repos/neo-tree.nvim '
[TRACE Tue 12 Apr 2022 12:15:36 PM UTC] ...ck/packer/start/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /home/cseickel/repos/neo-tree.nvim/plugin ' is ' /home/cseickel/repos/neo-tree.nvim '
[TRACE Tue 12 Apr 2022 12:15:36 PM UTC] ...ck/packer/start/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /home/cseickel/repos/neo-tree.nvim/tests ' is ' /home/cseickel/repos/neo-tree.nvim '
[TRACE Tue 12 Apr 2022 12:15:36 PM UTC] ...ck/packer/start/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /home/cseickel/repos/neo-tree.nvim/lua/neo-tree ' is ' /home/cseickel/repos/neo-tree.nvim '
[TRACE Tue 12 Apr 2022 12:15:36 PM UTC] ...ck/packer/start/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /home/cseickel/repos/neo-tree.nvim/lua/neo-tree/git ' is ' /home/cseickel/repos/neo-tree.nvim '
[TRACE Tue 12 Apr 2022 12:15:36 PM UTC] ...ck/packer/start/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /home/cseickel/repos/neo-tree.nvim/lua/neo-tree/events ' is ' /home/cseickel/repos/neo-tree.nvim '
[TRACE Tue 12 Apr 2022 12:15:36 PM UTC] ...ck/packer/start/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /home/cseickel/repos/neo-tree.nvim/lua/neo-tree/sources ' is ' /home/cseickel/repos/neo-tree.nvim '
[TRACE Tue 12 Apr 2022 12:15:36 PM UTC] ...ck/packer/start/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /home/cseickel/repos/neo-tree.nvim/lua/neo-tree/ui ' is ' /home/cseickel/repos/neo-tree.nvim '
[TRACE Tue 12 Apr 2022 12:15:36 PM UTC] ...ck/packer/start/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /home/cseickel/repos/neo-tree.nvim/lua/neo-tree/command ' is ' /home/cseickel/repos/neo-tree.nvim '
[TRACE Tue 12 Apr 2022 12:15:36 PM UTC] ...ck/packer/start/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /home/cseickel/repos/neo-tree.nvim/lua/neo-tree/setup ' is ' /home/cseickel/repos/neo-tree.nvim '
[TRACE Tue 12 Apr 2022 12:15:36 PM UTC] .../packer/start/neo-tree.nvim/lua/neo-tree/git/ignored.lua:70: IGNORED: Running cmd:  { "git", "-C", "/home/cseickel/repos/neo-tree.nvim", "check-ignore", "/home/cseickel/repos/neo-tree.nvim/.github", "/home/cseickel/repos/neo-tree.nvim/.stylua.toml", "/home/cseickel/repos/neo-tree.nvi...
[TRACE Tue 12 Apr 2022 12:15:36 PM UTC] .../packer/start/neo-tree.nvim/lua/neo-tree/git/ignored.lua:86: IGNORED: Checking types of 1 items to see which ones are directories
[TRACE Tue 12 Apr 2022 12:15:36 PM UTC] .../packer/start/neo-tree.nvim/lua/neo-tree/git/ignored.lua:96: IGNORED: Comparing results to mark items as ignored
[TRACE Tue 12 Apr 2022 12:15:36 PM UTC] .../packer/start/neo-tree.nvim/lua/neo-tree/git/ignored.lua:107: IGNORED: mark_ignored is complete, ignored: 1 , not ignored: 29
[TRACE Tue 12 Apr 2022 12:15:36 PM UTC] .../packer/start/neo-tree.nvim/lua/neo-tree/git/ignored.lua:108: ================================================================================
akinsho commented 2 years ago

@cseickel just gave it a try, it looks to me like the block happens before all the additional logging as the buf enter event starts at 13:55:55 but the next logs arent till 13:56:02.

```log [DEBUG Tue 12 Apr 13:35:55 2022] ...ack/packer/opt/neo-tree.nvim/lua/neo-tree/setup/init.lua:284: setup [DEBUG Tue 12 Apr 13:35:55 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/events/init.lua:61: Defining autocmd event: %s vim_diagnostic_changed [DEBUG Tue 12 Apr 13:35:55 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/events/init.lua:61: Defining autocmd event: %s vim_buffer_changed [DEBUG Tue 12 Apr 13:35:55 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/events/init.lua:61: Defining autocmd event: %s vim_buffer_modified_set [DEBUG Tue 12 Apr 13:35:55 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/events/init.lua:61: Defining autocmd event: %s vim_buffer_added [DEBUG Tue 12 Apr 13:35:55 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/events/init.lua:61: Defining autocmd event: %s vim_buffer_deleted [DEBUG Tue 12 Apr 13:35:55 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/events/init.lua:61: Defining autocmd event: %s vim_buffer_enter [DEBUG Tue 12 Apr 13:35:55 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/events/init.lua:61: Defining autocmd event: %s vim_win_enter [DEBUG Tue 12 Apr 13:35:55 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/events/init.lua:61: Defining autocmd event: %s vim_dir_changed [DEBUG Tue 12 Apr 13:35:55 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/events/init.lua:61: Defining autocmd event: %s vim_tab_closed [DEBUG Tue 12 Apr 13:35:55 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/events/init.lua:61: Defining autocmd event: %s vim_colorscheme [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:171: Creating queue for event: vim_buffer_enter [TRACE Tue 12 Apr 13:35:55 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/events/init.lua:50: Registering autocmds: %s augroup NeoTreeEvent_vim_buffer_enter autocmd BufEnter,BufWinEnter * :lua require('neo-tree.events').fire_event('vim_buffer_enter', { afile = vim.fn.expand('') }) augroup END [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:178: Setup for event vim_buffer_enter was run [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:185: Adding event handler [ nil ] for event: vim_buffer_enter [DEBUG Tue 12 Apr 13:35:55 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:491: filesystem setup { async_directory_scan = "auto", bind_to_cwd = true, commands = { add = , add_directory = , clear_filter = , close_all_nodes = , ... [TRACE Tue 12 Apr 13:35:55 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:142: subscribing to event: filesystem.git_status_changed [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:171: Creating queue for event: git_status_changed [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:185: Adding event handler [ filesystem.git_status_changed ] for event: git_status_changed [TRACE Tue 12 Apr 13:35:55 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:142: subscribing to event: filesystem.vim_buffer_changed [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:171: Creating queue for event: vim_buffer_changed [TRACE Tue 12 Apr 13:35:55 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/events/init.lua:50: Registering autocmds: %s augroup NeoTreeEvent_vim_buffer_changed autocmd BufWritePost,BufFilePost,BufModifiedSet * :lua require('neo-tree.events').fire_event('vim_buffer_changed', { afile = vim.fn.expand('') }) augroup END [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:178: Setup for event vim_buffer_changed was run [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:185: Adding event handler [ filesystem.vim_buffer_changed ] for event: vim_buffer_changed [TRACE Tue 12 Apr 13:35:55 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:142: subscribing to event: filesystem.vim_dir_changed [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:171: Creating queue for event: vim_dir_changed [TRACE Tue 12 Apr 13:35:55 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/events/init.lua:50: Registering autocmds: %s augroup NeoTreeEvent_vim_dir_changed autocmd DirChanged * ++nested :lua require('neo-tree.events').fire_event('vim_dir_changed', { afile = vim.fn.expand('') }) augroup END [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:178: Setup for event vim_dir_changed was run [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:185: Adding event handler [ filesystem.vim_dir_changed ] for event: vim_dir_changed [TRACE Tue 12 Apr 13:35:55 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:142: subscribing to event: filesystem.vim_diagnostic_changed [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:171: Creating queue for event: vim_diagnostic_changed [TRACE Tue 12 Apr 13:35:55 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/events/init.lua:50: Registering autocmds: %s augroup NeoTreeEvent_vim_diagnostic_changed autocmd DiagnosticChanged * :lua require('neo-tree.events').fire_event('vim_diagnostic_changed', { afile = vim.fn.expand('') }) augroup END [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:178: Setup for event vim_diagnostic_changed was run [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:185: Adding event handler [ filesystem.vim_diagnostic_changed ] for event: vim_diagnostic_changed [TRACE Tue 12 Apr 13:35:55 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:142: subscribing to event: filesystem.vim_buffer_modified_set [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:171: Creating queue for event: vim_buffer_modified_set [TRACE Tue 12 Apr 13:35:55 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/events/init.lua:50: Registering autocmds: %s augroup NeoTreeEvent_vim_buffer_modified_set autocmd BufModifiedSet * :lua require('neo-tree.events').fire_event('vim_buffer_modified_set', { afile = vim.fn.expand('') }) augroup END [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:178: Setup for event vim_buffer_modified_set was run [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:185: Adding event handler [ filesystem.vim_buffer_modified_set ] for event: vim_buffer_modified_set [TRACE Tue 12 Apr 13:35:55 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:142: subscribing to event: filesystem.vim_tab_closed [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:171: Creating queue for event: vim_tab_closed [TRACE Tue 12 Apr 13:35:55 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/events/init.lua:50: Registering autocmds: %s augroup NeoTreeEvent_vim_tab_closed autocmd TabClosed * :lua require('neo-tree.events').fire_event('vim_tab_closed', { afile = vim.fn.expand('') }) augroup END [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:178: Setup for event vim_tab_closed was run [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:185: Adding event handler [ filesystem.vim_tab_closed ] for event: vim_tab_closed [DEBUG Tue 12 Apr 13:35:55 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:491: buffers setup { bind_to_cwd = true, commands = { add = , add_directory = , buffer_delete = , close_all_nodes = , close_node = , ... [TRACE Tue 12 Apr 13:35:55 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:142: subscribing to event: buffers.before_render [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:171: Creating queue for event: before_render [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:185: Adding event handler [ buffers.before_render ] for event: before_render [TRACE Tue 12 Apr 13:35:55 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:142: subscribing to event: buffers.vim_buffer_changed [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:185: Adding event handler [ buffers.vim_buffer_changed ] for event: vim_buffer_changed [TRACE Tue 12 Apr 13:35:55 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:142: subscribing to event: buffers.vim_buffer_added [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:171: Creating queue for event: vim_buffer_added [TRACE Tue 12 Apr 13:35:55 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/events/init.lua:50: Registering autocmds: %s augroup NeoTreeEvent_vim_buffer_added autocmd BufAdd * :lua require('neo-tree.events').fire_event('vim_buffer_added', { afile = vim.fn.expand('') }) augroup END [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:178: Setup for event vim_buffer_added was run [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:185: Adding event handler [ buffers.vim_buffer_added ] for event: vim_buffer_added [TRACE Tue 12 Apr 13:35:55 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:142: subscribing to event: buffers.vim_buffer_deleted [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:171: Creating queue for event: vim_buffer_deleted [TRACE Tue 12 Apr 13:35:55 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/events/init.lua:50: Registering autocmds: %s augroup NeoTreeEvent_vim_buffer_deleted autocmd BufDelete * :lua require('neo-tree.events').fire_event('vim_buffer_deleted', { afile = vim.fn.expand('') }) augroup END [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:178: Setup for event vim_buffer_deleted was run [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:185: Adding event handler [ buffers.vim_buffer_deleted ] for event: vim_buffer_deleted [TRACE Tue 12 Apr 13:35:55 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:142: subscribing to event: buffers.vim_dir_changed [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:185: Adding event handler [ buffers.vim_dir_changed ] for event: vim_dir_changed [TRACE Tue 12 Apr 13:35:55 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:142: subscribing to event: buffers.vim_diagnostic_changed [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:185: Adding event handler [ buffers.vim_diagnostic_changed ] for event: vim_diagnostic_changed [TRACE Tue 12 Apr 13:35:55 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:142: subscribing to event: buffers.vim_tab_closed [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:185: Adding event handler [ buffers.vim_tab_closed ] for event: vim_tab_closed [DEBUG Tue 12 Apr 13:35:55 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:491: git_status setup { commands = { add = , add_directory = , close_all_nodes = , close_node = , close_window = , copy = , ... [TRACE Tue 12 Apr 13:35:55 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:142: subscribing to event: git_status.vim_buffer_changed [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:185: Adding event handler [ git_status.vim_buffer_changed ] for event: vim_buffer_changed [TRACE Tue 12 Apr 13:35:55 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:142: subscribing to event: git_status.vim_diagnostic_changed [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:185: Adding event handler [ git_status.vim_diagnostic_changed ] for event: vim_diagnostic_changed [TRACE Tue 12 Apr 13:35:55 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:142: subscribing to event: git_status.vim_tab_closed [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:185: Adding event handler [ git_status.vim_tab_closed ] for event: vim_tab_closed [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:171: Creating queue for event: vim_colorscheme [TRACE Tue 12 Apr 13:35:55 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/events/init.lua:50: Registering autocmds: %s augroup NeoTreeEvent_vim_colorscheme autocmd ColorScheme * :lua require('neo-tree.events').fire_event('vim_colorscheme', { afile = vim.fn.expand('') }) augroup END [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:178: Setup for event vim_colorscheme was run [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:185: Adding event handler [ neo-tree-highlight ] for event: vim_colorscheme [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:171: Creating queue for event: vim_win_enter [TRACE Tue 12 Apr 13:35:55 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/events/init.lua:50: Registering autocmds: %s augroup NeoTreeEvent_vim_win_enter autocmd WinEnter * :lua require('neo-tree.events').fire_event('vim_win_enter', { afile = vim.fn.expand('') }) augroup END [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:178: Setup for event vim_win_enter was run [DEBUG Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:185: Adding event handler [ neo-tree-win-enter ] for event: vim_win_enter [TRACE Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: vim_buffer_enter with args: { afile = "projects/personal/gogazer/main.go" } [TRACE Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler { event = "vim_buffer_enter", handler = } for vim_buffer_enter called successfully. [TRACE Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: vim_buffer_enter with args: { afile = "projects/personal/gogazer/main.go" } [TRACE Tue 12 Apr 13:35:55 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler { event = "vim_buffer_enter", handler = } for vim_buffer_enter called successfully. [TRACE Tue 12 Apr 13:36:02 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:388: Revealing current file [DEBUG Tue 12 Apr 13:36:02 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/ui/renderer.lua:281: focus_node called with no tree [TRACE Tue 12 Apr 13:36:02 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:355: navigate filesystem nil /Users/akin/projects/personal/gogazer/main.go [TRACE Tue 12 Apr 13:36:02 2022] ...t/neo-tree.nvim/lua/neo-tree/sources/filesystem/init.lua:172: navigate nil /Users/akin/projects/personal/gogazer/main.go nil [TRACE Tue 12 Apr 13:36:02 2022] ...t/neo-tree.nvim/lua/neo-tree/sources/filesystem/init.lua:114: navigate_internal nil nil /Users/akin/projects/personal/gogazer/main.go [DEBUG Tue 12 Apr 13:36:02 2022] ...t/neo-tree.nvim/lua/neo-tree/sources/filesystem/init.lua:119: navigate_internal: path is nil, using cwd [DEBUG Tue 12 Apr 13:36:02 2022] ...t/neo-tree.nvim/lua/neo-tree/sources/filesystem/init.lua:123: navigate_internal: path changed from nil to /Users/akin [DEBUG Tue 12 Apr 13:36:02 2022] ...t/neo-tree.nvim/lua/neo-tree/sources/filesystem/init.lua:130: navigate_internal: in path_to_reveal, state.position is /Users/akin/projects/personal/gogazer/main.go , restorable = true [DEBUG Tue 12 Apr 13:36:02 2022] ...ree.nvim/lua/neo-tree/sources/filesystem/lib/fs_scan.lua:254: Not unwatching folders... use_libuv_file_watcher is false and state.tree is false [TRACE Tue 12 Apr 13:36:02 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:02 2022] ...ack/packer/opt/neo-tree.nvim/lua/neo-tree/git/status.lua:169: status_async: not a git folder: /Users/akin [TRACE Tue 12 Apr 13:36:02 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:52: ================================================================================ [TRACE Tue 12 Apr 13:36:02 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:53: IGNORED: mark_ignore BEGIN... [TRACE Tue 12 Apr 13:36:03 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:03 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:03 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/Shifty-API ' is ' /Users/akin/projects/personal/Shifty-API ' [TRACE Tue 12 Apr 13:36:03 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/bufferline.nvim ' is ' /Users/akin/projects/personal/bufferline.nvim ' [TRACE Tue 12 Apr 13:36:03 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:03 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/dependency-assist.nvim ' is ' /Users/akin/projects/personal/dependency-assist.nvim ' [TRACE Tue 12 Apr 13:36:04 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/flutter-tools.nvim ' is ' /Users/akin/projects/personal/flutter-tools.nvim ' [TRACE Tue 12 Apr 13:36:04 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/git-conflict.nvim ' is ' /Users/akin/projects/personal/git-conflict.nvim ' [TRACE Tue 12 Apr 13:36:04 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/git-repo ' is ' /Users/akin/projects/personal/git-repo ' [TRACE Tue 12 Apr 13:36:04 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/gogazer ' is ' /Users/akin/projects/personal/gogazer ' [TRACE Tue 12 Apr 13:36:04 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:04 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/interviews ' is ' /Users/akin/projects/personal/interviews ' [TRACE Tue 12 Apr 13:36:04 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/org-bullets.nvim ' is ' /Users/akin/projects/personal/org-bullets.nvim ' [TRACE Tue 12 Apr 13:36:05 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/phoenix-kitty ' is ' /Users/akin/projects/personal/phoenix-kitty ' [TRACE Tue 12 Apr 13:36:05 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/pubspec-assist.nvim ' is ' /Users/akin/projects/personal/pubspec-assist.nvim ' [TRACE Tue 12 Apr 13:36:05 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/toggleterm.nvim ' is ' /Users/akin/projects/personal/toggleterm.nvim ' [TRACE Tue 12 Apr 13:36:05 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/works_worth ' is ' /Users/akin/projects/personal/works_worth ' [TRACE Tue 12 Apr 13:36:05 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:05 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:05 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:06 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:06 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:06 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:06 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:06 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:06 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:06 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:07 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/.dotfiles ' is ' /Users/akin/.dotfiles ' [TRACE Tue 12 Apr 13:36:07 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:07 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/.fzf ' is ' /Users/akin/.fzf ' [TRACE Tue 12 Apr 13:36:07 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:07 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:07 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:07 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:08 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:08 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:08 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:08 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:08 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:08 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:08 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:09 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:09 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:09 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:09 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:09 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:09 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:10 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:10 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:10 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:10 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:10 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:10 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:10 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:11 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/homebrew ' is ' /Users/akin/homebrew ' [TRACE Tue 12 Apr 13:36:11 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:11 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:11 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/gogazer/app ' is ' /Users/akin/projects/personal/gogazer ' [TRACE Tue 12 Apr 13:36:11 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/gogazer/database ' is ' /Users/akin/projects/personal/gogazer ' [TRACE Tue 12 Apr 13:36:11 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/gogazer/github ' is ' /Users/akin/projects/personal/gogazer ' [TRACE Tue 12 Apr 13:36:11 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/gogazer/models ' is ' /Users/akin/projects/personal/gogazer ' [TRACE Tue 12 Apr 13:36:12 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/gogazer/ui ' is ' /Users/akin/projects/personal/gogazer ' [TRACE Tue 12 Apr 13:36:12 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:12 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:70: IGNORED: Running cmd: { "git", "-C", "/Users/akin/homebrew", "check-ignore", "/Users/akin/homebrew" } [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:86: IGNORED: Checking types of -0 items to see which ones are directories [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:70: IGNORED: Running cmd: { "git", "-C", "/Users/akin/projects/personal/pubspec-assist.nvim", "check-ignore", "/Users/akin/projects/personal/pubspec-assist.nvim" } [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:86: IGNORED: Checking types of -0 items to see which ones are directories [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:70: IGNORED: Running cmd: { "git", "-C", "/Users/akin/projects/personal/org-bullets.nvim", "check-ignore", "/Users/akin/projects/personal/org-bullets.nvim" } [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:86: IGNORED: Checking types of -0 items to see which ones are directories [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:70: IGNORED: Running cmd: { "git", "-C", "/Users/akin/projects/personal/interviews", "check-ignore", "/Users/akin/projects/personal/interviews" } [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:86: IGNORED: Checking types of -0 items to see which ones are directories [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:70: IGNORED: Running cmd: { "git", "-C", "/Users/akin/projects/personal/works_worth", "check-ignore", "/Users/akin/projects/personal/works_worth" } [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:86: IGNORED: Checking types of -0 items to see which ones are directories [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:70: IGNORED: Running cmd: { "git", "-C", "/Users/akin/projects/personal/bufferline.nvim", "check-ignore", "/Users/akin/projects/personal/bufferline.nvim" } [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:86: IGNORED: Checking types of -0 items to see which ones are directories [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:70: IGNORED: Running cmd: { "git", "-C", "/Users/akin/projects/personal/toggleterm.nvim", "check-ignore", "/Users/akin/projects/personal/toggleterm.nvim" } [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:86: IGNORED: Checking types of -0 items to see which ones are directories [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:70: IGNORED: Running cmd: { "git", "-C", "/Users/akin/projects/personal/phoenix-kitty", "check-ignore", "/Users/akin/projects/personal/phoenix-kitty" } [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:86: IGNORED: Checking types of -0 items to see which ones are directories [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:70: IGNORED: Running cmd: { "git", "-C", "/Users/akin/.fzf", "check-ignore", "/Users/akin/.fzf" } [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:86: IGNORED: Checking types of -0 items to see which ones are directories [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:70: IGNORED: Running cmd: { "git", "-C", "/Users/akin/projects/personal/dependency-assist.nvim", "check-ignore", "/Users/akin/projects/personal/dependency-assist.nvim" } [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:86: IGNORED: Checking types of -0 items to see which ones are directories [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:70: IGNORED: Running cmd: { "git", "-C", "/Users/akin/.dotfiles", "check-ignore", "/Users/akin/.dotfiles" } [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:86: IGNORED: Checking types of -0 items to see which ones are directories [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:70: IGNORED: Running cmd: { "git", "-C", "/Users/akin/projects/personal/gogazer", "check-ignore", "/Users/akin/projects/personal/gogazer", "/Users/akin/projects/personal/gogazer/.env", "/Users/akin/projects/personal/gogazer/.g... [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:86: IGNORED: Checking types of 4 items to see which ones are directories [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:70: IGNORED: Running cmd: { "git", "-C", "/Users/akin/projects/personal/flutter-tools.nvim", "check-ignore", "/Users/akin/projects/personal/flutter-tools.nvim" } [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:86: IGNORED: Checking types of -0 items to see which ones are directories [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:70: IGNORED: Running cmd: { "git", "-C", "/Users/akin/projects/personal/git-conflict.nvim", "check-ignore", "/Users/akin/projects/personal/git-conflict.nvim" } [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:86: IGNORED: Checking types of -0 items to see which ones are directories [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:70: IGNORED: Running cmd: { "git", "-C", "/Users/akin/projects/personal/Shifty-API", "check-ignore", "/Users/akin/projects/personal/Shifty-API" } [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:86: IGNORED: Checking types of -0 items to see which ones are directories [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:70: IGNORED: Running cmd: { "git", "-C", "/Users/akin/projects/personal/git-repo", "check-ignore", "/Users/akin/projects/personal/git-repo" } [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:86: IGNORED: Checking types of -0 items to see which ones are directories [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:96: IGNORED: Comparing results to mark items as ignored [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:107: IGNORED: mark_ignored is complete, ignored: 4 , not ignored: 98 [TRACE Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:108: ================================================================================ [TRACE Tue 12 Apr 13:36:12 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: before_render with args: { async_directory_scan = "auto", bind_to_cwd = true, commands = { add = , add_directory = , clear_filter = , close_all_nodes = , ... [TRACE Tue 12 Apr 13:36:12 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler buffers.before_render for before_render called successfully. [TRACE Tue 12 Apr 13:36:12 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: vim_win_enter with args: { afile = "projects/personal/gogazer/main.go" } [TRACE Tue 12 Apr 13:36:12 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler neo-tree-win-enter for vim_win_enter called successfully. [TRACE Tue 12 Apr 13:36:12 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: vim_buffer_enter with args: { afile = "" } [TRACE Tue 12 Apr 13:36:12 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: neo_tree_buffer_enter with args: nil [TRACE Tue 12 Apr 13:36:12 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler { event = "vim_buffer_enter", handler = } for vim_buffer_enter called successfully. [TRACE Tue 12 Apr 13:36:12 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: vim_buffer_enter with args: { afile = "" } [TRACE Tue 12 Apr 13:36:12 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: neo_tree_buffer_enter with args: nil [TRACE Tue 12 Apr 13:36:12 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler { event = "vim_buffer_enter", handler = } for vim_buffer_enter called successfully. [TRACE Tue 12 Apr 13:36:12 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: vim_buffer_changed with args: { afile = "neo-tree filesystem [1]" } [DEBUG Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/ui/renderer.lua:523: Setting expanded nodes [DEBUG Tue 12 Apr 13:36:12 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/ui/renderer.lua:444: Restoring position to node_id: /Users/akin/projects/personal/gogazer/main.go [TRACE Tue 12 Apr 13:36:12 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: after_render with args: { async_directory_scan = "auto", bind_to_cwd = true, bufnr = 2, commands = { add = , add_directory = , clear_filter = , close_all_nodes = } for vim_buffer_enter called successfully. [TRACE Tue 12 Apr 13:36:24 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: vim_win_enter with args: { afile = "projects/personal/gogazer/main.go" } [TRACE Tue 12 Apr 13:36:24 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler neo-tree-win-enter for vim_win_enter called successfully. [TRACE Tue 12 Apr 13:36:24 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: vim_buffer_added with args: { afile = "true" } ```

EDIT: Did another shorter log with more consistent logging 🤷🏿‍♂️ not sure why this one doesn't have the large gap

``` [TRACE Tue 12 Apr 13:46:33 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: vim_dir_changed with args: { afile = "/Users/akin/projects/personal/gogazer" } [TRACE Tue 12 Apr 13:46:33 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler filesystem.vim_dir_changed for vim_dir_changed called successfully. [TRACE Tue 12 Apr 13:46:33 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler buffers.vim_dir_changed for vim_dir_changed called successfully. [TRACE Tue 12 Apr 13:46:38 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:388: Revealing current file [DEBUG Tue 12 Apr 13:46:38 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/ui/renderer.lua:281: focus_node called with no tree [TRACE Tue 12 Apr 13:46:38 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:355: navigate filesystem nil /Users/akin/projects/personal/gogazer/main.go [TRACE Tue 12 Apr 13:46:38 2022] ...t/neo-tree.nvim/lua/neo-tree/sources/filesystem/init.lua:172: navigate nil /Users/akin/projects/personal/gogazer/main.go nil [TRACE Tue 12 Apr 13:46:38 2022] ...t/neo-tree.nvim/lua/neo-tree/sources/filesystem/init.lua:114: navigate_internal nil nil /Users/akin/projects/personal/gogazer/main.go [DEBUG Tue 12 Apr 13:46:38 2022] ...t/neo-tree.nvim/lua/neo-tree/sources/filesystem/init.lua:119: navigate_internal: path is nil, using cwd [DEBUG Tue 12 Apr 13:46:38 2022] ...t/neo-tree.nvim/lua/neo-tree/sources/filesystem/init.lua:123: navigate_internal: path changed from nil to /Users/akin/projects/personal/gogazer [DEBUG Tue 12 Apr 13:46:38 2022] ...t/neo-tree.nvim/lua/neo-tree/sources/filesystem/init.lua:130: navigate_internal: in path_to_reveal, state.position is /Users/akin/projects/personal/gogazer/main.go , restorable = true [DEBUG Tue 12 Apr 13:46:38 2022] ...ree.nvim/lua/neo-tree/sources/filesystem/lib/fs_scan.lua:254: Not unwatching folders... use_libuv_file_watcher is false and state.tree is false [TRACE Tue 12 Apr 13:46:38 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/gogazer ' is ' /Users/akin/projects/personal/gogazer ' [TRACE Tue 12 Apr 13:46:38 2022] ...ack/packer/opt/neo-tree.nvim/lua/neo-tree/git/status.lua:167: git.status.status_async called [TRACE Tue 12 Apr 13:46:38 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:52: ================================================================================ [TRACE Tue 12 Apr 13:46:38 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:53: IGNORED: mark_ignore BEGIN... [TRACE Tue 12 Apr 13:46:38 2022] ...ack/packer/opt/neo-tree.nvim/lua/neo-tree/git/status.lua:293: status_async untracked completed with return_val: -0 [TRACE Tue 12 Apr 13:46:38 2022] ...ack/packer/opt/neo-tree.nvim/lua/neo-tree/git/status.lua:241: status_async staged completed with return_val: -0 [TRACE Tue 12 Apr 13:46:38 2022] ...ack/packer/opt/neo-tree.nvim/lua/neo-tree/git/status.lua:264: status_async unstaged completed with return_val: -0 [TRACE Tue 12 Apr 13:46:38 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/gogazer ' is ' /Users/akin/projects/personal/gogazer ' [TRACE Tue 12 Apr 13:46:38 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR {} [TRACE Tue 12 Apr 13:46:38 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/gogazer/app ' is ' /Users/akin/projects/personal/gogazer ' [TRACE Tue 12 Apr 13:46:38 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/gogazer/database ' is ' /Users/akin/projects/personal/gogazer ' [TRACE Tue 12 Apr 13:46:38 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/gogazer/github ' is ' /Users/akin/projects/personal/gogazer ' [TRACE Tue 12 Apr 13:46:39 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/gogazer/models ' is ' /Users/akin/projects/personal/gogazer ' [TRACE Tue 12 Apr 13:46:39 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/gogazer/ui ' is ' /Users/akin/projects/personal/gogazer ' [TRACE Tue 12 Apr 13:46:39 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:70: IGNORED: Running cmd: { "git", "-C", "/Users/akin/projects/personal/gogazer", "check-ignore", "/Users/akin/projects/personal/gogazer/.env", "/Users/akin/projects/personal/gogazer/.gitignore", "/Users/akin/projects/personal... [TRACE Tue 12 Apr 13:46:39 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:86: IGNORED: Checking types of 4 items to see which ones are directories [TRACE Tue 12 Apr 13:46:39 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:96: IGNORED: Comparing results to mark items as ignored [TRACE Tue 12 Apr 13:46:39 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:107: IGNORED: mark_ignored is complete, ignored: 4 , not ignored: 13 [TRACE Tue 12 Apr 13:46:39 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/git/ignored.lua:108: ================================================================================ [TRACE Tue 12 Apr 13:46:39 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: before_render with args: { async_directory_scan = "auto", bind_to_cwd = true, commands = { add = , add_directory = , clear_filter = , close_all_nodes = , ... [TRACE Tue 12 Apr 13:46:39 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler buffers.before_render for before_render called successfully. [TRACE Tue 12 Apr 13:46:39 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: vim_win_enter with args: { afile = "main.go" } [TRACE Tue 12 Apr 13:46:39 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler neo-tree-win-enter for vim_win_enter called successfully. [TRACE Tue 12 Apr 13:46:39 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: vim_buffer_enter with args: { afile = "" } [TRACE Tue 12 Apr 13:46:39 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: neo_tree_buffer_enter with args: nil [TRACE Tue 12 Apr 13:46:39 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler { event = "vim_buffer_enter", handler = } for vim_buffer_enter called successfully. [TRACE Tue 12 Apr 13:46:39 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: vim_buffer_enter with args: { afile = "" } [TRACE Tue 12 Apr 13:46:39 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: neo_tree_buffer_enter with args: nil [TRACE Tue 12 Apr 13:46:39 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler { event = "vim_buffer_enter", handler = } for vim_buffer_enter called successfully. [TRACE Tue 12 Apr 13:46:39 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: vim_buffer_changed with args: { afile = "neo-tree filesystem [1]" } [DEBUG Tue 12 Apr 13:46:39 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/ui/renderer.lua:523: Setting expanded nodes [DEBUG Tue 12 Apr 13:46:39 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/ui/renderer.lua:444: Restoring position to node_id: /Users/akin/projects/personal/gogazer/main.go [TRACE Tue 12 Apr 13:46:39 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: git_status_changed with args: { git_root = "/Users/akin/projects/personal/gogazer", git_status = { ["/Users"] = "?", ["/Users/akin"] = "?", ["/Users/akin/projects"] = "?", ["/Users/akin/projects/personal"] = "?... [TRACE Tue 12 Apr 13:46:39 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/ui/renderer.lua:458: Redrawing tree filesystem 1 [TRACE Tue 12 Apr 13:46:39 2022] ...ck/packer/opt/neo-tree.nvim/lua/neo-tree/ui/renderer.lua:460: Redrawing tree done filesystem 1 [TRACE Tue 12 Apr 13:46:39 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler filesystem.git_status_changed for git_status_changed called successfully. [TRACE Tue 12 Apr 13:46:39 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: after_render with args: { async_directory_scan = "auto", bind_to_cwd = true, bufnr = 2, commands = { add = , add_directory = , clear_filter = , close_all_nodes = } for vim_buffer_enter called successfully. [TRACE Tue 12 Apr 13:46:45 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: vim_win_enter with args: { afile = "main.go" } [TRACE Tue 12 Apr 13:46:45 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler neo-tree-win-enter for vim_win_enter called successfully. [TRACE Tue 12 Apr 13:46:45 2022] ...k/packer/opt/neo-tree.nvim/lua/neo-tree/events/queue.lua:156: Firing event: vim_buffer_added with args: { afile = "true" } ```
cseickel commented 2 years ago

@akinsho There is not actually any delay for the BufEnter event, that event is just the end of the startup related events. The delay between that and the next action is the time it takes you to realize that nvim is ready, and then type in your command. The actual start of that command execution is at:

[TRACE Tue 12 Apr 13:36:02 2022] ...acker/opt/neo-tree.nvim/lua/neo-tree/sources/manager.lua:388: Revealing current file

What follows is some extremely long delays in determining the git root for each folder:

[TRACE Tue 12 Apr 13:36:03 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:03 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:03 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/Shifty-API ' is ' /Users/akin/projects/personal/Shifty-API '
[TRACE Tue 12 Apr 13:36:03 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/bufferline.nvim ' is ' /Users/akin/projects/personal/bufferline.nvim '
[TRACE Tue 12 Apr 13:36:03 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:03 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/dependency-assist.nvim ' is ' /Users/akin/projects/personal/dependency-assist.nvim '
[TRACE Tue 12 Apr 13:36:04 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/flutter-tools.nvim ' is ' /Users/akin/projects/personal/flutter-tools.nvim '
[TRACE Tue 12 Apr 13:36:04 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/git-conflict.nvim ' is ' /Users/akin/projects/personal/git-conflict.nvim '
[TRACE Tue 12 Apr 13:36:04 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/git-repo ' is ' /Users/akin/projects/personal/git-repo '
[TRACE Tue 12 Apr 13:36:04 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/gogazer ' is ' /Users/akin/projects/personal/gogazer '
[TRACE Tue 12 Apr 13:36:04 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:04 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/interviews ' is ' /Users/akin/projects/personal/interviews '
[TRACE Tue 12 Apr 13:36:04 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/org-bullets.nvim ' is ' /Users/akin/projects/personal/org-bullets.nvim '
[TRACE Tue 12 Apr 13:36:05 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/phoenix-kitty ' is ' /Users/akin/projects/personal/phoenix-kitty '
[TRACE Tue 12 Apr 13:36:05 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/pubspec-assist.nvim ' is ' /Users/akin/projects/personal/pubspec-assist.nvim '
[TRACE Tue 12 Apr 13:36:05 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/toggleterm.nvim ' is ' /Users/akin/projects/personal/toggleterm.nvim '
[TRACE Tue 12 Apr 13:36:05 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/works_worth ' is ' /Users/akin/projects/personal/works_worth '
[TRACE Tue 12 Apr 13:36:05 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:05 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:05 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:06 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:06 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:06 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:06 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:06 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:06 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:06 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:07 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/.dotfiles ' is ' /Users/akin/.dotfiles '
[TRACE Tue 12 Apr 13:36:07 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:07 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/.fzf ' is ' /Users/akin/.fzf '
[TRACE Tue 12 Apr 13:36:07 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:07 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:07 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:07 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:08 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:08 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:08 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:08 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:08 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:08 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:08 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:09 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:09 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:09 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:09 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:09 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:09 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:10 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:10 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:10 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:10 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:10 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:10 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:10 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:11 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/homebrew ' is ' /Users/akin/homebrew '
[TRACE Tue 12 Apr 13:36:11 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:11 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:11 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/gogazer/app ' is ' /Users/akin/projects/personal/gogazer '
[TRACE Tue 12 Apr 13:36:11 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/gogazer/database ' is ' /Users/akin/projects/personal/gogazer '
[TRACE Tue 12 Apr 13:36:11 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/gogazer/github ' is ' /Users/akin/projects/personal/gogazer '
[TRACE Tue 12 Apr 13:36:11 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/gogazer/models ' is ' /Users/akin/projects/personal/gogazer '
[TRACE Tue 12 Apr 13:36:12 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:22: GIT ROOT for ' /Users/akin/projects/personal/gogazer/ui ' is ' /Users/akin/projects/personal/gogazer '
[TRACE Tue 12 Apr 13:36:12 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}
[TRACE Tue 12 Apr 13:36:12 2022] ...pack/packer/opt/neo-tree.nvim/lua/neo-tree/git/utils.lua:13: GIT ROOT ERROR  {}

That is where the problem is.

The second example goes much faster because you are inside of a single git project instead of a folder with 17 different repositories and what looks like 20 - 30 other folders that are either not git repos, or just throwing errors for some other reasons. I would bet it works fine when browsing any other root folder.

Honestly, I'm not sure I even need to have the git root for this command to work. I'll see if I can skip that with the current implementation.

cseickel commented 2 years ago

@akinsho I just pushed an update to the 236-gitignored-slowdown branch that removes the git root lookup from the git ignored lookups. I don't know if this will completely fix the problem or not, but it will probably make it faster.

akinsho commented 2 years ago

@cseickel that looks to have helped a lot 👍🏿 I had a look at the commit and noticed you were using systemlist which I'm sure you know is blocking and almost certainly the cause of the slowdown as it making a bunch of those calls in a loop. I wonder if this couldn't be done asynchronously using plenary and the highlighting added only when all the calls have been made, it might cause the styling to "flash" but I think if all calls happened simultaneously it would be quite quick probably and a user might never see it.

This is assuming the calls are actually necessary at all 🤷🏿

cseickel commented 2 years ago

@akinsho The synchronous blocking calls were intentional because in most cases, it's not a highlight that we want but determining whether or not these files should be visible at all. We do exactly as you are describing with the git status calls, which makes more sense there because we are just adding decorations to items that would be there regardless of their git status.

It would be possible to handle this within the async git status render if the current setting was visible = true.

In the case of visible = false, the only thing I can think of is to cache the results of prior calls and use those cached results within the first render, then update in the background. That first render per session would be wrong though.

One very important question: How fast is it now?

This is assuming the calls are actually necessary at all 🤷🏿

You know, I probably don't need to check-ignored on closed folders because if their parents are in a repo, then their ignored status would have been reported by the check on that folder. If they are repo roots themselves then they can't be ignored. I'll add that change.

cseickel commented 2 years ago

You know, I probably don't need to check-ignored on closed folders because if their parents are in a repo, then their ignored status would have been reported by the check on that folder. If they are repo roots themselves then they can't be ignored. I'll add that change.

Actually, scratch that. It already works this way. As far as I know, the calls I have now are the only way to do this work accurately. There have been many iterations to get to this point and many edge cases fixed.

akinsho commented 2 years ago

One very important question: How fast is it now?

@cseickel sorry should have clarified it's as fast as it is with visible set to false (normal speed for me). I guess if it's not required, then it simplifies your solution 👍🏿

cseickel commented 2 years ago

sorry should have clarified it's as fast as it is with visible set to false (normal speed for me)

Assuming "normal speed" is good for you, I will call this issue closed then.

Thanks so much for taking the time to investigate and test out this issue with me @akinsho. Your feedback was incredibly helpful and I'm sure many people will benefit from these improvements.

akinsho commented 2 years ago

@cseickel no worries, thanks for your work on this plugin, really liking all the subtle UI touches 🚀. Sorry re. the ambiguous "normal speed" basically just meant fast enough that I don't think about it any more. It's definitely well within what I need to work, although as I think was mentioned earlier in this thread it is slightly slower to open the first time than nvim-tree, but definitely very good. Although I think this plugin is likely doing more on startup than nvim-tree so a reasonable tradeoff IMO

mauriciopoppe commented 2 years ago

For https://github.com/nvim-neo-tree/neo-tree.nvim/issues/236#issuecomment-1097648309, it'd be great to use a threadpool or plenary's job https://github.com/nvim-lua/plenary.nvim/blob/master/lua/plenary/job.lua

Edit: I read the entire thread, ignore this comment :)