ysl2 / nvim

An ultimate modern neovim pure lua configuration that focuses on KISS principle.
MIT License
34 stars 3 forks source link

[BUG] The cwd #5

Closed ysl2 closed 1 year ago

ysl2 commented 1 year ago

Ablation study

assert input is:

<CMD>e ~/AppData/Local/nvim/lua/ysl/lsp/coc.lua<CR>
<CMD>lua print(vim.fn.getcwd())<CR>

The corresponding output shows below:

tree project session output (shellslash false) output (shellslash true) plugin specific behavior
0 C:\Program Files\Neovide C:/Program Files/Neovide
1 Y C:\Program Files\Neovide C:/Program Files/Neovide
2 Y C:\Users\fa fa\AppData\Local\nvim C:/Users/fa fa/AppData/Local/nvim
3 Y C:\Program Files\Neovide C:/Program Files/Neovide
4 Y Y C:\Users\fa fa\AppData\Local\nvim C:/Users/fa fa/AppData/Local/nvim
5 Y Y C:\Program Files\Neovide C:/Program Files/Neovide
6 Y Y C:\Users\fa fa\AppData\Local\nvim C:/Users/fa fa/AppData/Local/nvim
7 Y Y Y C:\Users\fa fa\AppData\Local\nvim C:/Users/fa fa/AppData/Local/nvim
ysl2 commented 1 year ago
[project] Got it now.
[project] not enter
[project] Got it now.
[project] set root nil
==========
[project] Got it now.
[project] not file
[project] Got it now.
[project] set root nil

[project] Got it now.
[project] set root nil
==========
[project] Got it now.
[project] not file
[DirChangedPre] C:/Users/fa fa/AppData/Local/nvim
[DirChanged] C:/Users/fa fa/AppData/Local/nvim/lua/ysl
[tree] detected DirChanged, change dir (pre)
[tree] detected DirChanged, change dir (end)
==========
[DirChangedPre] C:/Users/fa fa/AppData/Local/nvim/lua/ysl
[DirChanged] C:/Users/fa fa/AppData/Local/nvim
[tree] detected DirChanged, change dir (pre)
[tree] detected DirChanged, change dir (end)
[project] Got it now.
[project] set root C:/Users/fa fa/AppData/Local/nvim
[DirChangedPre] C:/Users/fa fa/AppData/Local/nvim
[DirChanged] C:/Users/fa fa/AppData/Local/nvim/lua/ysl
[tree] detected DirChanged, change dir (pre)
[tree] detected DirChanged, change dir (end)
==========
[project] Got it now.
[project] not file
==========
[project] Got it now.
[DirChangedPre] C:/Users/fa fa/AppData/Local/nvim/lua/ysl
[DirChanged] C:/Users/fa fa/AppData/Local/nvim
[tree] detected DirChanged, change dir (pre)
[tree] detected DirChanged, change dir (end)
[project] set root C:/Users/fa fa/AppData/Local/nvim
==========
ysl2 commented 1 year ago

what about disable the project plugin and into a session by manager, then toggle tree?

# shellslash = true

[DirChangedPre] C:/Users/fa fa/AppData/Local/nvim
[DirChanged] C:/Users/fa fa/AppData/Local/nvim/lua/ysl
[tree] detected DirChanged, change dir (pre)
[tree] detected DirChanged, change dir (end)
==========
[DirChangedPre] C:/Users/fa fa/AppData/Local/nvim/lua/ysl
[DirChanged] C:/Users/fa fa/AppData/Local/nvim
[tree] detected DirChanged, change dir (pre)
[tree] detected DirChanged, change dir (end)
[DirChangedPre] C:/Users/fa fa/AppData/Local/nvim
[DirChanged] C:/Users/fa fa/AppData/Local/nvim/lua/ysl
[tree] detected DirChanged, change dir (pre)
[tree] detected DirChanged, change dir (end)
==========
==========
==========
# shellslash = false

[DirChangedPre] C:\Users\fa fa\AppData\Local\nvim
[DirChanged] C:\Users\fa fa\AppData\Local\nvim\lua\ysl
[tree] detected DirChanged, change dir (pre)
[tree] detected DirChanged, change dir (end)
==========
[DirChangedPre] C:\Users\fa fa\AppData\Local\nvim\lua\ysl
[DirChanged] C:\Users\fa fa\AppData\Local\nvim
[tree] detected DirChanged, change dir (pre)
[tree] detected DirChanged, change dir (end)
==========
[DirChangedPre] C:\Users\fa fa\AppData\Local\nvim
[DirChanged] C:\Users\fa fa\AppData\Local\nvim\lua\ysl
[tree] detected DirChanged, change dir (pre)
[tree] detected DirChanged, change dir (end)
==========
[DirChangedPre] C:\Users\fa fa\AppData\Local\nvim\lua\ysl
[DirChanged] C:\Users\fa fa\AppData\Local\nvim
[tree] detected DirChanged, change dir (pre)
[tree] detected DirChanged, change dir (end)
==========
ysl2 commented 1 year ago
# shellslash = false

==================
cwd: C:\Users\fa fa\AppData\Local\nvim
vim_cwd: C:\Users\fa fa\AppData\Local\nvim
path_relative: lua\ysl\lsp\coc.lua
filepath: C:\Users\fa fa\AppData\Local\nvim\lua\ysl\lsp\coc.lua
>>> return 1
==================
cwd: C:\Users\fa fa\AppData\Local\nvim
vim_cwd: C:\Users\fa fa\AppData\Local\nvim
path_relative: lua\ysl\lsp\coc.lua
filepath: C:\Users\fa fa\AppData\Local\nvim\lua\ysl\lsp\coc.lua
>>> return 1
# shellslash = true

==================
cwd: C:\Users\fa fa\AppData\Local\nvim
vim_cwd: C:/Users/fa fa/AppData/Local/nvim
path_relative: C:/Users/fa fa/AppData/Local/nvim/lua/ysl/lsp/coc.lua
filepath: C:/Users/fa fa/AppData/Local/nvim/lua/ysl/lsp/coc.lua
path_relative01: C:/Users/fa fa/AppData/Local/nvim/lua/ysl/lsp/coc.lua
path_relative02: C:/Users/fa fa/AppData/Local/nvim/lua/ysl/lsp/coc.lua
_config_prefer_startup_root: false
_config_root_dirs: table: 0x027aee07cce0
fnamemodify_filepath: C:/Users/fa fa/AppData/Local/nvim/lua/ysl/lsp
>>> return 5 (change dir!)
==================
cwd: C:\Users\fa fa\AppData\Local\nvim\lua\ysl\lsp
vim_cwd: C:/Users/fa fa/AppData/Local/nvim/lua/ysl/lsp
path_relative: C:/Users/fa fa/AppData/Local/nvim/lua/ysl/lsp/coc.lua
filepath: C:/Users/fa fa/AppData/Local/nvim/lua/ysl/lsp/coc.lua
path_relative01: C:/Users/fa fa/AppData/Local/nvim/lua/ysl/lsp/coc.lua
path_relative02: C:/Users/fa fa/AppData/Local/nvim/lua/ysl/lsp/coc.lua
_config_prefer_startup_root: false
_config_root_dirs: table: 0x027aee07cce0
fnamemodify_filepath: C:/Users/fa fa/AppData/Local/nvim/lua/ysl/lsp
>>> return 5 (change dir!)