lambdalisue / vim-fern-mapping-project-top

MIT License
7 stars 1 forks source link

Doesn't seem to be working #1

Closed IgorGee closed 4 years ago

IgorGee commented 4 years ago

Maybe I'm misunderstanding what this mapping is meant to do.

Given a project like so:

root/
 |
 --abc/
 | |
 | --x.sh
 | --y.sh
 --pqr/
 .git/

When I open x.sh, fern opens with the parent as abc.

abc/
 --x.sh
 --y.sh

My expectation is that pressing ^ will refresh fern to include the root structure I mentioned earlier.

I have the following plugins installed:

fern fern-git-status fern-mapping-git fern-nerdfont fern-renderer-nerdfont fern-mapping-project-top

Here are my customizations:

" Disable netrw.
let g:loaded_netrw  = 1
let g:loaded_netrwPlugin = 1
let g:loaded_netrwSettings = 1
let g:loaded_netrwFileHandlers = 1
" Custom settings and mappings.
let g:fern#disable_default_mappings = 1
let g:fern#default_hidden = 1
let g:fern#renderer = "nerdfont"

augroup my-fern-hijack
  autocmd!
  autocmd BufEnter * ++nested call s:hijack_directory()
augroup END

function! s:hijack_directory() abort
  let path = expand('%:p')
  if !isdirectory(path)
    return
  endif
  bwipeout %
  execute printf('Fern %s', fnameescape(path))
endfunction

noremap <silent> <Leader>f :Fern . -drawer -reveal=% -toggle -width=35<CR><C-w>=

function! FernInit() abort
  nmap <buffer><expr>
        \ <Plug>(fern-my-open-expand-collapse)
        \ fern#smart#leaf(
        \   "\<Plug>(fern-action-open:select)",
        \   "\<Plug>(fern-action-expand)",
        \   "\<Plug>(fern-action-collapse)",
        \ )
  nmap <buffer> <CR> <Plug>(fern-action-mark:toggle)j
  nmap <buffer> h <Plug>(fern-action-collapse)
  nmap <buffer> l <Plug>(fern-my-open-expand-collapse)
  nmap <buffer> n <Plug>(fern-action-new-path)
  nmap <buffer> d <Plug>(fern-action-remove)
  nmap <buffer> m <Plug>(fern-action-move)
  nmap <buffer> M <Plug>(fern-action-rename)
  nmap <buffer> r <Plug>(fern-action-reload)
  nmap <buffer> b <Plug>(fern-action-open:split)
  nmap <buffer> v <Plug>(fern-action-open:vsplit)
  nmap <buffer><nowait> < <Plug>(fern-action-leave)
  nmap <buffer><nowait> > <Plug>(fern-action-enter)
  nmap <buffer> ^ <Plug>(fern-action-project-top)
endfunction

augroup FernGroup
  autocmd!
  autocmd FileType fern call FernInit()
augroup END

Disabling these settings has no effect.

lambdalisue commented 4 years ago

Prob. this commit on fern-mapping-git.vim fix the issue.

IgorGee commented 4 years ago

Yep, that fixed it. Thank you!