rooter always changes path if .SpaceVim.d is a symlink

10 views
Skip to first unread message

wsdjeg

unread,
May 30, 2021, 2:10:02 AM5/30/21
to spacevim
<!-- bug reporting without issue template will be closed automatically -->

## Expected behavior, english is required
rooter doesn't leave my workspace/working directory it was initially

## The reproduce ways from Vim starting (Required!)

1. Move `.SpaceVim.d` away form $HOME and symlink it
    `mkdir -p ~/vim_wrong_folder; mv ~/.SpaceVim.d ~/vim_wrong_folder/; ln -s ~/vim_wrong_folder/.SpaceVim.d ~/`

2. Open a file in an arbitrary path != SpaceVim.d 
    `mkdir -p ~/correct_folder`
    `vim ~/correct_folder/foo`
3. Observer rooter root dir (e.g. (Re)Open vimfiler by pressing <kbd>\<F3\></kbd>)
  3.1  vimfiler shows .SpaceVim.d/ root path (if you followed my example vimfiler shows `~/vim_wrong_folder` - expected would be `~/correct_folder`)

## Debug info

1. This already worked in older versions (I'm using SpaceVim a couple of years now), don't know what that latest working ref is though.
2. Yes I saw https://github.com/SpaceVim/SpaceVim/issues/3510  - If .SpaceVim.d is located @ $HOME everything works fine.
3. Yes I upgraded post https://github.com/SpaceVim/SpaceVim/pull/3609
4. Even setting `project_rooter_automatically = false` doesn't change that behavior.
5. NO I dont want it to stick around in $HOME as I'm not handling my filesystem hierarchy that way


## Environment Information

- OS: linux
- vim version: 8.1.2269
- neovim version: -
- SpaceVim version: 1.7.0-dev
- SpaceVim status: c684e620

```
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean
```


## Output of the `:SPDebugInfo!`

<details><summary> SpaceVim debug information </summary>

### SpaceVim options :

```toml
  auto_disable_touchpad = 1
  autocomplete_method = 'neocomplete'
  autocomplete_parens = 1
  buffer_index_type = 4
  checkinstall = 1
  colorscheme = 'gruvbox'
  colorscheme_bg = 'dark'
  colorscheme_default = 'desert'
  commandline_prompt = '➭'
  custom_color_palette = []
  custom_plugins = []
  data_dir = '/home/nickma/.cache/'
  debug_level = 1
  default_custom_leader = '<Space>'
  default_indent = 2
  disabled_plugins = []
  enable_bepo_layout = 0
  enable_cursorcolumn = 0
  enable_cursorline = 1
  enable_debug = 0
  enable_googlesuggest = 0
  enable_guicolors = 1
  enable_javacomplete2_py = 0
  enable_key_frequency = 0
  enable_language_specific_leader = 1
  enable_neocomplcache = 0
  enable_os_fileformat_icon = 0
  enable_powerline_fonts = 1
  enable_projects_cache = 1
  enable_statusline_bfpath = 0
  enable_statusline_mode = 0
  enable_statusline_tag = 1
  enable_tabline_filetype_icon = 1
  enable_tabline_ft_icon = 0
  enable_vimfiler_filetypeicon = 0
  enable_vimfiler_gitstatus = 0
  enable_vimfiler_welcome = 1
  enable_ycm = 0
  error_symbol = '✖'
  escape_key_binding = 'jk'
  expand_tab = 1
  filemanager = 'vimfiler'
  filemanger = 'nerdtree'
  filetree_direction = 'right'
  filetype_icons = {}
  force_global_config = 0
  gitcommit_issue_icon = ''
  gitcommit_pr_icon = ''
  github_username = ''
  guifont = ''
  hiddenfileinfo = 1
  home_files_number = 6
  hosts_url = 'https://raw.githubusercontent.com/racaljk/hosts/master/hosts'
  info_symbol = 'ⓘ'
  keep_server_alive = 1
  language = ''
  leader_guide_default_group_name = ''
  leader_guide_flatten = 1
  leader_guide_hspace = 5
  leader_guide_max_size = 0
  leader_guide_position = 'botright'
  leader_guide_run_map_on_popup = 1
  leader_guide_sort_horizontal = 0
  leader_guide_submode_mappings = {'<C-C>': 'win_close'}
  leader_guide_vertical = 0
  lint_engine = 'neomake'
  lint_on_save = 1
  lint_on_the_fly = 0
  max_column = 120
  plugin_bundle_dir = '/home/nickma/.cache/vimfiles/'
  plugin_manager = 'dein'
  plugin_manager_processes = 16
  plugin_name = 'vim-gitgutter'
  project_rooter_automatically = 1
  project_rooter_outermost = 1
  project_rooter_patterns = ['.git/', '_darcs/', '.hg/', '.bzr/', '.svn/', '.SpaceVim.d/']
  projects_cache_num = 20
  realtime_leader_guide = 1
  relativenumber = 1
  search_tools = ['rg', 'ag', 'pt', 'ack', 'grep', 'findstr', 'git']
  sidebar_direction = ''
  sidebar_width = 30
  smartcloseignoreft = ['tagbar', 'vimfiler', 'defx', 'SpaceVimRunner', 'SpaceVimREPL', 'SpaceVimQuickFix', 'HelpDescribe', 'VebuggerShell', 'VebuggerTerminal', 'SpaceVimTabsManager']
  smartcloseignorewin = ['__Tagbar__', 'vimfiler:default']
  snippet_engine = 'neosnippet'
  src_root = 'E:\sources\'
  statusline_inactive_separator = 'arrow'
  statusline_iseparator = 'nil'
  statusline_left_sections = ['winnr', 'filename', 'major mode', 'search count', 'syntax checking', 'minor mode lighters']
  statusline_right_sections = ['fileformat', 'cursorpos', 'percentage']
  statusline_separator = 'arrow'
  statusline_unicode_symbols = 1
  terminal_cursor_shape = 2
  todo_labels = ['@fixme', '@question', '@todo', '@idea']
  update_retry_cnt = 3
  version = '1.7.0-dev'
  vim_help_language = 'en'
  vimcompatible = 0
  warning_symbol = '⚠'
  wildignore = '*/tmp/*,*.so,*.swp,*.zip,*.class,tags,*.jpg,*.ttf,*.TTF,*.png,*/target/*,.git,.svn,.hg,.DS_Store,*.svg'
  windows_index_type = 3
  windows_leader = 's'
  windows_smartclose = 'q'
```


### SpaceVim layers :

```toml
[[layers]]
  name="autocomplete"
  auto_completion_return_key_behavior='complete'
  auto_completion_tab_key_behavior='smart'
[[layers]]
  name="checkers"
[[layers]]
  name="format"
[[layers]]
  name="edit"
[[layers]]
  name="ui"
[[layers]]
  name="core"
[[layers]]
  name="core#banner"
[[layers]]
  name="core#statusline"
[[layers]]
  name="core#tabline"
[[layers]]
  name="shell"
  default_position='top'
  default_height=30
[[layers]]
  name="fzf"
[[layers]]
  name="lang#python"
[[layers]]
  name="lang#dockerfile"
[[layers]]
  name="lang#go"
[[layers]]
  name="git"
```


### SpaceVim Health checking :

SpaceVim clipboard support check report:
Checking +clipboard:
      SUCCEED!
SpaceVim environment check report:
Current progpath: vim(/usr/bin/vim.gtk3)
version: 801
OS: linux
[shell, shellcmdflag, shellslash]: ['/usr/bin/zsh', '-c', 0]
SpaceVim lua support check report:
Checking +lua:
      SUCCEED!
SpaceVim python support check report:
Checking +python3:
      SUCCEED!
Checking +python:
      Failed : to support +python, Please install vim-gtk, or build from sources.

### SpaceVim runtime log :

```log
[ SpaceVim ] : logger file  does not exists, only log for current process will be shown!
[ SpaceVim ] [15:09:18] [ Info ] Startup with argv: ['/home/nickma/correct_folder/foo']
[ SpaceVim ] [15:09:18] [ Info ] find local conf: /home/nickma/vim_wrong_folder/.SpaceVim.d/init.toml
[ SpaceVim ] [15:09:18] [ Info ] loading cached local conf: /home/nickma/.cache//SpaceVim/conf/_home_nickma_vim_wrong_folder__SpaceVim_d_init_toml.json
[ SpaceVim ] [15:09:18] [ Info ] start to apply config [local]
[ SpaceVim ] [15:09:18] [ Info ] the func has been added to mode:syntax-checking
[ SpaceVim ] [15:09:18] [ Info ] the func has been added to mode:spell-checking
[   rooter ] [15:09:18] [ Info ] Load projects cache from: /home/nickma/.cache/SpaceVim/projects.json
[   rooter ] [15:09:18] [ Info ] Start to find root for: /home/nickma/correct_folder/foo
[   rooter ] [15:09:18] [ Info ]         (.SpaceVim.d/):/home/nickma/vim_wrong_folder/
[   rooter ] [15:09:18] [ Info ] buffer name: /home/nickma/correct_folder/foo
[   rooter ] [15:09:18] [ Info ] change to root: /home/nickma/vim_wrong_folder/
[   rooter ] [15:09:18] [ Info ] buffer name: /home/nickma/correct_folder/foo
[   rooter ] [15:09:18] [ Info ] same as current directory, no need to change.
```
</details>


<!-- please remove the issue template when request for a feature -->


Reply all
Reply to author
Forward
0 new messages