Przeglądaj źródła

new option: g:startify_skiplist

This list is supposed to contain Vim regular expressions to filter the
list of recently used files. An example is given in the doc.

Closes #5.
Marco Hinz 12 lat temu
rodzic
commit
9a743ac0be
3 zmienionych plików z 24 dodań i 3 usunięć
  1. 8 0
      autoload/startify.vim
  2. 14 0
      doc/startify.txt
  3. 2 3
      plugin/startify.vim

+ 8 - 0
autoload/startify.vim

@@ -24,6 +24,14 @@ function! startify#get_sep() abort
   return !exists('+shellslash') || &shellslash ? '/' : '\'
 endfunction
 
+function! startify#process_skiplist(arg) abort
+  for regexp in g:startify_skiplist
+    if a:arg =~# regexp
+      return 1
+    endif
+  endfor
+endfunction
+
 function! startify#save_session(...) abort
   if !isdirectory(g:startify_session_dir)
     echo 'The session directory does not exist: '. g:startify_session_dir

+ 14 - 0
doc/startify.txt

@@ -74,6 +74,8 @@ default values.
 
 The directory to save/load sessions to/from.
 
+The default for Windows systems is '$HOME\vimfiles\session'.
+
 
 ============-
 
@@ -103,6 +105,18 @@ The amount of files to list.
 A list of files to bookmark. Those files will always be shown at the bottom of
 the start screen.
 
+============-
+
+    let g:startify_skiplist = []
+
+A list of Vim regular expressions to filter recently used files.
+
+Example:   let g:startify_skiplist = [
+             \ 'COMMIT_EDITMSG',
+             \ $VIMRUNTIME .'/doc',
+             \ 'bundle/.*/doc'
+             \ ]
+
 
 ============-
 

+ 2 - 3
plugin/startify.vim

@@ -43,9 +43,8 @@ function! s:start() abort
     let numfiles = get(g:, 'startify_show_files_number', 10)
     call append('$', '')
     for fname in v:oldfiles
-      if !filereadable(expand(fname))
-            \ || (expand(fname) =~# $VIMRUNTIME . sep .'doc')
-            \ || (fname =~# 'bundle'. sep .'.*'. sep .'doc')
+      let expfname = expand(fname)
+      if !filereadable(expfname) || (exists('g:startify_skiplist') && startify#process_skiplist(expfname))
         continue
       endif
       call append('$', '   ['. cnt .']'. repeat(' ', 3 - strlen(string(cnt))) . fname)