commit 1ba99ae135e1f0fd5d84a756c9f71460aae03490
parent c9229244a819755f165c4f116f1b213a1a0d3c90
Author: Rane Brown <ranebrown@users.noreply.github.com>
Date: Sun, 31 Mar 2019 13:29:11 -0600
Merge pull request #636 to support file exclusion in link generation
Diffstat:
3 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/autoload/vimwiki/base.vim b/autoload/vimwiki/base.vim
@@ -452,7 +452,17 @@ function! vimwiki#base#find_files(wiki_nr, directories_only)
else
let pattern = '**/*'.ext
endif
- return split(globpath(root_directory, pattern), '\n')
+ let files = globpath(root_directory, pattern, 0, 1)
+ " filter excluded files before returning
+ function! ExcludeFiles(idx, val) closure
+ for pattern in vimwiki#vars#get_wikilocal('exclude_files')
+ if index(globpath(root_directory, pattern, 0, 1), a:val) != -1
+ return 0
+ endif
+ endfor
+ return 1
+ endfunction
+ return filter(files, funcref('ExcludeFiles'))
endfunction
diff --git a/autoload/vimwiki/vars.vim b/autoload/vimwiki/vars.vim
@@ -266,6 +266,7 @@ function! s:populate_wikilocal_options()
\ 'diary_rel_path': {'type': type(''), 'default': 'diary/', 'min_length': 1},
\ 'diary_caption_level': {'type': type(0), 'default': 0, 'min': -1, 'max': 6},
\ 'diary_sort': {'type': type(''), 'default': 'desc', 'possible_values': ['asc', 'desc']},
+ \ 'exclude_files': {'type': type([]), 'default': []},
\ 'ext': {'type': type(''), 'default': '.wiki', 'min_length': 1},
\ 'index': {'type': type(''), 'default': 'index', 'min_length': 1},
\ 'list_margin': {'type': type(0), 'default': -1, 'min': -1},
diff --git a/doc/vimwiki.txt b/doc/vimwiki.txt
@@ -2390,6 +2390,17 @@ current wiki page is saved: >
let g:vimwiki_list = [{'path': '~/my_site/', 'auto_generate_tags': 1}]
+*vimwiki-option-exclude_files*
+------------------------------------------------------------------------------
+Key Default value Values~
+exclude_files [] list of file patterns to exclude
+
+Description~
+Set this option to a list of file patterns to exclude when checking or
+generating links: >
+ let g:vimwiki_list = [{'path': '~/my_site/', 'exclude_files': ['**/README.md']}]
+
+
------------------------------------------------------------------------------
12.4 Global Options *vimwiki-global-options*