Use new access functions for global variables -- part 3

Ref #256
This commit is contained in:
EinfachToll
2016-12-21 22:11:44 +01:00
parent 49bdf7fa47
commit 23ee20887a
7 changed files with 45 additions and 53 deletions

View File

@ -253,7 +253,7 @@ function! vimwiki#base#resolve_link(link_text, ...) "{{{
let link_text = a:link_text
" if link is schemeless add wikiN: scheme
if link_text !~# g:vimwiki_rxSchemeUrl
if link_text !~# vimwiki#vars#get_global('rxSchemeUrl')
let link_text = 'wiki'.source_wiki.':'.link_text
endif
@ -267,7 +267,7 @@ function! vimwiki#base#resolve_link(link_text, ...) "{{{
" extract scheme
let link_infos.scheme = matchstr(link_text, g:vimwiki_rxSchemeUrlMatchScheme)
let link_infos.scheme = matchstr(link_text, vimwiki#vars#get_global('rxSchemeUrlMatchScheme'))
if link_infos.scheme == '' || link_text == ''
let link_infos.filename = '' " malformed link
return link_infos
@ -276,7 +276,7 @@ function! vimwiki#base#resolve_link(link_text, ...) "{{{
let link_infos.filename = link_text " unknown scheme, may be a weblink
return link_infos
endif
let link_text = matchstr(link_text, g:vimwiki_rxSchemeUrlMatchUrl)
let link_text = matchstr(link_text, vimwiki#vars#get_global('rxSchemeUrlMatchUrl'))
let is_wiki_link = link_infos.scheme =~# '\mwiki\d\+' ||
\ link_infos.scheme ==# 'diary'

View File

@ -1417,8 +1417,8 @@ function! s:convert_file(path_html, wikifile) "{{{
" prepare constants for s:safe_html_line()
let s:lt_pattern = '<'
let s:gt_pattern = '>'
if g:vimwiki_valid_html_tags != ''
let tags = join(split(g:vimwiki_valid_html_tags, '\s*,\s*'), '\|')
if vimwiki#vars#get_global('valid_html_tags') != ''
let tags = join(split(vimwiki#vars#get_global('valid_html_tags'), '\s*,\s*'), '\|')
let s:lt_pattern = '\c<\%(/\?\%('.tags.'\)\%(\s\{-1}\S\{-}\)\{-}/\?>\)\@!'
let s:gt_pattern = '\c\%(</\?\%('.tags.'\)\%(\s\{-1}\S\{-}\)\{-}/\?\)\@<!>'
endif

View File

@ -127,8 +127,8 @@ function! vimwiki#path#mkdir(path, ...) "{{{
endif
let path = vimwiki#path#chomp_slash(path)
if vimwiki#u#is_windows() && !empty(g:vimwiki_w32_dir_enc)
let path = iconv(path, &enc, g:vimwiki_w32_dir_enc)
if vimwiki#u#is_windows() && !empty(vimwiki#vars#get_global('w32_dir_enc'))
let path = iconv(path, &enc, vimwiki#vars#get_global('w32_dir_enc'))
endif
if a:0 && a:1 && input("Vimwiki: Make new directory: "

View File

@ -47,6 +47,39 @@ function! s:populate_global_variables()
let g:vimwiki_global_vars[key] = g:vimwiki_{key}
endif
endfor
" non-configurable global variables
" Scheme regexes should be defined even if syntax file is not loaded yet cause users should be
" able to <leader>w<leader>w without opening any vimwiki file first
let g:vimwiki_global_vars['schemes'] = 'wiki\d\+,diary,local'
let g:vimwiki_global_vars['web_schemes1'] = 'http,https,file,ftp,gopher,telnet,nntp,ldap,rsync'.
\ ',imap,pop,irc,ircs,cvs,svn,svn+ssh,git,ssh,fish,sftp'
let web_schemes2 = 'mailto,news,xmpp,sip,sips,doi,urn,tel'
let rx_schemes = '\%('.
\ join(split(g:vimwiki_global_vars['schemes'], '\s*,\s*'), '\|').'\|'.
\ join(split(g:vimwiki_global_vars['web_schemes1'], '\s*,\s*'), '\|').'\|'.
\ join(split(web_schemes2, '\s*,\s*'), '\|').
\ '\)'
let g:vimwiki_global_vars['rxSchemeUrl'] = rx_schemes.':.*'
let g:vimwiki_global_vars['rxSchemeUrlMatchScheme'] = '\zs'.rx_schemes.'\ze:.*'
let g:vimwiki_global_vars['rxSchemeUrlMatchUrl'] = rx_schemes.':\zs.*\ze'
" match URL for common protocols; see http://en.wikipedia.org/wiki/URI_scheme
" http://tools.ietf.org/html/rfc3986
let rxWebProtocols =
\ '\%('.
\ '\%('.
\ '\%('.join(split(g:vimwiki_global_vars['web_schemes1'], '\s*,\s*'), '\|').'\):'.
\ '\%(//\)'.
\ '\)'.
\ '\|'.
\ '\%('.join(split(web_schemes2, '\s*,\s*'), '\|').'\):'.
\ '\)'
let g:vimwiki_global_vars['rxWeblinkUrl'] = rxWebProtocols . '\S\{-1,}'. '\%(([^ \t()]*)\)\='
endfunction