From 4ac25b85da214c5c2ab0b7325a0b2536c7ddc168 Mon Sep 17 00:00:00 2001 From: Allen Date: Wed, 2 Dec 2020 08:16:40 +0800 Subject: [PATCH 1/4] I had to [Enter] to conitunue from autoload Maybe because the session opened message is too long, it interrupts the startup. Use g:session_verbose_messages to oppress it. --- autoload/xolox/session.vim | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/autoload/xolox/session.vim b/autoload/xolox/session.vim index 1f58004..6c9b307 100644 --- a/autoload/xolox/session.vim +++ b/autoload/xolox/session.vim @@ -590,7 +590,10 @@ function! xolox#session#open_cmd(name, bang, command) abort " {{{2 call s:last_session_persist(name) call s:flush_session() call xolox#misc#timer#stop("session.vim %s: Opened %s %s session in %s.", g:xolox#session#version, session_type, string(name), starttime) - call xolox#misc#msg#info("session.vim %s: Opened %s %s session from %s.", g:xolox#session#version, session_type, string(name), fnamemodify(path, ':~')) + if g:session_verbose_messages + " this may force user to press [Enter] + call xolox#misc#msg#info("session.vim %s: Opened %s %s session from %s.", g:xolox#session#version, session_type, string(name), fnamemodify(path, ':~')) + endif endif endif return 1 From 8c13ec8086d7759174816a7aad4255c4d750baec Mon Sep 17 00:00:00 2001 From: tenfy <364755805@qq.com> Date: Mon, 25 Jan 2016 00:47:37 +0800 Subject: [PATCH 2/4] compatibility with tagbar --- autoload/xolox/session.vim | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/autoload/xolox/session.vim b/autoload/xolox/session.vim index 1f58004..fe2100f 100644 --- a/autoload/xolox/session.vim +++ b/autoload/xolox/session.vim @@ -235,6 +235,7 @@ endfunction function! s:state_filter(line) " {{{3 " Various changes to the output of :mksession. + " echom "a:line=" . a:line if a:line =~ '^normal!\? zo$' " Silence "E490: No fold found" errors. return 'silent! ' . a:line @@ -245,6 +246,10 @@ function! s:state_filter(line) " {{{3 elseif a:line =~ '^file .\{-}\[BufExplorer\]$' " Same trick (about the E95) for BufExplorer. return '" ' . a:line + " elseif a:line =~ '^file -MiniBufExplorer-$' + " return '" ' . a:line + elseif a:line =~ '^file .\{-}__Tagbar__$' + return '" ' . a:line elseif a:line =~ '^file .\{-}__Tag_List__$' " Same trick (about the E95) for TagList. return '" ' . a:line @@ -311,9 +316,15 @@ function! s:check_special_window(session) let command = 'NERDTreeMirror' let argument = '' endif + " elseif bufname == '-MiniBufExplorer-' + " let command = 'MBEOpen' + " let argument = '' elseif bufname == '[BufExplorer]' let command = 'BufExplorer' let argument = '' + elseif bufname == '__Tagbar__' + let command = 'TagbarOpen' + let argument = '' elseif bufname == '__Tag_List__' let command = 'Tlist' let argument = '' From 8baa0ccd5979b7d87f00ec041c9fc6369ba44eff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Cercueil?= Date: Wed, 2 Jun 2021 09:46:58 +0200 Subject: [PATCH 3/4] Adding option 'g:session_ignore_special_pages' This option ignore totally the "special pages" in the session save process It allows special pages from plugins to auto-open on session start without any error from opening a void buffer (e.g empty Tagbar) --- autoload/xolox/session.vim | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/autoload/xolox/session.vim b/autoload/xolox/session.vim index fe2100f..75ff41c 100644 --- a/autoload/xolox/session.vim +++ b/autoload/xolox/session.vim @@ -184,7 +184,9 @@ function! xolox#session#save_state(commands) " {{{2 " output. We will fire the event ourselves when we're really done. call s:eat_trailing_line(lines, 'unlet SessionLoad') call s:eat_trailing_line(lines, 'doautoall SessionLoadPost') - call xolox#session#save_special_windows(lines) + if g:session_ignore_special_pages != 'yes' + call xolox#session#save_special_windows(lines) + endif if !xolox#session#include_tabs() " Customize the output of :mksession for tab scoped sessions. let buffers = tabpagebuflist() From b0369a4e35e53b31a412f343aa30ef09232b37ba Mon Sep 17 00:00:00 2001 From: Allen Date: Fri, 29 Jul 2022 11:23:03 +0800 Subject: [PATCH 4/4] fix "session_ignore_special_pages" not defined error introduced by 8baa0ccd5979b7d87f00ec041c9fc6369ba44eff --- autoload/xolox/session.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoload/xolox/session.vim b/autoload/xolox/session.vim index c530bbb..313ca13 100644 --- a/autoload/xolox/session.vim +++ b/autoload/xolox/session.vim @@ -184,7 +184,7 @@ function! xolox#session#save_state(commands) " {{{2 " output. We will fire the event ourselves when we're really done. call s:eat_trailing_line(lines, 'unlet SessionLoad') call s:eat_trailing_line(lines, 'doautoall SessionLoadPost') - if g:session_ignore_special_pages != 'yes' + if exists("g:session_ignore_special_pages") call xolox#session#save_special_windows(lines) endif if !xolox#session#include_tabs()