Feature: VimwikiVar to list, get and set variables

Refaction:
- Add g:vimwiki_syntax_list to set syntaxlocal variables
- Delete: syntax/vimwiki_markdown.vim and friends
- Change: vimwiki_syntax_variables -> vimwiki_syntaxlocal_vars for consistency
- Include: some doc in design notes
This commit is contained in:
Tinmarino
2020-08-17 22:28:15 -04:00
parent ee2d67751e
commit a51052cbe6
17 changed files with 817 additions and 583 deletions
+3 -3
View File
@@ -2163,7 +2163,7 @@ function! vimwiki#base#AddHeaderLevel(...) abort
endif
let lnum = line('.')
let line = getline(lnum)
let rxHdr = vimwiki#vars#get_syntaxlocal('rxH')
let rxHdr = vimwiki#vars#get_syntaxlocal('header_symbol')
if line =~# '^\s*$'
return
endif
@@ -2197,7 +2197,7 @@ function! vimwiki#base#RemoveHeaderLevel(...) abort
endif
let lnum = line('.')
let line = getline(lnum)
let rxHdr = vimwiki#vars#get_syntaxlocal('rxH')
let rxHdr = vimwiki#vars#get_syntaxlocal('header_symbol')
if line =~# '^\s*$'
return
endif
@@ -2269,7 +2269,7 @@ function! s:collect_headers() abort
endif
" Clause: markdown headers must start in the first column
if vimwiki#vars#get_wikilocal('syntax') ==# 'markdown'
\ && stridx(line_content, vimwiki#vars#get_syntaxlocal('rxH')) > 0
\ && stridx(line_content, vimwiki#vars#get_syntaxlocal('header_symbol')) > 0
continue
endif
" Get header level
+4 -3
View File
@@ -1296,8 +1296,9 @@ function! s:parse_line(line, state) abort
" current line while not marking as processed in the scenario where some
" text remains that needs to go through additional processing
if !processed
let mc_start = vimwiki#vars#get_syntaxlocal('rxMultilineCommentStart')
let mc_end = vimwiki#vars#get_syntaxlocal('rxMultilineCommentEnd')
let mc_format = vimwiki#vars#get_syntaxlocal('multiline_comment_format')
let mc_start = mc_format.pre_mark
let mc_end = mc_format.post_mark
" If either start or end is empty, we want to skip multiline handling
if !empty(mc_start) && !empty(mc_end)
@@ -1396,7 +1397,7 @@ function! s:parse_line(line, state) abort
endif
if !processed
if line =~# vimwiki#vars#get_syntaxlocal('rxComment')
if line =~# vimwiki#vars#get_syntaxlocal('comment_regex')
let processed = 1
endif
endif
+9 -4
View File
@@ -5,17 +5,22 @@
" Echo: msg
" :param: (1) <string> highlighting group
" :param: (2) <string> echo suffix (ex: 'n', 'm'
" :param: (2) <string> echo suffix (ex: 'n', 'm')
" :param: (3) <string> message prefix, default Vimwiki
function! vimwiki#u#echo(msg, ...) abort
let hl_group = a:0 > 0 ? a:1 : ''
let echo_suffix = a:0 > 1 ? a:2 : ''
let msg_prefix = a:0 > 2 ? a:3 : 'Vimwiki: '
" Start highlighting
if hl_group !=# ''
exe 'echohl ' . hl_group
endif
" Print
" Escape
let msg = substitute(a:msg, "'", "''", 'g')
exe 'echo'.echo_suffix . " 'Vimwiki: " . msg . "'"
" Print
exe 'echo'.echo_suffix . " '" . msg_prefix . msg . "'"
" Stop highlighting
if hl_group !=# ''
echohl None
@@ -267,7 +272,7 @@ endfunction
" :param: syntax <string> to retrive, default to current
function! vimwiki#u#get_syntax_dic(...) abort
let syntax = a:0 ? a:1 : vimwiki#vars#get_wikilocal('syntax')
return g:vimwiki_syntax_variables[syntax]
return g:vimwiki_syntaxlocal_vars[syntax]
endfunction
+667 -243
View File
File diff suppressed because it is too large Load Diff