Просмотр исходного кода

Emit user events on opened buffers

Closes #334
Marco Hinz 7 лет назад
Родитель
Сommit
53c8799ad0
2 измененных файлов с 25 добавлено и 2 удалено
  1. 7 0
      autoload/startify.vim
  2. 18 2
      doc/startify.txt

+ 7 - 0
autoload/startify.vim

@@ -410,6 +410,10 @@ function! startify#open_buffers(...) abort
   endfor
 
   wincmd =
+
+  if exists('#User#StartifyAllBuffersOpened')
+    autocmd <nomodeline> User StartifyAllBuffersOpened
+  endif
 endfunction
 
 " Function: s:get_lists {{{1
@@ -507,6 +511,9 @@ function! s:open_buffer(entry)
     endif
     call s:check_user_options(a:entry.path)
   endif
+  if exists('#User#StartifyBufferOpened')
+    autocmd <nomodeline> User StartifyBufferOpened
+  endif
 endfunction
 
 " Function: s:set_custom_section {{{1

+ 18 - 2
doc/startify.txt

@@ -695,8 +695,24 @@ $PWD and $OLDPWD are ignored.
 ==============================================================================
 AUTOCMD                                                       *startify-autocmd*
 
-When the Startify buffer is ready, it emits an User event. You can hook into
-that to customize Startify even further:
+In certain situations Startify emits events which can be hooked into via
+|autocmd|s. Those can be used for further customization.
+
+StartifyReady~
+
+  When the Startify buffer is ready.
+
+StartifyBufferOpened~
+
+  For each buffer that got opened by Startify. When you open multiple files at
+  once (see |startify-usage|), this event fires multiple times as well.
+
+StartifyAllBuffersOpened~
+
+  No matter how many buffers you open, this event fires only once after the
+  last buffer was opened.
+
+Example:
 >
     autocmd User StartifyReady let &l:stl = ' This statusline rocks!'
 <