From 83c1d7798ffba5d000aaa588e4c249334a7ce313 Mon Sep 17 00:00:00 2001 From: Alisue Date: Tue, 12 Apr 2022 00:33:52 +0900 Subject: [PATCH 1/2] Remove auto_restore_winfixwidth feature --- autoload/fern.vim | 1 - autoload/fern/internal/drawer.vim | 1 - .../drawer/auto_restore_winfixwidth.vim | 20 ------------------- doc/fern.txt | 6 ------ 4 files changed, 28 deletions(-) delete mode 100644 autoload/fern/internal/drawer/auto_restore_winfixwidth.vim diff --git a/autoload/fern.vim b/autoload/fern.vim index 8fd1d4f..cc6778f 100644 --- a/autoload/fern.vim +++ b/autoload/fern.vim @@ -31,7 +31,6 @@ call s:Config.config(expand(':p'), { \ 'disable_drawer_hover_popup': 0, \ 'disable_drawer_tabpage_isolation': 0, \ 'disable_drawer_auto_restore_focus': 0, - \ 'disable_drawer_auto_restore_winfixwidth': 0, \ 'default_hidden': 0, \ 'default_include': '', \ 'default_exclude': '', diff --git a/autoload/fern/internal/drawer.vim b/autoload/fern/internal/drawer.vim index 5094bbb..456fa6d 100644 --- a/autoload/fern/internal/drawer.vim +++ b/autoload/fern/internal/drawer.vim @@ -50,7 +50,6 @@ function! fern#internal#drawer#init() abort call fern#internal#drawer#auto_resize#init() call fern#internal#drawer#auto_winfixwidth#init() call fern#internal#drawer#auto_restore_focus#init() - call fern#internal#drawer#auto_restore_winfixwidth#init() call fern#internal#drawer#smart_quit#init() call fern#internal#drawer#hover_popup#init() call fern#internal#drawer#resize() diff --git a/autoload/fern/internal/drawer/auto_restore_winfixwidth.vim b/autoload/fern/internal/drawer/auto_restore_winfixwidth.vim deleted file mode 100644 index 71f4079..0000000 --- a/autoload/fern/internal/drawer/auto_restore_winfixwidth.vim +++ /dev/null @@ -1,20 +0,0 @@ -function! fern#internal#drawer#auto_restore_winfixwidth#init() abort - if g:fern#disable_drawer_auto_restore_winfixwidth - return - endif - - let b:fern_drawer_auto_restore_winfixwidth = get(b:, 'fern_drawer_auto_restore_winfixwidth', &winfixwidth) - - augroup fern_internal_drawer_auto_restore_winfixwidth - autocmd! * - autocmd BufWinLeave call s:restore_winfixwidth() - augroup END -endfunction - -function! s:restore_winfixwidth() abort - if !exists('b:fern_drawer_auto_restore_winfixwidth') - return - endif - let &winfixwidth = b:fern_drawer_auto_restore_winfixwidth - silent! unlet! b:fern_drawer_auto_restore_winfixwidth -endfunction diff --git a/doc/fern.txt b/doc/fern.txt index 51f9ec4..ff8ffdd 100644 --- a/doc/fern.txt +++ b/doc/fern.txt @@ -500,12 +500,6 @@ VARIABLE *fern-variable* < Default: 0 -*g:fern#disable_drawer_auto_restore_winfixwidth* - Set 1 to disable automatically restore 'winfixwidth' on |BufWinLeave| - autocmd. - - Default: 0 - *g:fern#default_hidden* Set 1 to enter hidden mode (show hidden files) in default. Default: 0 From b940770434d36b9d0877d0923aec3d3f0eba9778 Mon Sep 17 00:00:00 2001 From: Alisue Date: Tue, 12 Apr 2022 00:35:34 +0900 Subject: [PATCH 2/2] Automatically set nowinfixwidth to fix #416 --- autoload/fern/internal/drawer/auto_winfixwidth.vim | 6 +++++- doc/fern.txt | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/autoload/fern/internal/drawer/auto_winfixwidth.vim b/autoload/fern/internal/drawer/auto_winfixwidth.vim index e1ee83c..06a26f0 100644 --- a/autoload/fern/internal/drawer/auto_winfixwidth.vim +++ b/autoload/fern/internal/drawer/auto_winfixwidth.vim @@ -5,6 +5,10 @@ function! fern#internal#drawer#auto_winfixwidth#init() abort augroup fern_internal_drawer_auto_winfixwidth_init autocmd! * - autocmd BufEnter setlocal winfixwidth + autocmd BufEnter call s:set_winfixwidth() augroup END endfunction + +function! s:set_winfixwidth() abort + let &l:winfixwidth = winnr('$') isnot# 1 +endfunction diff --git a/doc/fern.txt b/doc/fern.txt index ff8ffdd..f0e93d7 100644 --- a/doc/fern.txt +++ b/doc/fern.txt @@ -401,7 +401,9 @@ VARIABLE *fern-variable* *g:fern#disable_drawer_auto_winfixwidth* Set 1 to disable automatically enable 'winfixwidth' to drawer on - |BufEnter| autocmd. + |BufEnter| autocmd. Note that it automatically set 'nowinfixwidth' on + the autocmd when there is only one window. + Default: 0 *g:fern#disable_drawer_auto_resize*