vimwiki

Personal wiki for vim
git clone https://github.com/vimwiki/vimwiki.git
Log | Files | Refs | README | LICENSE

commit 86a8604c4e127fa397c513471250c05b305244d3
parent bf2039555ae813f5bbb83a3260b262fcad44a509
Author: EinfachToll <istjanichtzufassen@googlemail.com>
Date:   Sun,  8 Apr 2018 20:41:27 +0200

Remove recently introduced code duplication

Diffstat:
Mautoload/vimwiki/base.vim | 35+++++++----------------------------
1 file changed, 7 insertions(+), 28 deletions(-)

diff --git a/autoload/vimwiki/base.vim b/autoload/vimwiki/base.vim @@ -1783,34 +1783,13 @@ endfunction " a:create == 1: creates or updates TOC in current file " a:create == 0: update if TOC exists function! vimwiki#base#table_of_contents(create) - " collect new headers - let is_inside_pre_or_math = 0 " 1: inside pre, 2: inside math, 0: outside + let headers = s:collect_headers() let numbering = vimwiki#vars#get_global('html_header_numbering') - let headers = [] let headers_levels = [['', 0], ['', 0], ['', 0], ['', 0], ['', 0], ['', 0]] - for lnum in range(1, line('$')) - let line_content = getline(lnum) - if (is_inside_pre_or_math == 1 && line_content =~# vimwiki#vars#get_syntaxlocal('rxPreEnd')) || - \ (is_inside_pre_or_math == 2 && line_content =~# vimwiki#vars#get_syntaxlocal('rxMathEnd')) - let is_inside_pre_or_math = 0 - continue - endif - if is_inside_pre_or_math > 0 - continue - endif - if line_content =~# vimwiki#vars#get_syntaxlocal('rxPreStart') - let is_inside_pre_or_math = 1 - continue - endif - if line_content =~# vimwiki#vars#get_syntaxlocal('rxMathStart') - let is_inside_pre_or_math = 2 - continue - endif - if line_content !~# vimwiki#vars#get_syntaxlocal('rxHeader') - continue - endif - let h_level = vimwiki#u#count_first_sym(line_content) - let h_text = vimwiki#u#trim(matchstr(line_content, vimwiki#vars#get_syntaxlocal('rxHeader'))) + let complete_header_infos = [] + for header in headers + let h_text = header[2] + let h_level = header[1] if h_text ==# vimwiki#vars#get_global('toc_header') " don't include the TOC's header itself continue endif @@ -1831,14 +1810,14 @@ function! vimwiki#base#table_of_contents(create) let h_text = h_number.' '.h_text endif - call add(headers, [h_level, h_complete_id, h_text]) + call add(complete_header_infos, [h_level, h_complete_id, h_text]) endfor let lines = [] let startindent = repeat(' ', vimwiki#lst#get_list_margin()) let indentstring = repeat(' ', vimwiki#u#sw()) let bullet = vimwiki#lst#default_symbol().' ' - for [lvl, link, desc] in headers + for [lvl, link, desc] in complete_header_infos let esc_link = substitute(link, "'", "''", 'g') let esc_desc = substitute(desc, "'", "''", 'g') let link = s:safesubstitute(vimwiki#vars#get_global('WikiLinkTemplate2'), '__LinkUrl__',