Start refactoring the rest -- part 1

Ref 
This commit is contained in:
EinfachToll
2016-12-25 21:35:56 +01:00
parent 250fd3c47b
commit c9104fc2c1
3 changed files with 130 additions and 255 deletions
autoload/vimwiki
plugin

@ -125,17 +125,21 @@ function! s:populate_wikilocal_options()
if exists('g:vimwiki_list')
for users_options in g:vimwiki_list
let new_options_dict = {}
let new_wiki_settings = {}
for key in keys(default_values)
if has_key(users_options, key)
let new_options_dict[key] = users_options[key]
let new_wiki_settings[key] = users_options[key]
elseif exists('g:vimwiki_'.key)
let new_options_dict[key] = g:vimwiki_{key}
let new_wiki_settings[key] = g:vimwiki_{key}
else
let new_options_dict[key] = default_values[key]
let new_wiki_settings[key] = default_values[key]
endif
endfor
call add(g:vimwiki_wikilocal_vars, new_options_dict)
" is it a temporary wiki? No, it's not.
let new_wiki_settings.temp = 0
call add(g:vimwiki_wikilocal_vars, new_wiki_settings)
endfor
endif
@ -148,26 +152,27 @@ function! s:populate_wikilocal_options()
let temporary_options_dict[key] = default_values[key]
endif
endfor
call add(g:vimwiki_wikilocal_vars, default_values)
let temporary_options_dict.temp = 1
call add(g:vimwiki_wikilocal_vars, temporary_options_dict)
call s:validate_options()
call s:validate_settings()
endfunction
function! s:validate_options()
for options_dict in g:vimwiki_wikilocal_vars
let options_dict['path'] = s:normalize_path(options_dict['path'])
function! s:validate_settings()
for wiki_settings in g:vimwiki_wikilocal_vars
let wiki_settings['path'] = s:normalize_path(wiki_settings['path'])
let path_html = options_dict['path_html']
let path_html = wiki_settings['path_html']
if !empty(path_html)
let options_dict['path_html'] = s:normalize_path(path_html)
let wiki_settings['path_html'] = s:normalize_path(path_html)
else
let options_dict['path_html'] = s:normalize_path(
\ substitute(options_dict['path'], '[/\\]\+$', '', '').'_html/')
let wiki_settings['path_html'] = s:normalize_path(
\ substitute(wiki_settings['path'], '[/\\]\+$', '', '').'_html/')
endif
let options_dict['template_path'] = s:normalize_path(options_dict['template_path'])
let options_dict['diary_rel_path'] = s:normalize_path(options_dict['diary_rel_path'])
let wiki_settings['template_path'] = s:normalize_path(wiki_settings['template_path'])
let wiki_settings['diary_rel_path'] = s:normalize_path(wiki_settings['diary_rel_path'])
endfor
endfunction
@ -241,6 +246,15 @@ function! vimwiki#vars#set_wikilocal(key, value, wiki_nr)
endfunction
function! vimwiki#vars#add_temporary_wiki(settings)
let new_temp_wiki_settings = copy(g:vimwiki_wikilocal_vars[-1])
for [key, value] in items(a:settings)
let new_temp_wiki_settings[key] = value
endfor
call insert(g:vimwiki_wikilocal_vars, new_temp_wiki_settings, -1)
call s:validate_settings()
endfunction
" number of registered wikis + temporary
function! vimwiki#vars#number_of_wikis()
return len(g:vimwiki_wikilocal_vars) - 1