parent
2329d602a7
commit
250fd3c47b
@ -13,10 +13,9 @@ function! s:vimwiki_get_known_syntaxes() " {{{
|
||||
" Getting all syntaxes that different wikis could have
|
||||
let syntaxes = {}
|
||||
let syntaxes['default'] = 1
|
||||
for wiki in g:vimwiki_list
|
||||
if has_key(wiki, 'syntax')
|
||||
let syntaxes[wiki.syntax] = 1
|
||||
endif
|
||||
for wiki_nr in range(vimwiki#vars#number_of_wikis())
|
||||
let wiki_syntax = vimwiki#vars#get_wikilocal('syntax', wiki_nr)
|
||||
let syntaxes[wiki_syntax] = 1
|
||||
endfor
|
||||
" also consider the syntaxes from g:vimwiki_ext2syntax
|
||||
for syn in values(vimwiki#vars#get_global('ext2syntax'))
|
||||
@ -490,7 +489,7 @@ function! vimwiki#base#backlinks() "{{{
|
||||
let current_filename = expand("%:p")
|
||||
let locations = []
|
||||
for idx in range(len(g:vimwiki_list))
|
||||
let syntax = VimwikiGet('syntax', idx)
|
||||
let syntax = vimwiki#vars#get_wikilocal('syntax', idx)
|
||||
let wikifiles = vimwiki#base#find_files(idx, 0)
|
||||
for source_file in wikifiles
|
||||
let links = s:get_links(source_file, idx)
|
||||
@ -675,14 +674,17 @@ function! s:jump_to_anchor(anchor) "{{{
|
||||
let anchor = vimwiki#u#escape(a:anchor)
|
||||
|
||||
let segments = split(anchor, '#', 0)
|
||||
|
||||
let current_syntax = vimwiki#vars#get_wikilocal('syntax')
|
||||
|
||||
for segment in segments
|
||||
|
||||
let anchor_header = substitute(
|
||||
\ g:vimwiki_{VimwikiGet('syntax')}_header_match,
|
||||
\ g:vimwiki_{current_syntax}_header_match,
|
||||
\ '__Header__', "\\='".segment."'", '')
|
||||
let anchor_bold = substitute(g:vimwiki_{VimwikiGet('syntax')}_bold_match,
|
||||
let anchor_bold = substitute(g:vimwiki_{current_syntax}_bold_match,
|
||||
\ '__Text__', "\\='".segment."'", '')
|
||||
let anchor_tag = substitute(g:vimwiki_{VimwikiGet('syntax')}_tag_match,
|
||||
let anchor_tag = substitute(g:vimwiki_{current_syntax}_tag_match,
|
||||
\ '__Tag__', "\\='".segment."'", '')
|
||||
|
||||
if !search(anchor_tag, 'Wc')
|
||||
@ -704,7 +706,7 @@ function! s:get_links(wikifile, idx) "{{{
|
||||
return []
|
||||
endif
|
||||
|
||||
let syntax = VimwikiGet('syntax', a:idx)
|
||||
let syntax = vimwiki#vars#get_wikilocal('syntax', a:idx)
|
||||
let rx_link = g:vimwiki_{syntax}_wikilink
|
||||
let links = []
|
||||
let lnum = 0
|
||||
@ -736,7 +738,7 @@ function! vimwiki#base#check_links() "{{{
|
||||
let links_of_files = {}
|
||||
let errors = []
|
||||
for idx in range(len(g:vimwiki_list))
|
||||
let syntax = VimwikiGet('syntax', idx)
|
||||
let syntax = vimwiki#vars#get_wikilocal('syntax', idx)
|
||||
let wikifiles = vimwiki#base#find_files(idx, 0)
|
||||
for wikifile in wikifiles
|
||||
let links_of_files[wikifile] = s:get_links(wikifile, idx)
|
||||
@ -1222,15 +1224,15 @@ endfunction " }}}
|
||||
" vimwiki#base#follow_link
|
||||
function! vimwiki#base#follow_link(split, ...) "{{{ Parse link at cursor and pass
|
||||
" to VimwikiLinkHandler, or failing that, the default open_link handler
|
||||
if exists('*vimwiki#'.VimwikiGet('syntax').'_base#follow_link')
|
||||
if exists('*vimwiki#'.vimwiki#vars#get_wikilocal('syntax').'_base#follow_link')
|
||||
" Syntax-specific links
|
||||
" XXX: @Stuart: do we still need it?
|
||||
" XXX: @Maxim: most likely! I am still working on a seemless way to
|
||||
" integrate regexp's without complicating syntax/vimwiki.vim
|
||||
if a:0
|
||||
call vimwiki#{VimwikiGet('syntax')}_base#follow_link(a:split, a:1)
|
||||
call vimwiki#{vimwiki#vars#get_wikilocal('syntax')}_base#follow_link(a:split, a:1)
|
||||
else
|
||||
call vimwiki#{VimwikiGet('syntax')}_base#follow_link(a:split)
|
||||
call vimwiki#{vimwiki#vars#get_wikilocal('syntax')}_base#follow_link(a:split)
|
||||
endif
|
||||
else
|
||||
if a:split ==# "split"
|
||||
@ -1987,9 +1989,9 @@ endfunction " }}}
|
||||
|
||||
" vimwiki#base#normalize_link
|
||||
function! vimwiki#base#normalize_link(is_visual_mode) "{{{
|
||||
if exists('*vimwiki#'.VimwikiGet('syntax').'_base#normalize_link')
|
||||
if exists('*vimwiki#'.vimwiki#vars#get_wikilocal('syntax').'_base#normalize_link')
|
||||
" Syntax-specific links
|
||||
call vimwiki#{VimwikiGet('syntax')}_base#normalize_link(a:is_visual_mode)
|
||||
call vimwiki#{vimwiki#vars#get_wikilocal('syntax')}_base#normalize_link(a:is_visual_mode)
|
||||
else
|
||||
if !a:is_visual_mode
|
||||
call s:normalize_link_syntax_n()
|
||||
|
@ -26,7 +26,7 @@ function! s:root_path(subdir) "{{{
|
||||
endfunction "}}}
|
||||
|
||||
function! s:syntax_supported() " {{{
|
||||
return VimwikiGet('syntax') ==? "default"
|
||||
return vimwiki#vars#get_wikilocal('syntax') ==? "default"
|
||||
endfunction " }}}
|
||||
|
||||
function! s:remove_blank_lines(lines) " {{{
|
||||
@ -1356,7 +1356,7 @@ function! vimwiki#html#CustomWiki2HTML(path, wikifile, force) "{{{
|
||||
call vimwiki#path#mkdir(a:path)
|
||||
echomsg system(vimwiki#vars#get_wikilocal('custom_wiki2html'). ' '.
|
||||
\ a:force. ' '.
|
||||
\ VimwikiGet('syntax'). ' '.
|
||||
\ vimwiki#vars#get_wikilocal('syntax'). ' '.
|
||||
\ strpart(vimwiki#vars#get_wikilocal('ext'), 1). ' '.
|
||||
\ shellescape(a:path). ' '.
|
||||
\ shellescape(a:wikifile). ' '.
|
||||
|
@ -188,7 +188,7 @@ function! s:get_level(lnum) "{{{
|
||||
if getline(a:lnum) =~# '^\s*$'
|
||||
return 0
|
||||
endif
|
||||
if VimwikiGet('syntax') !=? 'media'
|
||||
if vimwiki#vars#get_wikilocal('syntax') !=? 'media'
|
||||
let level = indent(a:lnum)
|
||||
else
|
||||
let level = s:string_length(matchstr(getline(a:lnum), s:rx_bullet_chars))-1
|
||||
@ -922,7 +922,7 @@ endfunction "}}}
|
||||
|
||||
function! s:decrease_level(item) "{{{
|
||||
let removed_indent = 0
|
||||
if VimwikiGet('syntax') ==? 'media' && a:item.type == 1 &&
|
||||
if vimwiki#vars#get_wikilocal('syntax') ==? 'media' && a:item.type == 1 &&
|
||||
\ index(s:multiple_bullet_chars, s:first_char(a:item.mrkr)) > -1
|
||||
if s:string_length(a:item.mrkr) >= 2
|
||||
call s:substitute_string_in_line(a:item.lnum,
|
||||
@ -944,7 +944,7 @@ endfunction "}}}
|
||||
|
||||
function! s:increase_level(item) "{{{
|
||||
let additional_indent = 0
|
||||
if VimwikiGet('syntax') ==? 'media' && a:item.type == 1 &&
|
||||
if vimwiki#vars#get_wikilocal('syntax') ==? 'media' && a:item.type == 1 &&
|
||||
\ index(s:multiple_bullet_chars, s:first_char(a:item.mrkr)) > -1
|
||||
call s:substitute_string_in_line(a:item.lnum, a:item.mrkr, a:item.mrkr .
|
||||
\ s:first_char(a:item.mrkr))
|
||||
@ -966,7 +966,7 @@ endfunction "}}}
|
||||
"a:indent_by can be negative
|
||||
function! s:indent_line_by(lnum, indent_by) "{{{
|
||||
let item = s:get_item(a:lnum)
|
||||
if VimwikiGet('syntax') ==? 'media' && item.type == 1 &&
|
||||
if vimwiki#vars#get_wikilocal('syntax') ==? 'media' && item.type == 1 &&
|
||||
\ index(s:multiple_bullet_chars, s:first_char(item.mrkr)) > -1
|
||||
if a:indent_by > 0
|
||||
call s:substitute_string_in_line(a:lnum, item.mrkr,
|
||||
@ -1112,7 +1112,7 @@ endfunction "}}}
|
||||
function! s:set_new_mrkr(item, new_mrkr) "{{{
|
||||
if a:item.type == 0
|
||||
call s:substitute_rx_in_line(a:item.lnum, '^\s*\zs\ze', a:new_mrkr.' ')
|
||||
if indent(a:item.lnum) == 0 && VimwikiGet('syntax') !=? 'media'
|
||||
if indent(a:item.lnum) == 0 && vimwiki#vars#get_wikilocal('syntax') !=? 'media'
|
||||
call s:set_indent(a:item.lnum, vimwiki#lst#get_list_margin())
|
||||
endif
|
||||
else
|
||||
@ -1193,7 +1193,7 @@ endfunction "}}}
|
||||
|
||||
"sets kind of the item depending on neighbor items and the parent item
|
||||
function! s:adjust_mrkr(item) "{{{
|
||||
if a:item.type == 0 || VimwikiGet('syntax') ==? 'media'
|
||||
if a:item.type == 0 || vimwiki#vars#get_wikilocal('syntax') ==? 'media'
|
||||
return
|
||||
endif
|
||||
|
||||
@ -1223,7 +1223,7 @@ function! s:clone_marker_from_to(from, to) "{{{
|
||||
if item_from.type == 0 | return | endif
|
||||
let new_mrkr = item_from.mrkr . ' '
|
||||
call s:substitute_rx_in_line(a:to, '^\s*', new_mrkr)
|
||||
let new_indent = ( VimwikiGet('syntax') !=? 'media' ? indent(a:from) : 0 )
|
||||
let new_indent = ( vimwiki#vars#get_wikilocal('syntax') !=? 'media' ? indent(a:from) : 0 )
|
||||
call s:set_indent(a:to, new_indent)
|
||||
if item_from.cb != ''
|
||||
call s:create_cb(s:get_item(a:to))
|
||||
|
@ -68,8 +68,9 @@ function! s:scan_tags(lines, page_name) "{{{
|
||||
" Code wireframe to scan for headers -- borrowed from
|
||||
" vimwiki#base#get_anchors(), with minor modifications.
|
||||
|
||||
let rxheader = g:vimwiki_{VimwikiGet('syntax')}_header_search
|
||||
let rxtag = g:vimwiki_{VimwikiGet('syntax')}_tag_search
|
||||
let syntax = vimwiki#vars#get_wikilocal('syntax')
|
||||
let rxheader = g:vimwiki_{syntax}_header_search
|
||||
let rxtag = g:vimwiki_{syntax}_tag_search
|
||||
|
||||
let anchor_level = ['', '', '', '', '', '', '']
|
||||
let current_complete_anchor = ''
|
||||
|
@ -43,7 +43,7 @@ endfunction "}}}
|
||||
|
||||
" Load concrete Wiki syntax: sets regexes and templates for headers and links
|
||||
function vimwiki#u#reload_regexes() "{{{
|
||||
execute 'runtime! syntax/vimwiki_'.VimwikiGet('syntax').'.vim'
|
||||
execute 'runtime! syntax/vimwiki_'.vimwiki#vars#get_wikilocal('syntax').'.vim'
|
||||
endfunction "}}}
|
||||
|
||||
" Load omnipresent Wiki syntax
|
||||
@ -53,7 +53,7 @@ endfunction "}}}
|
||||
|
||||
" Load syntax-specific functionality
|
||||
function vimwiki#u#reload_regexes_custom() "{{{
|
||||
execute 'runtime! syntax/vimwiki_'.VimwikiGet('syntax').'_custom.vim'
|
||||
execute 'runtime! syntax/vimwiki_'.vimwiki#vars#get_wikilocal('syntax').'_custom.vim'
|
||||
endfunction "}}}
|
||||
|
||||
" Backward compatible version of the built-in function shiftwidth()
|
||||
|
@ -228,6 +228,11 @@ function! vimwiki#vars#get_wikilocal(key, ...)
|
||||
endfunction
|
||||
|
||||
|
||||
function! vimwiki#vars#get_wikilocal_default(key)
|
||||
return g:vimwiki_wikilocal_vars[-1][a:key]
|
||||
endfunction
|
||||
|
||||
|
||||
function! vimwiki#vars#set_wikilocal(key, value, wiki_nr)
|
||||
if a:wiki_nr == len(g:vimwiki_wikilocal_vars) - 1
|
||||
call insert(g:vimwiki_wikilocal_vars, {}, -1)
|
||||
|
@ -45,7 +45,7 @@ function! Complete_wikifiles(findstart, base)
|
||||
let s:line_context = '['
|
||||
return startoflink
|
||||
endif
|
||||
if VimwikiGet('syntax') ==? 'markdown'
|
||||
if vimwiki#vars#get_wikilocal('syntax') ==? 'markdown'
|
||||
let startofinlinelink = match(line, '\[.*\](\zs[^)]*$')
|
||||
if startofinlinelink != -1
|
||||
let s:line_context = '['
|
||||
@ -109,7 +109,7 @@ function! Complete_wikifiles(findstart, base)
|
||||
let given_wikifile = segments[0] == '' ? expand('%:t:r') : segments[0]
|
||||
let link_infos = vimwiki#base#resolve_link(given_wikifile.'#')
|
||||
let wikifile = link_infos.filename
|
||||
let syntax = VimwikiGet('syntax', link_infos.index)
|
||||
let syntax = vimwiki#vars#get_wikilocal('syntax', link_infos.index)
|
||||
let anchors = vimwiki#base#get_anchors(wikifile, syntax)
|
||||
|
||||
let filtered_anchors = []
|
||||
|
@ -86,7 +86,7 @@ function! s:setup_filetype() "{{{
|
||||
if idx == -1
|
||||
let ext = '.'.expand('%:e')
|
||||
" lookup syntax using g:vimwiki_ext2syntax
|
||||
let syn = get(vimwiki#vars#get_global('ext2syntax'), ext, s:vimwiki_defaults.syntax)
|
||||
let syn = get(vimwiki#vars#get_global('ext2syntax'), ext, vimwiki#vars#get_wikilocal_default('syntax'))
|
||||
call add(g:vimwiki_list, {'path': path, 'ext': ext, 'syntax': syn, 'temp': 1})
|
||||
let idx = len(g:vimwiki_list) - 1
|
||||
call Validate_wiki_options(idx)
|
||||
@ -119,7 +119,7 @@ function! s:setup_buffer_enter() "{{{
|
||||
if idx == -1
|
||||
let ext = '.'.expand('%:e')
|
||||
" lookup syntax using g:vimwiki_ext2syntax
|
||||
let syn = get(vimwiki#vars#get_global('ext2syntax'), ext, s:vimwiki_defaults.syntax)
|
||||
let syn = get(vimwiki#vars#get_global('ext2syntax'), ext, vimwiki#vars#get_wikilocal_default('syntax'))
|
||||
call add(g:vimwiki_list, {'path': path, 'ext': ext, 'syntax': syn, 'temp': 1})
|
||||
let idx = len(g:vimwiki_list) - 1
|
||||
call Validate_wiki_options(idx)
|
||||
@ -317,7 +317,6 @@ endif "}}}
|
||||
|
||||
" DEFAULT wiki {{{
|
||||
let s:vimwiki_defaults = {}
|
||||
let s:vimwiki_defaults.syntax = 'default'
|
||||
|
||||
" is wiki temporary -- was added to g:vimwiki_list by opening arbitrary wiki
|
||||
" file.
|
||||
|
Loading…
Reference in New Issue
Block a user