Version 1.2
= Note = Remove previous version of vimwiki before install - files in autoload dir is moved/renamed to autoload/vimwiki dir. = Changelog = * Issue 70: Table spanning cell support. * Issue 72: Do not convert again for unchanged file. |:VimwikiAll2HTML| converts only changed wiki files. * Issue 117: |VimwikiDiaryIndex| command that opens diary index wiki page. * Issue 120: Links in headers are not highlighted in vimwiki but are highlighted in HTML. * Issue 138: Added possibility to remap table-column move bindings. See |:VimwikiTableMoveColumnLeft| and |:VimwikiTableMoveColumnRight| commands. For remap instructions see |vimwiki_<A-Left>| and |vimwiki_<A-Right>|. * Issue 125: Problem with 'o' command given while at the of the file. * Issue 131: FileType is not set up when GUIEnter autocommand is used in vimrc. Use 'nested' in 'au GUIEnter * nested VimwikiIndex' * Issue 132: Link to perl (or any non-wiki) file in vimwiki subdirectory doesn't work as intended. * Issue 135: %title and %toc used together cause TOC to appear in an unexpected place in HTML. * Issue 139: |:VimwikiTabnewLink| command is added. * Fix of g:vimwiki_stripsym = '' (i.e. an empty string) -- it removes bad symbols from filenames. * Issue 145: With modeline 'set ft=vimwiki' links are not correctly highlighted when open wiki files. * Issue 146: Filetype difficulty with ".txt" as a vimwiki extension. * Issue 148: There are no mailto links. * Issue 151: Use location list instead of quickfix list for :VimwikiSearch command result. Use :lopen instead of :copen, :lnext instead of :cnext etc. * Issue 152: Add the list of HTML files that would not be deleted after |:VimwikiAll2HTML|. * Issue 153: Delete HTML files that has no corresponding wiki ones with |:VimwikiAll2HTML|. * Issue 156: Add multiple HTML templates. See |vimwiki-option-template_path|. Options html_header and html_footer are no longer exist. * Issue 173: When virtualedit=all option is enabled the 'o' command behave strange. * Issue 178: Problem with alike wikie's paths. * Issue 182: Browser command does not quote url. * Issue 183: Spelling error highlighting is not possible with nested syntaxes. * Issue 184: Wrong foldlevel in some cases. * Issue 195: Page renaming issue. * Issue 196: vim: modeline bug -- syn=vim doesn't work. * Issue 199: Generated HTML for sublists is invalid. * Issue 200: Generated HTML for todo lists does not show completion status the fix relies on CSS, thus your old stylesheets need to be updated!; may not work in obsolete browsers or font-deficient systems. * Issue 205: Block code: highlighting differs from processing. Inline code block {{{ ... }}} is removed. Use `...` instead. * Issue 208: Default highlight colors are problematic in many colorschemes. Headers are highlighted as |hl-Title| by default, use |g:vimwiki_hl_headers| to restore previous default Red, Green, Blue or custom header colors. Some other changes in highlighting. * Issue 209: Wild comments slow down html generation. Comments are changed, use %% to comment out entire line. * Issue 210: HTML: para enclose header. * Issue 214: External links containing Chinese characters get trimmed. * Issue 218: Command to generate HTML file and open it in webbrowser. See |:Vimwiki2HTMLBrowse|(bind to <leader>whh) * NEW: Added <Leader>wh mapping to call |:Vimwiki2HTML|
This commit is contained in:
parent
78ee71394a
commit
84297c9051
7
README
7
README
@ -5,8 +5,7 @@ A Personal Wiki For Vim Plugin
|
|||||||
Screenshots are available on http://code.google.com/p/vimwiki/
|
Screenshots are available on http://code.google.com/p/vimwiki/
|
||||||
There are also zipped vimwiki files there in case you do not like vimball archives.
|
There are also zipped vimwiki files there in case you do not like vimball archives.
|
||||||
|
|
||||||
Vimwiki quick reference card http://habamax.ru/myvim/data/vimwikiqrc.pdf by J.A.J. Pater.
|
Vimwiki quick reference card http://vimwiki.googlecode.com/hg/misc/Vimwiki1.1.1QR.pdf.
|
||||||
Thx Gager Jacob for the update.
|
|
||||||
|
|
||||||
|
|
||||||
Prerequisites
|
Prerequisites
|
||||||
@ -42,8 +41,8 @@ Feed it with the following example:
|
|||||||
* ScratchPad -- various temporary stuff.
|
* ScratchPad -- various temporary stuff.
|
||||||
|
|
||||||
|
|
||||||
Notice that ProjectGutenberg, MyUrgentTasks and ScratchPad highlighted as
|
Notice that !ProjectGutenberg, !MyUrgentTasks and !ScratchPad curly underlined.
|
||||||
errors. These are links in CamelCase form that do not exists yet. (CamelCase
|
These are links in CamelCase form that do not exists yet. (CamelCase
|
||||||
form -- capitalized word connected with other capitalized words)
|
form -- capitalized word connected with other capitalized words)
|
||||||
|
|
||||||
Place cursor on ProjectGutenberg and press <Enter>. Now you are in
|
Place cursor on ProjectGutenberg and press <Enter>. Now you are in
|
||||||
|
@ -18,14 +18,18 @@ let s:badsymbols = '['.g:vimwiki_badsyms.g:vimwiki_stripsym.'<>|?*:"]'
|
|||||||
|
|
||||||
" MISC helper functions {{{
|
" MISC helper functions {{{
|
||||||
|
|
||||||
function! vimwiki#chomp_slash(str) "{{{
|
function! vimwiki#base#chomp_slash(str) "{{{
|
||||||
return substitute(a:str, '[/\\]\+$', '', '')
|
return substitute(a:str, '[/\\]\+$', '', '')
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki#mkdir(path) "{{{
|
function! vimwiki#base#path_norm(path) "{{{
|
||||||
|
return substitute(a:path, '\', '/', 'g')
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! vimwiki#base#mkdir(path) "{{{
|
||||||
let path = expand(a:path)
|
let path = expand(a:path)
|
||||||
if !isdirectory(path) && exists("*mkdir")
|
if !isdirectory(path) && exists("*mkdir")
|
||||||
let path = vimwiki#chomp_slash(path)
|
let path = vimwiki#base#chomp_slash(path)
|
||||||
if s:is_windows() && !empty(g:vimwiki_w32_dir_enc)
|
if s:is_windows() && !empty(g:vimwiki_w32_dir_enc)
|
||||||
let path = iconv(path, &enc, g:vimwiki_w32_dir_enc)
|
let path = iconv(path, &enc, g:vimwiki_w32_dir_enc)
|
||||||
endif
|
endif
|
||||||
@ -34,17 +38,30 @@ function! vimwiki#mkdir(path) "{{{
|
|||||||
endfunction
|
endfunction
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
function! vimwiki#safe_link(string) "{{{
|
function! vimwiki#base#safe_link(link) "{{{
|
||||||
return substitute(a:string, s:badsymbols, g:vimwiki_stripsym, 'g')
|
" handling Windows absolute paths
|
||||||
|
if a:link =~ '^[[:alpha:]]:[/\\].*'
|
||||||
|
let link_start = a:link[0 : 2]
|
||||||
|
let link = a:link[3 : ]
|
||||||
|
else
|
||||||
|
let link_start = ''
|
||||||
|
let link = a:link
|
||||||
|
endif
|
||||||
|
let link = substitute(link, s:badsymbols, g:vimwiki_stripsym, 'g')
|
||||||
|
return link_start.link
|
||||||
endfunction
|
endfunction
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
function! vimwiki#unsafe_link(string) "{{{
|
function! vimwiki#base#unsafe_link(string) "{{{
|
||||||
return substitute(a:string, g:vimwiki_stripsym, s:badsymbols, 'g')
|
if len(g:vimwiki_stripsym) > 0
|
||||||
|
return substitute(a:string, g:vimwiki_stripsym, s:badsymbols, 'g')
|
||||||
|
else
|
||||||
|
return a:string
|
||||||
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
function! vimwiki#subdir(path, filename)"{{{
|
function! vimwiki#base#subdir(path, filename)"{{{
|
||||||
let path = expand(a:path)
|
let path = expand(a:path)
|
||||||
let filename = expand(a:filename)
|
let filename = expand(a:filename)
|
||||||
let idx = 0
|
let idx = 0
|
||||||
@ -60,13 +77,17 @@ function! vimwiki#subdir(path, filename)"{{{
|
|||||||
return res
|
return res
|
||||||
endfunction"}}}
|
endfunction"}}}
|
||||||
|
|
||||||
function! vimwiki#current_subdir()"{{{
|
function! vimwiki#base#current_subdir()"{{{
|
||||||
return vimwiki#subdir(VimwikiGet('path'), expand('%:p'))
|
return vimwiki#base#subdir(VimwikiGet('path'), expand('%:p'))
|
||||||
endfunction"}}}
|
endfunction"}}}
|
||||||
|
|
||||||
function! vimwiki#open_link(cmd, link, ...) "{{{
|
function! vimwiki#base#open_link(cmd, link, ...) "{{{
|
||||||
if vimwiki#is_non_wiki_link(a:link)
|
if vimwiki#base#is_non_wiki_link(a:link)
|
||||||
call s:edit_file(a:cmd, a:link)
|
if s:is_path_absolute(a:link)
|
||||||
|
call vimwiki#base#edit_file(a:cmd, a:link)
|
||||||
|
else
|
||||||
|
call vimwiki#base#edit_file(a:cmd, VimwikiGet('path').a:link)
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
if a:0
|
if a:0
|
||||||
let vimwiki_prev_link = [a:1, []]
|
let vimwiki_prev_link = [a:1, []]
|
||||||
@ -74,17 +95,17 @@ function! vimwiki#open_link(cmd, link, ...) "{{{
|
|||||||
let vimwiki_prev_link = [expand('%:p'), getpos('.')]
|
let vimwiki_prev_link = [expand('%:p'), getpos('.')]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if vimwiki#is_link_to_dir(a:link)
|
if vimwiki#base#is_link_to_dir(a:link)
|
||||||
if g:vimwiki_dir_link == ''
|
if g:vimwiki_dir_link == ''
|
||||||
call s:edit_file(a:cmd, VimwikiGet('path').a:link)
|
call vimwiki#base#edit_file(a:cmd, VimwikiGet('path').a:link)
|
||||||
else
|
else
|
||||||
call s:edit_file(a:cmd,
|
call vimwiki#base#edit_file(a:cmd,
|
||||||
\ VimwikiGet('path').a:link.
|
\ VimwikiGet('path').a:link.
|
||||||
\ g:vimwiki_dir_link.
|
\ g:vimwiki_dir_link.
|
||||||
\ VimwikiGet('ext'))
|
\ VimwikiGet('ext'))
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
call s:edit_file(a:cmd, VimwikiGet('path').a:link.VimwikiGet('ext'))
|
call vimwiki#base#edit_file(a:cmd, VimwikiGet('path').a:link.VimwikiGet('ext'))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if exists('vimwiki_prev_link')
|
if exists('vimwiki_prev_link')
|
||||||
@ -94,7 +115,7 @@ function! vimwiki#open_link(cmd, link, ...) "{{{
|
|||||||
endfunction
|
endfunction
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
function! vimwiki#select(wnum)"{{{
|
function! vimwiki#base#select(wnum)"{{{
|
||||||
if a:wnum < 1 || a:wnum > len(g:vimwiki_list)
|
if a:wnum < 1 || a:wnum > len(g:vimwiki_list)
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
@ -105,7 +126,7 @@ function! vimwiki#select(wnum)"{{{
|
|||||||
endfunction
|
endfunction
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
function! vimwiki#generate_links()"{{{
|
function! vimwiki#base#generate_links()"{{{
|
||||||
let links = s:get_links('*'.VimwikiGet('ext'))
|
let links = s:get_links('*'.VimwikiGet('ext'))
|
||||||
|
|
||||||
" We don't want link to itself.
|
" We don't want link to itself.
|
||||||
@ -127,8 +148,8 @@ function! vimwiki#generate_links()"{{{
|
|||||||
endfor
|
endfor
|
||||||
endfunction " }}}
|
endfunction " }}}
|
||||||
|
|
||||||
function! vimwiki#goto(key) "{{{
|
function! vimwiki#base#goto(key) "{{{
|
||||||
call s:edit_file(':e',
|
call vimwiki#base#edit_file(':e',
|
||||||
\ VimwikiGet('path').
|
\ VimwikiGet('path').
|
||||||
\ a:key.
|
\ a:key.
|
||||||
\ VimwikiGet('ext'))
|
\ VimwikiGet('ext'))
|
||||||
@ -138,9 +159,13 @@ function! s:is_windows() "{{{
|
|||||||
return has("win32") || has("win64") || has("win95") || has("win16")
|
return has("win32") || has("win64") || has("win95") || has("win16")
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:is_path_absolute(path) "{{{
|
||||||
|
return a:path =~ '^/.*' || a:path =~ '^[[:alpha:]]:[/\\].*'
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:get_links(pat) "{{{
|
function! s:get_links(pat) "{{{
|
||||||
" search all wiki files in 'path' and its subdirs.
|
" search all wiki files in 'path' and its subdirs.
|
||||||
let subdir = vimwiki#current_subdir()
|
let subdir = vimwiki#base#current_subdir()
|
||||||
|
|
||||||
" if current wiki is temporary -- was added by an arbitrary wiki file then do
|
" if current wiki is temporary -- was added by an arbitrary wiki file then do
|
||||||
" not search wiki files in subdirectories. Or it would hang the system if
|
" not search wiki files in subdirectories. Or it would hang the system if
|
||||||
@ -173,11 +198,11 @@ function! s:cursor(lnum, cnum) "{{{
|
|||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:filename(link) "{{{
|
function! s:filename(link) "{{{
|
||||||
let result = vimwiki#safe_link(a:link)
|
let result = vimwiki#base#safe_link(a:link)
|
||||||
if a:link =~ '|'
|
if a:link =~ '|'
|
||||||
let result = vimwiki#safe_link(split(a:link, '|')[0])
|
let result = vimwiki#base#safe_link(split(a:link, '|')[0])
|
||||||
elseif a:link =~ ']['
|
elseif a:link =~ ']['
|
||||||
let result = vimwiki#safe_link(split(a:link, '][')[0])
|
let result = vimwiki#base#safe_link(split(a:link, '][')[0])
|
||||||
endif
|
endif
|
||||||
return result
|
return result
|
||||||
endfunction
|
endfunction
|
||||||
@ -191,10 +216,15 @@ function! s:is_wiki_word(str) "{{{
|
|||||||
endfunction
|
endfunction
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
function! s:edit_file(command, filename) "{{{
|
function! vimwiki#base#edit_file(command, filename) "{{{
|
||||||
let fname = escape(a:filename, '% ')
|
let fname = escape(a:filename, '% ')
|
||||||
call vimwiki#mkdir(fnamemodify(a:filename, ":p:h"))
|
call vimwiki#base#mkdir(fnamemodify(a:filename, ":p:h"))
|
||||||
execute a:command.' '.fname
|
try
|
||||||
|
execute a:command.' '.fname
|
||||||
|
catch /E37/ " catch 'No write since last change' error
|
||||||
|
execute ':split '.fname
|
||||||
|
catch /E325/ " catch 'ATTENTION' error (:h E325)
|
||||||
|
endtry
|
||||||
endfunction
|
endfunction
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
@ -242,13 +272,13 @@ function! s:strip_word(word) "{{{
|
|||||||
let w = split(w, "][")[0]
|
let w = split(w, "][")[0]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let result = vimwiki#safe_link(w)
|
let result = vimwiki#base#safe_link(w)
|
||||||
endif
|
endif
|
||||||
return result
|
return result
|
||||||
endfunction
|
endfunction
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
function! vimwiki#is_non_wiki_link(lnk) "{{{
|
function! vimwiki#base#is_non_wiki_link(lnk) "{{{
|
||||||
let exts = '.\+\.\%('.
|
let exts = '.\+\.\%('.
|
||||||
\ join(split(g:vimwiki_file_exts, '\s*,\s*'), '\|').
|
\ join(split(g:vimwiki_file_exts, '\s*,\s*'), '\|').
|
||||||
\ '\)$'
|
\ '\)$'
|
||||||
@ -258,7 +288,7 @@ function! vimwiki#is_non_wiki_link(lnk) "{{{
|
|||||||
return 0
|
return 0
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki#is_link_to_dir(link) "{{{
|
function! vimwiki#base#is_link_to_dir(link) "{{{
|
||||||
" Check if link is to a directory.
|
" Check if link is to a directory.
|
||||||
" It should be ended with \ or /.
|
" It should be ended with \ or /.
|
||||||
if a:link =~ '.\+[/\\]$'
|
if a:link =~ '.\+[/\\]$'
|
||||||
@ -314,10 +344,10 @@ function! s:update_wiki_links_dir(dir, old_fname, new_fname) " {{{
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
if !s:is_wiki_word(old_fname)
|
if !s:is_wiki_word(old_fname)
|
||||||
let old_fname_r = '\[\[\zs'.vimwiki#unsafe_link(old_fname).
|
let old_fname_r = '\[\[\zs'.vimwiki#base#unsafe_link(old_fname).
|
||||||
\ '\ze\%(|.*\)\?\%(\]\[.*\)\?\]\]'
|
\ '\ze\%(|.*\)\?\%(\]\[.*\)\?\]\]'
|
||||||
else
|
else
|
||||||
let old_fname_r = '\<'.old_fname.'\>'
|
let old_fname_r = '!\@<!\<'.old_fname.'\>'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let files = split(glob(VimwikiGet('path').a:dir.'*'.VimwikiGet('ext')), '\n')
|
let files = split(glob(VimwikiGet('path').a:dir.'*'.VimwikiGet('ext')), '\n')
|
||||||
@ -383,7 +413,7 @@ function! s:get_wiki_buffers() "{{{
|
|||||||
endfunction " }}}
|
endfunction " }}}
|
||||||
|
|
||||||
function! s:open_wiki_buffer(item) "{{{
|
function! s:open_wiki_buffer(item) "{{{
|
||||||
call s:edit_file('e', a:item[0])
|
call vimwiki#base#edit_file(':e', a:item[0])
|
||||||
if !empty(a:item[1])
|
if !empty(a:item[1])
|
||||||
call setbufvar(a:item[0], "vimwiki_prev_link", a:item[1])
|
call setbufvar(a:item[0], "vimwiki_prev_link", a:item[1])
|
||||||
endif
|
endif
|
||||||
@ -392,7 +422,7 @@ endfunction " }}}
|
|||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
" SYNTAX highlight {{{
|
" SYNTAX highlight {{{
|
||||||
function! vimwiki#highlight_links() "{{{
|
function! vimwiki#base#highlight_links() "{{{
|
||||||
try
|
try
|
||||||
syntax clear VimwikiNoExistsLink
|
syntax clear VimwikiNoExistsLink
|
||||||
syntax clear VimwikiNoExistsLinkT
|
syntax clear VimwikiNoExistsLinkT
|
||||||
@ -442,21 +472,21 @@ function! s:highlight_existed_links() "{{{
|
|||||||
|
|
||||||
for link in links
|
for link in links
|
||||||
if g:vimwiki_camel_case &&
|
if g:vimwiki_camel_case &&
|
||||||
\ link =~ g:vimwiki_rxWikiWord && !vimwiki#is_non_wiki_link(link)
|
\ link =~ g:vimwiki_rxWikiWord && !vimwiki#base#is_non_wiki_link(link)
|
||||||
execute 'syntax match VimwikiLink /!\@<!\<'.link.'\>/ display'
|
execute 'syntax match VimwikiLink /!\@<!\<'.link.'\>/ display'
|
||||||
endif
|
endif
|
||||||
execute 'syntax match VimwikiLink /\[\['.
|
execute 'syntax match VimwikiLink /\[\['.
|
||||||
\ escape(vimwiki#unsafe_link(link), '~&$.*').
|
\ escape(vimwiki#base#unsafe_link(link), '~&$.*').
|
||||||
\ '\%(|\+.\{-}\)\{-}\]\]/ display contains=VimwikiLinkChar'
|
\ '\%(|\+.\{-}\)\{-}\]\]/ display contains=VimwikiLinkChar'
|
||||||
execute 'syntax match VimwikiLink /\[\['.
|
execute 'syntax match VimwikiLink /\[\['.
|
||||||
\ escape(vimwiki#unsafe_link(link), '~&$.*').
|
\ escape(vimwiki#base#unsafe_link(link), '~&$.*').
|
||||||
\ '\]\[.\{-1,}\]\]/ display contains=VimwikiLinkChar'
|
\ '\]\[.\{-1,}\]\]/ display contains=VimwikiLinkChar'
|
||||||
|
|
||||||
execute 'syntax match VimwikiLinkT /\[\['.
|
execute 'syntax match VimwikiLinkT /\[\['.
|
||||||
\ escape(vimwiki#unsafe_link(link), '~&$.*').
|
\ escape(vimwiki#base#unsafe_link(link), '~&$.*').
|
||||||
\ '\%(|\+.\{-}\)\{-}\]\]/ display contained'
|
\ '\%(|\+.\{-}\)\{-}\]\]/ display contained'
|
||||||
execute 'syntax match VimwikiLinkT /\[\['.
|
execute 'syntax match VimwikiLinkT /\[\['.
|
||||||
\ escape(vimwiki#unsafe_link(link), '~&$.*').
|
\ escape(vimwiki#base#unsafe_link(link), '~&$.*').
|
||||||
\ '\]\[.\{-1,}\]\]/ display contained'
|
\ '\]\[.\{-1,}\]\]/ display contained'
|
||||||
endfor
|
endfor
|
||||||
execute 'syntax match VimwikiLink /\[\[.\+\.\%(jpg\|png\|gif\)\%(|\+.*\)*\]\]/ display contains=VimwikiLinkChar'
|
execute 'syntax match VimwikiLink /\[\[.\+\.\%(jpg\|png\|gif\)\%(|\+.*\)*\]\]/ display contains=VimwikiLinkChar'
|
||||||
@ -485,76 +515,22 @@ function! s:highlight_existed_links() "{{{
|
|||||||
call map(dirs, 'substitute(v:val, os_p, os_p2, "g")')
|
call map(dirs, 'substitute(v:val, os_p, os_p2, "g")')
|
||||||
for dir in dirs
|
for dir in dirs
|
||||||
execute 'syntax match VimwikiLink /\[\['.
|
execute 'syntax match VimwikiLink /\[\['.
|
||||||
\ escape(vimwiki#unsafe_link(dir), '~&$.*').
|
\ escape(vimwiki#base#unsafe_link(dir), '~&$.*').
|
||||||
\ '[/\\]*\%(|\+.*\)*\]\]/ display contains=VimwikiLinkChar'
|
\ '[/\\]*\%(|\+.*\)*\]\]/ display contains=VimwikiLinkChar'
|
||||||
execute 'syntax match VimwikiLink /\[\['.
|
execute 'syntax match VimwikiLink /\[\['.
|
||||||
\ escape(vimwiki#unsafe_link(dir), '~&$.*').
|
\ escape(vimwiki#base#unsafe_link(dir), '~&$.*').
|
||||||
\ '[/\\]*\%(\]\[\+.*\)*\]\]/ display contains=VimwikiLinkChar'
|
\ '[/\\]*\%(\]\[\+.*\)*\]\]/ display contains=VimwikiLinkChar'
|
||||||
|
|
||||||
execute 'syntax match VimwikiLinkT /\[\['.
|
execute 'syntax match VimwikiLinkT /\[\['.
|
||||||
\ escape(vimwiki#unsafe_link(dir), '~&$.*').
|
\ escape(vimwiki#base#unsafe_link(dir), '~&$.*').
|
||||||
\ '[/\\]*\%(|\+.*\)*\]\]/ display contained'
|
\ '[/\\]*\%(|\+.*\)*\]\]/ display contained'
|
||||||
execute 'syntax match VimwikiLinkT /\[\['.
|
execute 'syntax match VimwikiLinkT /\[\['.
|
||||||
\ escape(vimwiki#unsafe_link(dir), '~&$.*').
|
\ escape(vimwiki#base#unsafe_link(dir), '~&$.*').
|
||||||
\ '[/\\]*\%(\]\[\+.*\)*\]\]/ display contained'
|
\ '[/\\]*\%(\]\[\+.*\)*\]\]/ display contained'
|
||||||
endfor
|
endfor
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki#setup_colors() "{{{
|
function! vimwiki#base#hl_exists(hl) "{{{
|
||||||
|
|
||||||
function! s:set_visible_ignore_color() "{{{
|
|
||||||
if !exists("g:colors_name") || g:colors_name == 'default'
|
|
||||||
if &background == 'light'
|
|
||||||
hi VimwikiIgnore guifg=#d0d0d0
|
|
||||||
else
|
|
||||||
hi VimwikiIgnore guifg=#505050
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
hi link VimwikiIgnore Normal
|
|
||||||
endif
|
|
||||||
endfunction "}}}
|
|
||||||
|
|
||||||
let hlfg_ignore = vimwiki#get_hl_param('Ignore', 'guifg')
|
|
||||||
let hlbg_normal = vimwiki#get_hl_param('Normal', 'guibg')
|
|
||||||
if hlfg_ignore == 'bg' || hlfg_ignore == hlbg_normal
|
|
||||||
call s:set_visible_ignore_color()
|
|
||||||
else
|
|
||||||
hi link VimwikiIgnore Ignore
|
|
||||||
endif
|
|
||||||
|
|
||||||
if g:vimwiki_hl_headers == 0
|
|
||||||
hi def link VimwikiHeader Title
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
|
|
||||||
if &background == 'light'
|
|
||||||
hi def VimwikiHeader1 guibg=bg guifg=#aa5858 gui=bold ctermfg=DarkRed
|
|
||||||
hi def VimwikiHeader2 guibg=bg guifg=#507030 gui=bold ctermfg=DarkGreen
|
|
||||||
hi def VimwikiHeader3 guibg=bg guifg=#1030a0 gui=bold ctermfg=DarkBlue
|
|
||||||
hi def VimwikiHeader4 guibg=bg guifg=#103040 gui=bold ctermfg=Black
|
|
||||||
hi def VimwikiHeader5 guibg=bg guifg=#505050 gui=bold ctermfg=Black
|
|
||||||
hi def VimwikiHeader6 guibg=bg guifg=#636363 gui=bold ctermfg=Black
|
|
||||||
else
|
|
||||||
hi def VimwikiHeader1 guibg=bg guifg=#e08090 gui=bold ctermfg=Red
|
|
||||||
hi def VimwikiHeader2 guibg=bg guifg=#80e090 gui=bold ctermfg=Green
|
|
||||||
hi def VimwikiHeader3 guibg=bg guifg=#6090e0 gui=bold ctermfg=Blue
|
|
||||||
hi def VimwikiHeader4 guibg=bg guifg=#c0c0f0 gui=bold ctermfg=White
|
|
||||||
hi def VimwikiHeader5 guibg=bg guifg=#e0e0f0 gui=bold ctermfg=White
|
|
||||||
hi def VimwikiHeader6 guibg=bg guifg=#f0f0f0 gui=bold ctermfg=White
|
|
||||||
endif
|
|
||||||
endfunction "}}}
|
|
||||||
|
|
||||||
function vimwiki#get_hl_param(hgroup, hparam) "{{{
|
|
||||||
redir => hlstatus
|
|
||||||
try
|
|
||||||
exe "silent hi ".a:hgroup
|
|
||||||
catch /E411/
|
|
||||||
endtry
|
|
||||||
redir END
|
|
||||||
return matchstr(hlstatus, a:hparam.'\s*=\s*\zs\S\+')
|
|
||||||
endfunction "}}}
|
|
||||||
|
|
||||||
function! vimwiki#hl_exists(hl) "{{{
|
|
||||||
if !hlexists(a:hl)
|
if !hlexists(a:hl)
|
||||||
return 0
|
return 0
|
||||||
endif
|
endif
|
||||||
@ -565,7 +541,7 @@ function! vimwiki#hl_exists(hl) "{{{
|
|||||||
endfunction
|
endfunction
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
function! vimwiki#nested_syntax(filetype, start, end, textSnipHl) abort "{{{
|
function! vimwiki#base#nested_syntax(filetype, start, end, textSnipHl) abort "{{{
|
||||||
" From http://vim.wikia.com/wiki/VimTip857
|
" From http://vim.wikia.com/wiki/VimTip857
|
||||||
let ft=toupper(a:filetype)
|
let ft=toupper(a:filetype)
|
||||||
let group='textGroup'.ft
|
let group='textGroup'.ft
|
||||||
@ -615,21 +591,23 @@ endfunction "}}}
|
|||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
" WIKI functions {{{
|
" WIKI functions {{{
|
||||||
function! vimwiki#find_next_link() "{{{
|
function! vimwiki#base#find_next_link() "{{{
|
||||||
call s:search_word(g:vimwiki_rxWikiLink.'\|'.g:vimwiki_rxWeblink, '')
|
call s:search_word(g:vimwiki_rxWikiLink.'\|'.g:vimwiki_rxWeblink, '')
|
||||||
endfunction
|
endfunction
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
function! vimwiki#find_prev_link() "{{{
|
function! vimwiki#base#find_prev_link() "{{{
|
||||||
call s:search_word(g:vimwiki_rxWikiLink.'\|'.g:vimwiki_rxWeblink, 'b')
|
call s:search_word(g:vimwiki_rxWikiLink.'\|'.g:vimwiki_rxWeblink, 'b')
|
||||||
endfunction
|
endfunction
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
function! vimwiki#follow_link(split) "{{{
|
function! vimwiki#base#follow_link(split) "{{{
|
||||||
if a:split == "split"
|
if a:split == "split"
|
||||||
let cmd = ":split "
|
let cmd = ":split "
|
||||||
elseif a:split == "vsplit"
|
elseif a:split == "vsplit"
|
||||||
let cmd = ":vsplit "
|
let cmd = ":vsplit "
|
||||||
|
elseif a:split == "tabnew"
|
||||||
|
let cmd = ":tabnew "
|
||||||
else
|
else
|
||||||
let cmd = ":e "
|
let cmd = ":e "
|
||||||
endif
|
endif
|
||||||
@ -645,12 +623,12 @@ function! vimwiki#follow_link(split) "{{{
|
|||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let subdir = vimwiki#current_subdir()
|
let subdir = vimwiki#base#current_subdir()
|
||||||
call vimwiki#open_link(cmd, subdir.link)
|
call vimwiki#base#open_link(cmd, subdir.link)
|
||||||
|
|
||||||
endfunction " }}}
|
endfunction " }}}
|
||||||
|
|
||||||
function! vimwiki#go_back_link() "{{{
|
function! vimwiki#base#go_back_link() "{{{
|
||||||
if exists("b:vimwiki_prev_link")
|
if exists("b:vimwiki_prev_link")
|
||||||
" go back to saved WikiWord
|
" go back to saved WikiWord
|
||||||
let prev_word = b:vimwiki_prev_link
|
let prev_word = b:vimwiki_prev_link
|
||||||
@ -659,23 +637,13 @@ function! vimwiki#go_back_link() "{{{
|
|||||||
endif
|
endif
|
||||||
endfunction " }}}
|
endfunction " }}}
|
||||||
|
|
||||||
function! vimwiki#goto_index(index) "{{{
|
function! vimwiki#base#goto_index(index) "{{{
|
||||||
call vimwiki#select(a:index)
|
call vimwiki#base#select(a:index)
|
||||||
call vimwiki#mkdir(VimwikiGet('path'))
|
call vimwiki#base#edit_file('e',
|
||||||
|
\ VimwikiGet('path').VimwikiGet('index').VimwikiGet('ext'))
|
||||||
try
|
|
||||||
execute ':e '.fnameescape(
|
|
||||||
\ VimwikiGet('path').VimwikiGet('index').VimwikiGet('ext'))
|
|
||||||
catch /E37/ " catch 'No write since last change' error
|
|
||||||
execute ':split '.
|
|
||||||
\ VimwikiGet('path').
|
|
||||||
\ VimwikiGet('index').
|
|
||||||
\ VimwikiGet('ext')
|
|
||||||
catch /E325/ " catch 'ATTENTION' error (:h E325)
|
|
||||||
endtry
|
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki#delete_link() "{{{
|
function! vimwiki#base#delete_link() "{{{
|
||||||
"" file system funcs
|
"" file system funcs
|
||||||
"" Delete WikiWord you are in from filesystem
|
"" Delete WikiWord you are in from filesystem
|
||||||
let val = input('Delete ['.expand('%').'] (y/n)? ', "")
|
let val = input('Delete ['.expand('%').'] (y/n)? ', "")
|
||||||
@ -697,9 +665,9 @@ function! vimwiki#delete_link() "{{{
|
|||||||
endif
|
endif
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki#rename_link() "{{{
|
function! vimwiki#base#rename_link() "{{{
|
||||||
"" Rename WikiWord, update all links to renamed WikiWord
|
"" Rename WikiWord, update all links to renamed WikiWord
|
||||||
let subdir = vimwiki#current_subdir()
|
let subdir = vimwiki#base#current_subdir()
|
||||||
let old_fname = subdir.expand('%:t')
|
let old_fname = subdir.expand('%:t')
|
||||||
|
|
||||||
" there is no file (new one maybe)
|
" there is no file (new one maybe)
|
||||||
@ -727,7 +695,7 @@ function! vimwiki#rename_link() "{{{
|
|||||||
echomsg 'vimwiki: Cannot rename to an empty filename!'
|
echomsg 'vimwiki: Cannot rename to an empty filename!'
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
if vimwiki#is_non_wiki_link(new_link)
|
if vimwiki#base#is_non_wiki_link(new_link)
|
||||||
echomsg 'vimwiki: Cannot rename to a filename with extension (ie .txt .html)!'
|
echomsg 'vimwiki: Cannot rename to a filename with extension (ie .txt .html)!'
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
@ -797,13 +765,13 @@ function! vimwiki#rename_link() "{{{
|
|||||||
let &more = setting_more
|
let &more = setting_more
|
||||||
endfunction " }}}
|
endfunction " }}}
|
||||||
|
|
||||||
function! vimwiki#ui_select()"{{{
|
function! vimwiki#base#ui_select()"{{{
|
||||||
call s:print_wiki_list()
|
call s:print_wiki_list()
|
||||||
let idx = input("Select Wiki (specify number): ")
|
let idx = input("Select Wiki (specify number): ")
|
||||||
if idx == ""
|
if idx == ""
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
call vimwiki#goto_index(idx)
|
call vimwiki#base#goto_index(idx)
|
||||||
endfunction
|
endfunction
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
@ -811,7 +779,7 @@ endfunction
|
|||||||
|
|
||||||
" TEXT OBJECTS functions {{{
|
" TEXT OBJECTS functions {{{
|
||||||
|
|
||||||
function! vimwiki#TO_header(inner, visual) "{{{
|
function! vimwiki#base#TO_header(inner, visual) "{{{
|
||||||
if !search('^\(=\+\).\+\1\s*$', 'bcW')
|
if !search('^\(=\+\).\+\1\s*$', 'bcW')
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
@ -821,7 +789,7 @@ function! vimwiki#TO_header(inner, visual) "{{{
|
|||||||
let block_start = line(".")
|
let block_start = line(".")
|
||||||
let advance = 0
|
let advance = 0
|
||||||
|
|
||||||
let level = vimwiki#count_first_sym(getline('.'))
|
let level = vimwiki#base#count_first_sym(getline('.'))
|
||||||
|
|
||||||
let is_header_selected = sel_start == block_start
|
let is_header_selected = sel_start == block_start
|
||||||
\ && sel_start != sel_end
|
\ && sel_start != sel_end
|
||||||
@ -854,7 +822,7 @@ function! vimwiki#TO_header(inner, visual) "{{{
|
|||||||
endfunction
|
endfunction
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
function! vimwiki#TO_table_cell(inner, visual) "{{{
|
function! vimwiki#base#TO_table_cell(inner, visual) "{{{
|
||||||
if col('.') == col('$')-1
|
if col('.') == col('$')-1
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
@ -918,7 +886,7 @@ function! vimwiki#TO_table_cell(inner, visual) "{{{
|
|||||||
endif
|
endif
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki#TO_table_col(inner, visual) "{{{
|
function! vimwiki#base#TO_table_col(inner, visual) "{{{
|
||||||
let t_rows = vimwiki_tbl#get_rows(line('.'))
|
let t_rows = vimwiki_tbl#get_rows(line('.'))
|
||||||
if empty(t_rows)
|
if empty(t_rows)
|
||||||
return
|
return
|
||||||
@ -1032,12 +1000,12 @@ function! vimwiki#TO_table_col(inner, visual) "{{{
|
|||||||
endif
|
endif
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki#count_first_sym(line) "{{{
|
function! vimwiki#base#count_first_sym(line) "{{{
|
||||||
let first_sym = matchstr(a:line, '\S')
|
let first_sym = matchstr(a:line, '\S')
|
||||||
return len(matchstr(a:line, first_sym.'\+'))
|
return len(matchstr(a:line, first_sym.'\+'))
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki#AddHeaderLevel() "{{{
|
function! vimwiki#base#AddHeaderLevel() "{{{
|
||||||
let lnum = line('.')
|
let lnum = line('.')
|
||||||
let line = getline(lnum)
|
let line = getline(lnum)
|
||||||
|
|
||||||
@ -1046,7 +1014,7 @@ function! vimwiki#AddHeaderLevel() "{{{
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
if line =~ '^\s*\(=\+\).\+\1\s*$'
|
if line =~ '^\s*\(=\+\).\+\1\s*$'
|
||||||
let level = vimwiki#count_first_sym(line)
|
let level = vimwiki#base#count_first_sym(line)
|
||||||
if level < 6
|
if level < 6
|
||||||
let line = substitute(line, '\(=\+\).\+\1', '=&=', '')
|
let line = substitute(line, '\(=\+\).\+\1', '=&=', '')
|
||||||
call setline(lnum, line)
|
call setline(lnum, line)
|
||||||
@ -1059,7 +1027,7 @@ function! vimwiki#AddHeaderLevel() "{{{
|
|||||||
endfunction
|
endfunction
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
function! vimwiki#RemoveHeaderLevel() "{{{
|
function! vimwiki#base#RemoveHeaderLevel() "{{{
|
||||||
let lnum = line('.')
|
let lnum = line('.')
|
||||||
let line = getline(lnum)
|
let line = getline(lnum)
|
||||||
|
|
||||||
@ -1068,7 +1036,7 @@ function! vimwiki#RemoveHeaderLevel() "{{{
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
if line =~ '^\s*\(=\+\).\+\1\s*$'
|
if line =~ '^\s*\(=\+\).\+\1\s*$'
|
||||||
let level = vimwiki#count_first_sym(line)
|
let level = vimwiki#base#count_first_sym(line)
|
||||||
let old = repeat('=', level)
|
let old = repeat('=', level)
|
||||||
let new = repeat('=', level - 1)
|
let new = repeat('=', level - 1)
|
||||||
|
|
11
autoload/vimwiki/default.tpl
Normal file
11
autoload/vimwiki/default.tpl
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<link rel="Stylesheet" type="text/css" href="%root_path%%css%">
|
||||||
|
<title>%title%</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=%encoding%">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
%content%
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -197,19 +197,24 @@ function! s:make_date_link(...) "{{{
|
|||||||
return VimwikiGet('diary_rel_path').link
|
return VimwikiGet('diary_rel_path').link
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki_diary#make_note(index, ...) "{{{
|
function! vimwiki#diary#make_note(index, ...) "{{{
|
||||||
call vimwiki#select(a:index)
|
call vimwiki#base#select(a:index)
|
||||||
call vimwiki#mkdir(VimwikiGet('path').VimwikiGet('diary_rel_path'))
|
call vimwiki#base#mkdir(VimwikiGet('path').VimwikiGet('diary_rel_path'))
|
||||||
if a:0
|
if a:0
|
||||||
let link = s:make_date_link(a:1)
|
let link = s:make_date_link(a:1)
|
||||||
else
|
else
|
||||||
let link = s:make_date_link()
|
let link = s:make_date_link()
|
||||||
endif
|
endif
|
||||||
call vimwiki#open_link(':e ', link, s:diary_index())
|
call vimwiki#base#open_link(':e ', link, s:diary_index())
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! vimwiki#diary#goto_index(index) "{{{
|
||||||
|
call vimwiki#base#select(a:index)
|
||||||
|
call vimwiki#base#edit_file(':e', s:diary_index())
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
" Calendar.vim callback function.
|
" Calendar.vim callback function.
|
||||||
function! vimwiki_diary#calendar_action(day, month, year, week, dir) "{{{
|
function! vimwiki#diary#calendar_action(day, month, year, week, dir) "{{{
|
||||||
let day = s:prefix_zero(a:day)
|
let day = s:prefix_zero(a:day)
|
||||||
let month = s:prefix_zero(a:month)
|
let month = s:prefix_zero(a:month)
|
||||||
|
|
||||||
@ -228,11 +233,11 @@ function! vimwiki_diary#calendar_action(day, month, year, week, dir) "{{{
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
" Create diary note for a selected date in default wiki.
|
" Create diary note for a selected date in default wiki.
|
||||||
call vimwiki_diary#make_note(1, link)
|
call vimwiki#diary#make_note(1, link)
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
" Calendar.vim sign function.
|
" Calendar.vim sign function.
|
||||||
function vimwiki_diary#calendar_sign(day, month, year) "{{{
|
function vimwiki#diary#calendar_sign(day, month, year) "{{{
|
||||||
let day = s:prefix_zero(a:day)
|
let day = s:prefix_zero(a:day)
|
||||||
let month = s:prefix_zero(a:month)
|
let month = s:prefix_zero(a:month)
|
||||||
let sfile = VimwikiGet('path').VimwikiGet('diary_rel_path').
|
let sfile = VimwikiGet('path').VimwikiGet('diary_rel_path').
|
||||||
@ -240,7 +245,7 @@ function vimwiki_diary#calendar_sign(day, month, year) "{{{
|
|||||||
return filereadable(expand(sfile))
|
return filereadable(expand(sfile))
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki_diary#goto_next_day() "{{{
|
function! vimwiki#diary#goto_next_day() "{{{
|
||||||
let link = ''
|
let link = ''
|
||||||
let [idx, links] = s:get_position_links(expand('%:t:r'))
|
let [idx, links] = s:get_position_links(expand('%:t:r'))
|
||||||
|
|
||||||
@ -256,11 +261,11 @@ function! vimwiki_diary#goto_next_day() "{{{
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
if len(link)
|
if len(link)
|
||||||
call vimwiki#open_link(':e ', link)
|
call vimwiki#base#open_link(':e ', link)
|
||||||
endif
|
endif
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki_diary#goto_prev_day() "{{{
|
function! vimwiki#diary#goto_prev_day() "{{{
|
||||||
let link = ''
|
let link = ''
|
||||||
let [idx, links] = s:get_position_links(expand('%:t:r'))
|
let [idx, links] = s:get_position_links(expand('%:t:r'))
|
||||||
|
|
||||||
@ -276,6 +281,6 @@ function! vimwiki_diary#goto_prev_day() "{{{
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
if len(link)
|
if len(link)
|
||||||
call vimwiki#open_link(':e ', link)
|
call vimwiki#base#open_link(':e ', link)
|
||||||
endif
|
endif
|
||||||
endfunction "}}}
|
endfunction "}}}
|
@ -13,12 +13,6 @@ endif
|
|||||||
let g:loaded_vimwiki_html_auto = 1
|
let g:loaded_vimwiki_html_auto = 1
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
" SCRIPT VARS "{{{
|
|
||||||
" Warn if html header or html footer do not exist only once.
|
|
||||||
let s:warn_html_header = 0
|
|
||||||
let s:warn_html_footer = 0
|
|
||||||
"}}}
|
|
||||||
|
|
||||||
" UTILITY "{{{
|
" UTILITY "{{{
|
||||||
function! s:root_path(subdir) "{{{
|
function! s:root_path(subdir) "{{{
|
||||||
return repeat('../', len(split(a:subdir, '[/\\]')))
|
return repeat('../', len(split(a:subdir, '[/\\]')))
|
||||||
@ -35,7 +29,7 @@ function! s:remove_blank_lines(lines) " {{{
|
|||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:is_web_link(lnk) "{{{
|
function! s:is_web_link(lnk) "{{{
|
||||||
if a:lnk =~ '^\%(https://\|http://\|www.\|ftp://\|file://\)'
|
if a:lnk =~ '^\%(https://\|http://\|www.\|ftp://\|file://\|mailto:\)'
|
||||||
return 1
|
return 1
|
||||||
endif
|
endif
|
||||||
return 0
|
return 0
|
||||||
@ -55,104 +49,69 @@ function! s:has_abs_path(fname) "{{{
|
|||||||
return 0
|
return 0
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:find_autoload_file(name) " {{{
|
||||||
|
for path in split(&runtimepath, ',')
|
||||||
|
let fname = path.'/autoload/vimwiki/'.a:name
|
||||||
|
if glob(fname) != ''
|
||||||
|
return fname
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
return ''
|
||||||
|
endfunction " }}}
|
||||||
|
|
||||||
function! s:create_default_CSS(path) " {{{
|
function! s:create_default_CSS(path) " {{{
|
||||||
let path = expand(a:path)
|
let path = expand(a:path)
|
||||||
let css_full_name = path.VimwikiGet('css_name')
|
let css_full_name = path.VimwikiGet('css_name')
|
||||||
if glob(css_full_name) == ""
|
if glob(css_full_name) == ""
|
||||||
call vimwiki#mkdir(fnamemodify(css_full_name, ':p:h'))
|
call vimwiki#base#mkdir(fnamemodify(css_full_name, ':p:h'))
|
||||||
let lines = []
|
let default_css = s:find_autoload_file('style.css')
|
||||||
|
if default_css != ''
|
||||||
call add(lines, 'body {font-family: Tahoma, sans-serif; margin: 1em 2em 1em 2em; font-size: 100%; line-height: 130%;}')
|
let lines = readfile(default_css)
|
||||||
call add(lines, 'h1, h2, h3, h4, h5, h6 {font-family: Trebuchet MS, serif; margin-top: 1.5em; margin-bottom: 0.5em;}')
|
call writefile(lines, css_full_name)
|
||||||
call add(lines, 'h1 {font-size: 2.0em; color: #a77070;}')
|
echomsg "Default style.css has been created."
|
||||||
call add(lines, 'h2 {font-size: 1.6em; color: #779977;}')
|
endif
|
||||||
call add(lines, 'h3 {font-size: 1.3em; color: #555577;}')
|
|
||||||
call add(lines, 'h4 {font-size: 1.2em; color: #222244;}')
|
|
||||||
call add(lines, 'h5 {font-size: 1.1em; color: #222244;}')
|
|
||||||
call add(lines, 'h6 {font-size: 1.0em; color: #222244;}')
|
|
||||||
call add(lines, 'p, pre, blockquote, table, ul, ol, dl {margin-top: 1em; margin-bottom: 1em;}')
|
|
||||||
call add(lines, 'ul ul, ul ol, ol ol, ol ul {margin-top: 0.5em; margin-bottom: 0.5em;}')
|
|
||||||
call add(lines, 'li {margin: 0.3em auto;}')
|
|
||||||
call add(lines, 'ul {margin-left: 2em; padding-left: 0.5em;}')
|
|
||||||
call add(lines, 'dt {font-weight: bold;}')
|
|
||||||
call add(lines, 'img {border: none;}')
|
|
||||||
call add(lines, 'pre {border-left: 1px solid #ccc; margin-left: 2em; padding-left: 0.5em;}')
|
|
||||||
call add(lines, 'blockquote {padding: 0.4em; background-color: #f6f5eb;}')
|
|
||||||
call add(lines, 'th, td {border: 1px solid #ccc; padding: 0.3em;}')
|
|
||||||
call add(lines, 'th {background-color: #f0f0f0;}')
|
|
||||||
call add(lines, 'hr {border: none; border-top: 1px solid #ccc; width: 100%;}')
|
|
||||||
call add(lines, 'del {text-decoration: line-through; color: #777777;}')
|
|
||||||
call add(lines, '.toc li {list-style-type: none;}')
|
|
||||||
call add(lines, '.todo {font-weight: bold; background-color: #f0ece8; color: #a03020;}')
|
|
||||||
call add(lines, '.justleft {text-align: left;}')
|
|
||||||
call add(lines, '.justright {text-align: right;}')
|
|
||||||
call add(lines, '.justcenter {text-align: center;}')
|
|
||||||
call add(lines, '.center {margin-left: auto; margin-right: auto;}')
|
|
||||||
|
|
||||||
call writefile(lines, css_full_name)
|
|
||||||
echomsg "Default style.css is created."
|
|
||||||
endif
|
endif
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:get_html_header(title, subdir, charset) "{{{
|
function! s:template_full_name(name) "{{{
|
||||||
|
if a:name == ''
|
||||||
|
let name = VimwikiGet('template_default')
|
||||||
|
else
|
||||||
|
let name = a:name
|
||||||
|
endif
|
||||||
|
|
||||||
|
let fname = expand(VimwikiGet('template_path').
|
||||||
|
\name.
|
||||||
|
\VimwikiGet('template_ext'))
|
||||||
|
|
||||||
|
if filereadable(fname)
|
||||||
|
return fname
|
||||||
|
else
|
||||||
|
return ''
|
||||||
|
endif
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:get_html_template(wikifile, template) "{{{
|
||||||
|
" TODO: refactor it!!!
|
||||||
let lines=[]
|
let lines=[]
|
||||||
|
|
||||||
if VimwikiGet('html_header') != "" && !s:warn_html_header
|
let template_name = s:template_full_name(a:template)
|
||||||
|
if template_name != ''
|
||||||
try
|
try
|
||||||
let lines = readfile(expand(VimwikiGet('html_header')))
|
let lines = readfile(template_name)
|
||||||
call map(lines, 'substitute(v:val, "%title%", "'. a:title .'", "g")')
|
|
||||||
call map(lines, 'substitute(v:val, "%root_path%", "'.
|
|
||||||
\ s:root_path(a:subdir) .'", "g")')
|
|
||||||
return lines
|
return lines
|
||||||
catch /E484/
|
catch /E484/
|
||||||
let s:warn_html_header = 1
|
echomsg 'vimwiki: html template '.template_name.
|
||||||
echomsg 'vimwiki: Header template '.VimwikiGet('html_header').
|
|
||||||
\ ' does not exist!'
|
\ ' does not exist!'
|
||||||
endtry
|
endtry
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let css_name = expand(VimwikiGet('css_name'))
|
" if no VimwikiGet('html_template') set up or error while reading template
|
||||||
let css_name = substitute(css_name, '\', '/', 'g')
|
" file -- use default one.
|
||||||
if !s:has_abs_path(css_name)
|
let default_tpl = s:find_autoload_file('default.tpl')
|
||||||
" Relative css file for deep links: [[dir1/dir2/dir3/filename]]
|
if default_tpl != ''
|
||||||
let css_name = s:root_path(a:subdir).css_name
|
let lines = readfile(default_tpl)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" if no VimwikiGet('html_header') set up or error while reading template
|
|
||||||
" file -- use default header.
|
|
||||||
call add(lines, '<html>')
|
|
||||||
call add(lines, '<head>')
|
|
||||||
call add(lines, '<link rel="Stylesheet" type="text/css" href="'.
|
|
||||||
\ css_name.'" />')
|
|
||||||
call add(lines, '<title>'.a:title.'</title>')
|
|
||||||
call add(lines, '<meta http-equiv="Content-Type" content="text/html;'.
|
|
||||||
\ ' charset='.a:charset.'" />')
|
|
||||||
call add(lines, '</head>')
|
|
||||||
call add(lines, '<body>')
|
|
||||||
|
|
||||||
return lines
|
|
||||||
endfunction "}}}
|
|
||||||
|
|
||||||
function! s:get_html_footer() "{{{
|
|
||||||
let lines=[]
|
|
||||||
|
|
||||||
if VimwikiGet('html_footer') != "" && !s:warn_html_footer
|
|
||||||
try
|
|
||||||
let lines = readfile(expand(VimwikiGet('html_footer')))
|
|
||||||
return lines
|
|
||||||
catch /E484/
|
|
||||||
let s:warn_html_footer = 1
|
|
||||||
echomsg 'vimwiki: Footer template '.VimwikiGet('html_footer').
|
|
||||||
\ ' does not exist!'
|
|
||||||
endtry
|
|
||||||
endif
|
|
||||||
|
|
||||||
" if no VimwikiGet('html_footer') set up or error while reading template
|
|
||||||
" file -- use default footer.
|
|
||||||
call add(lines, "")
|
|
||||||
call add(lines, '</body>')
|
|
||||||
call add(lines, '</html>')
|
|
||||||
|
|
||||||
return lines
|
return lines
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
@ -174,6 +133,19 @@ endfunction "}}}
|
|||||||
function! s:delete_html_files(path) "{{{
|
function! s:delete_html_files(path) "{{{
|
||||||
let htmlfiles = split(glob(a:path.'**/*.html'), '\n')
|
let htmlfiles = split(glob(a:path.'**/*.html'), '\n')
|
||||||
for fname in htmlfiles
|
for fname in htmlfiles
|
||||||
|
" ignore user html files, e.g. search.html,404.html
|
||||||
|
if stridx(g:vimwiki_user_htmls, fnamemodify(fname, ":t")) >= 0
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
|
||||||
|
" delete if there is no corresponding wiki file
|
||||||
|
let subdir = vimwiki#base#subdir(VimwikiGet('path_html'), fname)
|
||||||
|
let wikifile = VimwikiGet("path").subdir.
|
||||||
|
\fnamemodify(fname, ":t:r").VimwikiGet("ext")
|
||||||
|
if filereadable(wikifile)
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
|
||||||
try
|
try
|
||||||
call delete(fname)
|
call delete(fname)
|
||||||
catch
|
catch
|
||||||
@ -182,45 +154,6 @@ function! s:delete_html_files(path) "{{{
|
|||||||
endfor
|
endfor
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:remove_comments(lines) "{{{
|
|
||||||
let res = []
|
|
||||||
let multiline_comment = 0
|
|
||||||
|
|
||||||
let idx = 0
|
|
||||||
while idx < len(a:lines)
|
|
||||||
let line = a:lines[idx]
|
|
||||||
let idx += 1
|
|
||||||
|
|
||||||
if multiline_comment
|
|
||||||
let col = matchend(line, '-->',)
|
|
||||||
if col != -1
|
|
||||||
let multiline_comment = 0
|
|
||||||
let line = strpart(line, col)
|
|
||||||
else
|
|
||||||
continue
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
if !multiline_comment && line =~ '<!--.*-->'
|
|
||||||
let line = substitute(line, '<!--.*-->', '', 'g')
|
|
||||||
if line =~ '^\s*$'
|
|
||||||
continue
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
if !multiline_comment
|
|
||||||
let col = match(line, '<!--',)
|
|
||||||
if col != -1
|
|
||||||
let multiline_comment = 1
|
|
||||||
let line = strpart(line, 1, col - 1)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
call add(res, line)
|
|
||||||
endwhile
|
|
||||||
return res
|
|
||||||
endfunction "}}}
|
|
||||||
|
|
||||||
function! s:mid(value, cnt) "{{{
|
function! s:mid(value, cnt) "{{{
|
||||||
return strpart(a:value, a:cnt, len(a:value) - 2 * a:cnt)
|
return strpart(a:value, a:cnt, len(a:value) - 2 * a:cnt)
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
@ -283,7 +216,7 @@ function! s:get_html_toc(toc_list) "{{{
|
|||||||
|
|
||||||
let toc_text = s:process_tags_remove_links(text)
|
let toc_text = s:process_tags_remove_links(text)
|
||||||
let toc_text = s:process_tags_typefaces(toc_text)
|
let toc_text = s:process_tags_typefaces(toc_text)
|
||||||
call add(toc, '<li><a href="#'.id.'">'.toc_text.'</a></li>')
|
call add(toc, '<li><a href="#'.id.'">'.toc_text.'</a>')
|
||||||
let plevel = level
|
let plevel = level
|
||||||
endfor
|
endfor
|
||||||
call s:close_list(toc, level, 0)
|
call s:close_list(toc, level, 0)
|
||||||
@ -293,6 +226,7 @@ endfunction "}}}
|
|||||||
|
|
||||||
" insert toc into dest.
|
" insert toc into dest.
|
||||||
function! s:process_toc(dest, placeholders, toc) "{{{
|
function! s:process_toc(dest, placeholders, toc) "{{{
|
||||||
|
let toc_idx = 0
|
||||||
if !empty(a:placeholders)
|
if !empty(a:placeholders)
|
||||||
for [placeholder, row, idx] in a:placeholders
|
for [placeholder, row, idx] in a:placeholders
|
||||||
let [type, param] = placeholder
|
let [type, param] = placeholder
|
||||||
@ -301,8 +235,9 @@ function! s:process_toc(dest, placeholders, toc) "{{{
|
|||||||
if !empty(param)
|
if !empty(param)
|
||||||
call insert(toc, '<h1>'.param.'</h1>')
|
call insert(toc, '<h1>'.param.'</h1>')
|
||||||
endif
|
endif
|
||||||
let shift = idx * len(toc)
|
let shift = toc_idx * len(toc)
|
||||||
call extend(a:dest, toc, row + shift)
|
call extend(a:dest, toc, row + shift)
|
||||||
|
let toc_idx += 1
|
||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
endif
|
endif
|
||||||
@ -321,6 +256,46 @@ function! s:process_title(placeholders, default_title) "{{{
|
|||||||
return a:default_title
|
return a:default_title
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:is_html_uptodate(wikifile) "{{{
|
||||||
|
let tpl_time = -1
|
||||||
|
|
||||||
|
let tpl_file = s:template_full_name('')
|
||||||
|
if tpl_file != ''
|
||||||
|
let tpl_time = getftime(tpl_file)
|
||||||
|
endif
|
||||||
|
|
||||||
|
let wikifile = fnamemodify(a:wikifile, ":p")
|
||||||
|
let subdir = vimwiki#base#subdir(VimwikiGet('path'), wikifile)
|
||||||
|
let htmlfile = expand(VimwikiGet('path_html').subdir.
|
||||||
|
\fnamemodify(wikifile, ":t:r").".html")
|
||||||
|
|
||||||
|
if getftime(wikifile) <= getftime(htmlfile) && tpl_time <= getftime(htmlfile)
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
return 0
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:html_insert_contents(html_lines, content) "{{{
|
||||||
|
let lines = []
|
||||||
|
for line in a:html_lines
|
||||||
|
if line =~ '%content%'
|
||||||
|
let parts = split(line, '%content%', 1)
|
||||||
|
if empty(parts)
|
||||||
|
call extend(lines, a:content)
|
||||||
|
else
|
||||||
|
for idx in range(len(parts))
|
||||||
|
call add(lines, parts[idx])
|
||||||
|
if idx < len(parts) - 1
|
||||||
|
call extend(lines, a:content)
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
call add(lines, line)
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
return lines
|
||||||
|
endfunction "}}}
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
" INLINE TAGS "{{{
|
" INLINE TAGS "{{{
|
||||||
@ -376,19 +351,19 @@ function! s:tag_internal_link(value) "{{{
|
|||||||
if s:is_img_link(a:caption)
|
if s:is_img_link(a:caption)
|
||||||
let link = '<a href="'.a:src.'"><img src="'.a:caption.'"'.style_str.' />'.
|
let link = '<a href="'.a:src.'"><img src="'.a:caption.'"'.style_str.' />'.
|
||||||
\ '</a>'
|
\ '</a>'
|
||||||
elseif vimwiki#is_non_wiki_link(a:src)
|
elseif vimwiki#base#is_non_wiki_link(a:src)
|
||||||
let link = '<a href="'.a:src.'">'.a:caption.'</a>'
|
let link = '<a href="'.a:src.'">'.a:caption.'</a>'
|
||||||
elseif s:is_img_link(a:src)
|
elseif s:is_img_link(a:src)
|
||||||
let link = '<img src="'.a:src.'" alt="'.a:caption.'"'. style_str.' />'
|
let link = '<img src="'.a:src.'" alt="'.a:caption.'"'. style_str.' />'
|
||||||
elseif vimwiki#is_link_to_dir(a:src)
|
elseif vimwiki#base#is_link_to_dir(a:src)
|
||||||
if g:vimwiki_dir_link == ''
|
if g:vimwiki_dir_link == ''
|
||||||
let link = '<a href="'.vimwiki#safe_link(a:src).'">'.a:caption.'</a>'
|
let link = '<a href="'.vimwiki#base#safe_link(a:src).'">'.a:caption.'</a>'
|
||||||
else
|
else
|
||||||
let link = '<a href="'.vimwiki#safe_link(a:src).
|
let link = '<a href="'.vimwiki#base#safe_link(a:src).
|
||||||
\ g:vimwiki_dir_link.'.html">'.a:caption.'</a>'
|
\ g:vimwiki_dir_link.'.html">'.a:caption.'</a>'
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
let link = '<a href="'.vimwiki#safe_link(a:src).
|
let link = '<a href="'.vimwiki#base#safe_link(a:src).
|
||||||
\ '.html">'.a:caption.'</a>'
|
\ '.html">'.a:caption.'</a>'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -574,8 +549,6 @@ function! s:process_tags_typefaces(line) "{{{
|
|||||||
let line = s:make_tag(line, g:vimwiki_rxSuperScript, 's:tag_super')
|
let line = s:make_tag(line, g:vimwiki_rxSuperScript, 's:tag_super')
|
||||||
let line = s:make_tag(line, g:vimwiki_rxSubScript, 's:tag_sub')
|
let line = s:make_tag(line, g:vimwiki_rxSubScript, 's:tag_sub')
|
||||||
let line = s:make_tag(line, g:vimwiki_rxCode, 's:tag_code')
|
let line = s:make_tag(line, g:vimwiki_rxCode, 's:tag_code')
|
||||||
let line = s:make_tag(line, g:vimwiki_rxPreStart.'.\+'.g:vimwiki_rxPreEnd,
|
|
||||||
\ 's:tag_pre')
|
|
||||||
return line
|
return line
|
||||||
endfunction " }}}
|
endfunction " }}}
|
||||||
|
|
||||||
@ -624,13 +597,100 @@ function! s:close_tag_table(table, ldest) "{{{
|
|||||||
" The first element of table list is a string which tells us if table should be centered.
|
" The first element of table list is a string which tells us if table should be centered.
|
||||||
" The rest elements are rows which are lists of columns:
|
" The rest elements are rows which are lists of columns:
|
||||||
" ['center',
|
" ['center',
|
||||||
" ['col1', 'col2', 'col3'],
|
" [ CELL1, CELL2, CELL3 ],
|
||||||
" ['col1', 'col2', 'col3'],
|
" [ CELL1, CELL2, CELL3 ],
|
||||||
" ['col1', 'col2', 'col3']
|
" [ CELL1, CELL2, CELL3 ],
|
||||||
" ]
|
" ]
|
||||||
|
" And CELLx is: { 'body': 'col_x', 'rowspan': r, 'colspan': c }
|
||||||
|
|
||||||
|
function! s:sum_rowspan(table) "{{{
|
||||||
|
let table = a:table
|
||||||
|
|
||||||
|
" Get max cells
|
||||||
|
let max_cells = 0
|
||||||
|
for row in table[1:]
|
||||||
|
let n_cells = len(row)
|
||||||
|
if n_cells > max_cells
|
||||||
|
let max_cells = n_cells
|
||||||
|
end
|
||||||
|
endfor
|
||||||
|
|
||||||
|
" Sum rowspan
|
||||||
|
for cell_idx in range(max_cells)
|
||||||
|
let rows = 1
|
||||||
|
|
||||||
|
for row_idx in range(len(table)-1, 1, -1)
|
||||||
|
if cell_idx >= len(table[row_idx])
|
||||||
|
let rows = 1
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
|
||||||
|
if table[row_idx][cell_idx].rowspan == 0
|
||||||
|
let rows += 1
|
||||||
|
else " table[row_idx][cell_idx].rowspan == 1
|
||||||
|
let table[row_idx][cell_idx].rowspan = rows
|
||||||
|
let rows = 1
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
endfor
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:sum_colspan(table) "{{{
|
||||||
|
for row in a:table[1:]
|
||||||
|
let cols = 1
|
||||||
|
|
||||||
|
for cell_idx in range(len(row)-1, 0, -1)
|
||||||
|
if row[cell_idx].colspan == 0
|
||||||
|
let cols += 1
|
||||||
|
else "row[cell_idx].colspan == 1
|
||||||
|
let row[cell_idx].colspan = cols
|
||||||
|
let cols = 1
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
endfor
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:close_tag_row(row, header, ldest) "{{{
|
||||||
|
call add(a:ldest, '<tr>')
|
||||||
|
|
||||||
|
" Set tag element of columns
|
||||||
|
if a:header
|
||||||
|
let tag_name = 'th'
|
||||||
|
else
|
||||||
|
let tag_name = 'td'
|
||||||
|
end
|
||||||
|
|
||||||
|
" Close tag of columns
|
||||||
|
for cell in a:row
|
||||||
|
if cell.rowspan == 0 || cell.colspan == 0
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
|
||||||
|
if cell.rowspan > 1
|
||||||
|
let rowspan_attr = ' rowspan="' . cell.rowspan . '"'
|
||||||
|
else "cell.rowspan == 1
|
||||||
|
let rowspan_attr = ''
|
||||||
|
endif
|
||||||
|
if cell.colspan > 1
|
||||||
|
let colspan_attr = ' colspan="' . cell.colspan . '"'
|
||||||
|
else "cell.colspan == 1
|
||||||
|
let colspan_attr = ''
|
||||||
|
endif
|
||||||
|
|
||||||
|
call add(a:ldest, '<' . tag_name . rowspan_attr . colspan_attr .'>')
|
||||||
|
call add(a:ldest, s:process_inline_tags(cell.body))
|
||||||
|
call add(a:ldest, '</'. tag_name . '>')
|
||||||
|
endfor
|
||||||
|
|
||||||
|
call add(a:ldest, '</tr>')
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
let table = a:table
|
let table = a:table
|
||||||
let ldest = a:ldest
|
let ldest = a:ldest
|
||||||
if len(table)
|
if len(table)
|
||||||
|
call s:sum_rowspan(table)
|
||||||
|
call s:sum_colspan(table)
|
||||||
|
|
||||||
if table[0] == 'center'
|
if table[0] == 'center'
|
||||||
call add(ldest, "<table class='center'>")
|
call add(ldest, "<table class='center'>")
|
||||||
else
|
else
|
||||||
@ -651,21 +711,15 @@ function! s:close_tag_table(table, ldest) "{{{
|
|||||||
if head > 0
|
if head > 0
|
||||||
for row in table[1 : head-1]
|
for row in table[1 : head-1]
|
||||||
if !empty(filter(row, '!empty(v:val)'))
|
if !empty(filter(row, '!empty(v:val)'))
|
||||||
call add(ldest, '<tr>')
|
call s:close_tag_row(row, 1, ldest)
|
||||||
call extend(ldest, map(row, '"<th>".s:process_inline_tags(v:val)."</th>"'))
|
|
||||||
call add(ldest, '</tr>')
|
|
||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
for row in table[head+1 :]
|
for row in table[head+1 :]
|
||||||
call add(ldest, '<tr>')
|
call s:close_tag_row(row, 0, ldest)
|
||||||
call extend(ldest, map(row, '"<td>".s:process_inline_tags(v:val)."</td>"'))
|
|
||||||
call add(ldest, '</tr>')
|
|
||||||
endfor
|
endfor
|
||||||
else
|
else
|
||||||
for row in table[1 :]
|
for row in table[1 :]
|
||||||
call add(ldest, '<tr>')
|
call s:close_tag_row(row, 0, ldest)
|
||||||
call extend(ldest, map(row, '"<td>".s:process_inline_tags(v:val)."</td>"'))
|
|
||||||
call add(ldest, '</tr>')
|
|
||||||
endfor
|
endfor
|
||||||
endif
|
endif
|
||||||
call add(ldest, "</table>")
|
call add(ldest, "</table>")
|
||||||
@ -741,11 +795,15 @@ function! s:process_tag_list(line, lists) "{{{
|
|||||||
|
|
||||||
let chk = matchlist(a:line, a:rx_list)
|
let chk = matchlist(a:line, a:rx_list)
|
||||||
if len(chk) > 0
|
if len(chk) > 0
|
||||||
if chk[1] == g:vimwiki_listsyms[4]
|
if len(chk[1])>0
|
||||||
let st_tag .= '<del><input type="checkbox" checked />'
|
"wildcard characters are difficult to match correctly
|
||||||
let en_tag = '</del>'.a:en_tag
|
if chk[1] =~ '[.*\\^$~]'
|
||||||
else
|
let chk[1] ='\'.chk[1]
|
||||||
let st_tag .= '<input type="checkbox" />'
|
endif
|
||||||
|
let completion = match(g:vimwiki_listsyms, '\C' . chk[1])
|
||||||
|
if completion >= 0 && completion <=4
|
||||||
|
let st_tag = '<li class="done'.completion.'">'
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
return [st_tag, en_tag]
|
return [st_tag, en_tag]
|
||||||
@ -790,7 +848,7 @@ function! s:process_tag_list(line, lists) "{{{
|
|||||||
|
|
||||||
let checkbox = '\s*\[\(.\?\)\]\s*'
|
let checkbox = '\s*\[\(.\?\)\]\s*'
|
||||||
let [st_tag, en_tag] = s:add_checkbox(line,
|
let [st_tag, en_tag] = s:add_checkbox(line,
|
||||||
\ lstRegExp.checkbox, '<li>', '</li>')
|
\ lstRegExp.checkbox, '<li>', '')
|
||||||
|
|
||||||
if !in_list
|
if !in_list
|
||||||
call add(a:lists, [lstTagClose, indent])
|
call add(a:lists, [lstTagClose, indent])
|
||||||
@ -948,10 +1006,27 @@ endfunction "}}}
|
|||||||
|
|
||||||
function! s:process_tag_table(line, table) "{{{
|
function! s:process_tag_table(line, table) "{{{
|
||||||
function! s:table_empty_cell(value) "{{{
|
function! s:table_empty_cell(value) "{{{
|
||||||
if a:value =~ '^\s*$'
|
let cell = {}
|
||||||
return ' '
|
|
||||||
|
if a:value =~ '^\s*\\/\s*$'
|
||||||
|
let cell.body = ''
|
||||||
|
let cell.rowspan = 0
|
||||||
|
let cell.colspan = 1
|
||||||
|
elseif a:value =~ '^\s*>\s*$'
|
||||||
|
let cell.body = ''
|
||||||
|
let cell.rowspan = 1
|
||||||
|
let cell.colspan = 0
|
||||||
|
elseif a:value =~ '^\s*$'
|
||||||
|
let cell.body = ' '
|
||||||
|
let cell.rowspan = 1
|
||||||
|
let cell.colspan = 1
|
||||||
|
else
|
||||||
|
let cell.body = a:value
|
||||||
|
let cell.rowspan = 1
|
||||||
|
let cell.colspan = 1
|
||||||
endif
|
endif
|
||||||
return a:value
|
|
||||||
|
return cell
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:table_add_row(table, line) "{{{
|
function! s:table_add_row(table, line) "{{{
|
||||||
@ -1010,6 +1085,12 @@ function! s:parse_line(line, state) " {{{
|
|||||||
|
|
||||||
let processed = 0
|
let processed = 0
|
||||||
|
|
||||||
|
if !processed
|
||||||
|
if line =~ g:vimwiki_rxComment
|
||||||
|
let processed = 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
" nohtml -- placeholder
|
" nohtml -- placeholder
|
||||||
if !processed
|
if !processed
|
||||||
if line =~ '^\s*%nohtml'
|
if line =~ '^\s*%nohtml'
|
||||||
@ -1027,6 +1108,16 @@ function! s:parse_line(line, state) " {{{
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" html template -- placeholder "{{{
|
||||||
|
if !processed
|
||||||
|
if line =~ '^\s*%template'
|
||||||
|
let processed = 1
|
||||||
|
let param = matchstr(line, '^\s*%template\s\zs.*')
|
||||||
|
let state.placeholder = ['template', param]
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
"}}}
|
||||||
|
|
||||||
" toc -- placeholder "{{{
|
" toc -- placeholder "{{{
|
||||||
if !processed
|
if !processed
|
||||||
if line =~ '^\s*%toc'
|
if line =~ '^\s*%toc'
|
||||||
@ -1093,6 +1184,7 @@ function! s:parse_line(line, state) " {{{
|
|||||||
let state.table = s:close_tag_table(state.table, res_lines)
|
let state.table = s:close_tag_table(state.table, res_lines)
|
||||||
let state.pre = s:close_tag_pre(state.pre, res_lines)
|
let state.pre = s:close_tag_pre(state.pre, res_lines)
|
||||||
let state.quote = s:close_tag_quote(state.quote, res_lines)
|
let state.quote = s:close_tag_quote(state.quote, res_lines)
|
||||||
|
let state.para = s:close_tag_para(state.para, res_lines)
|
||||||
|
|
||||||
let line = s:process_inline_tags(line)
|
let line = s:process_inline_tags(line)
|
||||||
|
|
||||||
@ -1189,25 +1281,32 @@ function! s:parse_line(line, state) " {{{
|
|||||||
|
|
||||||
endfunction " }}}
|
endfunction " }}}
|
||||||
|
|
||||||
function! vimwiki_html#Wiki2HTML(path, wikifile) "{{{
|
function! vimwiki#html#Wiki2HTML(path, wikifile) "{{{
|
||||||
|
|
||||||
|
let starttime = reltime() " start the clock
|
||||||
|
echo 'Generating HTML ... '
|
||||||
if !s:syntax_supported()
|
if !s:syntax_supported()
|
||||||
echomsg 'vimwiki: Only vimwiki_default syntax supported!!!'
|
echomsg 'vimwiki: Only vimwiki_default syntax supported!!!'
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let wikifile = fnamemodify(a:wikifile, ":p")
|
let wikifile = fnamemodify(a:wikifile, ":p")
|
||||||
let subdir = vimwiki#subdir(VimwikiGet('path'), wikifile)
|
let subdir = vimwiki#base#subdir(VimwikiGet('path'), wikifile)
|
||||||
|
|
||||||
let lsource = s:remove_comments(readfile(wikifile))
|
|
||||||
let ldest = []
|
|
||||||
|
|
||||||
let path = expand(a:path).subdir
|
let path = expand(a:path).subdir
|
||||||
call vimwiki#mkdir(path)
|
let htmlfile = fnamemodify(wikifile, ":t:r").'.html'
|
||||||
|
|
||||||
|
let lsource = readfile(wikifile)
|
||||||
|
let ldest = []
|
||||||
|
|
||||||
|
call vimwiki#base#mkdir(path)
|
||||||
|
|
||||||
" nohtml placeholder -- to skip html generation.
|
" nohtml placeholder -- to skip html generation.
|
||||||
let nohtml = 0
|
let nohtml = 0
|
||||||
|
|
||||||
|
" template placeholder
|
||||||
|
let template_name = ''
|
||||||
|
|
||||||
" for table of contents placeholders.
|
" for table of contents placeholders.
|
||||||
let placeholders = []
|
let placeholders = []
|
||||||
|
|
||||||
@ -1238,43 +1337,70 @@ function! vimwiki_html#Wiki2HTML(path, wikifile) "{{{
|
|||||||
if state.placeholder[0] == 'nohtml'
|
if state.placeholder[0] == 'nohtml'
|
||||||
let nohtml = 1
|
let nohtml = 1
|
||||||
break
|
break
|
||||||
|
elseif state.placeholder[0] == 'template'
|
||||||
|
let template_name = state.placeholder[1]
|
||||||
else
|
else
|
||||||
call add(placeholders, [state.placeholder, len(ldest), len(placeholders)])
|
call add(placeholders, [state.placeholder, len(ldest), len(placeholders)])
|
||||||
let state.placeholder = []
|
|
||||||
endif
|
endif
|
||||||
|
let state.placeholder = []
|
||||||
endif
|
endif
|
||||||
|
|
||||||
call extend(ldest, lines)
|
call extend(ldest, lines)
|
||||||
endfor
|
endfor
|
||||||
|
|
||||||
|
|
||||||
if !nohtml
|
if nohtml
|
||||||
let toc = s:get_html_toc(state.toc)
|
echon "\r"."%nohtml placeholder found"
|
||||||
call s:process_toc(ldest, placeholders, toc)
|
return
|
||||||
call s:remove_blank_lines(ldest)
|
|
||||||
|
|
||||||
"" process end of file
|
|
||||||
"" close opened tags if any
|
|
||||||
let lines = []
|
|
||||||
call s:close_tag_quote(state.quote, lines)
|
|
||||||
call s:close_tag_para(state.para, lines)
|
|
||||||
call s:close_tag_pre(state.pre, lines)
|
|
||||||
call s:close_tag_list(state.lists, lines)
|
|
||||||
call s:close_tag_def_list(state.deflist, lines)
|
|
||||||
call s:close_tag_table(state.table, lines)
|
|
||||||
call extend(ldest, lines)
|
|
||||||
|
|
||||||
let title = s:process_title(placeholders, fnamemodify(a:wikifile, ":t:r"))
|
|
||||||
call extend(ldest, s:get_html_header(title, subdir, &fileencoding), 0)
|
|
||||||
call extend(ldest, s:get_html_footer())
|
|
||||||
|
|
||||||
"" make html file.
|
|
||||||
let wwFileNameOnly = fnamemodify(wikifile, ":t:r")
|
|
||||||
call writefile(ldest, path.wwFileNameOnly.'.html')
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
let toc = s:get_html_toc(state.toc)
|
||||||
|
call s:process_toc(ldest, placeholders, toc)
|
||||||
|
call s:remove_blank_lines(ldest)
|
||||||
|
|
||||||
|
"" process end of file
|
||||||
|
"" close opened tags if any
|
||||||
|
let lines = []
|
||||||
|
call s:close_tag_quote(state.quote, lines)
|
||||||
|
call s:close_tag_para(state.para, lines)
|
||||||
|
call s:close_tag_pre(state.pre, lines)
|
||||||
|
call s:close_tag_list(state.lists, lines)
|
||||||
|
call s:close_tag_def_list(state.deflist, lines)
|
||||||
|
call s:close_tag_table(state.table, lines)
|
||||||
|
call extend(ldest, lines)
|
||||||
|
|
||||||
|
let title = s:process_title(placeholders, fnamemodify(a:wikifile, ":t:r"))
|
||||||
|
|
||||||
|
let html_lines = s:get_html_template(a:wikifile, template_name)
|
||||||
|
|
||||||
|
" processing template variables (refactor to a function)
|
||||||
|
call map(html_lines, 'substitute(v:val, "%title%", "'. title .'", "g")')
|
||||||
|
call map(html_lines, 'substitute(v:val, "%root_path%", "'.
|
||||||
|
\ s:root_path(subdir) .'", "g")')
|
||||||
|
|
||||||
|
let css_name = expand(VimwikiGet('css_name'))
|
||||||
|
let css_name = substitute(css_name, '\', '/', 'g')
|
||||||
|
call map(html_lines, 'substitute(v:val, "%css%", "'. css_name .'", "g")')
|
||||||
|
|
||||||
|
let enc = &fileencoding
|
||||||
|
if enc == ''
|
||||||
|
let enc = &encoding
|
||||||
|
endif
|
||||||
|
call map(html_lines, 'substitute(v:val, "%encoding%", "'. enc .'", "g")')
|
||||||
|
|
||||||
|
let html_lines = s:html_insert_contents(html_lines, ldest) " %contents%
|
||||||
|
|
||||||
|
"" make html file.
|
||||||
|
call writefile(html_lines, path.htmlfile)
|
||||||
|
|
||||||
|
" measure the elapsed time and cut away miliseconds and smaller
|
||||||
|
let elapsedtimestr = matchstr(reltimestr(reltime(starttime)),'\d\+\(\.\d\d\)\=')
|
||||||
|
echon "\r".htmlfile.' written (time: '.elapsedtimestr.'s)'
|
||||||
|
return path.htmlfile
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki_html#WikiAll2HTML(path) "{{{
|
|
||||||
|
function! vimwiki#html#WikiAll2HTML(path) "{{{
|
||||||
if !s:syntax_supported()
|
if !s:syntax_supported()
|
||||||
echomsg 'vimwiki: Only vimwiki_default syntax supported!!!'
|
echomsg 'vimwiki: Only vimwiki_default syntax supported!!!'
|
||||||
return
|
return
|
||||||
@ -1289,9 +1415,9 @@ function! vimwiki_html#WikiAll2HTML(path) "{{{
|
|||||||
let &eventignore = save_eventignore
|
let &eventignore = save_eventignore
|
||||||
|
|
||||||
let path = expand(a:path)
|
let path = expand(a:path)
|
||||||
call vimwiki#mkdir(path)
|
call vimwiki#base#mkdir(path)
|
||||||
|
|
||||||
echomsg 'Deleting old html files...'
|
echomsg 'Deleting non-wiki html files...'
|
||||||
call s:delete_html_files(path)
|
call s:delete_html_files(path)
|
||||||
|
|
||||||
echomsg 'Converting wiki to html files...'
|
echomsg 'Converting wiki to html files...'
|
||||||
@ -1300,8 +1426,12 @@ function! vimwiki_html#WikiAll2HTML(path) "{{{
|
|||||||
|
|
||||||
let wikifiles = split(glob(VimwikiGet('path').'**/*'.VimwikiGet('ext')), '\n')
|
let wikifiles = split(glob(VimwikiGet('path').'**/*'.VimwikiGet('ext')), '\n')
|
||||||
for wikifile in wikifiles
|
for wikifile in wikifiles
|
||||||
echomsg 'Processing '.wikifile
|
if !s:is_html_uptodate(wikifile)
|
||||||
call vimwiki_html#Wiki2HTML(path, wikifile)
|
echomsg 'Processing '.wikifile
|
||||||
|
call vimwiki#html#Wiki2HTML(path, wikifile)
|
||||||
|
else
|
||||||
|
echomsg 'Skipping '.wikifile
|
||||||
|
endif
|
||||||
endfor
|
endfor
|
||||||
call s:create_default_CSS(path)
|
call s:create_default_CSS(path)
|
||||||
echomsg 'Done!'
|
echomsg 'Done!'
|
@ -46,7 +46,7 @@ endfunction "}}}
|
|||||||
" Get level of the list item.
|
" Get level of the list item.
|
||||||
function! s:get_level(lnum) "{{{
|
function! s:get_level(lnum) "{{{
|
||||||
if VimwikiGet('syntax') == 'media'
|
if VimwikiGet('syntax') == 'media'
|
||||||
let level = vimwiki#count_first_sym(getline(a:lnum))
|
let level = vimwiki#base#count_first_sym(getline(a:lnum))
|
||||||
else
|
else
|
||||||
let level = indent(a:lnum)
|
let level = indent(a:lnum)
|
||||||
endif
|
endif
|
||||||
@ -287,7 +287,7 @@ endfunction "}}}
|
|||||||
" Script functions }}}
|
" Script functions }}}
|
||||||
|
|
||||||
" Toggle list item between [ ] and [X]
|
" Toggle list item between [ ] and [X]
|
||||||
function! vimwiki_lst#ToggleListItem(line1, line2) "{{{
|
function! vimwiki#lst#ToggleListItem(line1, line2) "{{{
|
||||||
let line1 = a:line1
|
let line1 = a:line1
|
||||||
let line2 = a:line2
|
let line2 = a:line2
|
||||||
|
|
||||||
@ -316,7 +316,7 @@ function! vimwiki_lst#ToggleListItem(line1, line2) "{{{
|
|||||||
|
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki_lst#kbd_cr() "{{{
|
function! vimwiki#lst#kbd_cr() "{{{
|
||||||
" This function is heavily relies on proper 'set comments' option.
|
" This function is heavily relies on proper 'set comments' option.
|
||||||
let cr = "\<CR>"
|
let cr = "\<CR>"
|
||||||
if getline('.') =~ s:rx_cb_list_item()
|
if getline('.') =~ s:rx_cb_list_item()
|
||||||
@ -325,35 +325,45 @@ function! vimwiki_lst#kbd_cr() "{{{
|
|||||||
return cr
|
return cr
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki_lst#kbd_oO(cmd) "{{{
|
function! vimwiki#lst#kbd_oO(cmd) "{{{
|
||||||
" cmd should be 'o' or 'O'
|
" cmd should be 'o' or 'O'
|
||||||
|
|
||||||
let beg_lnum = foldclosed('.')
|
let l:count = v:count1
|
||||||
let end_lnum = foldclosedend('.')
|
while l:count > 0
|
||||||
if end_lnum != -1 && a:cmd ==# 'o'
|
|
||||||
let lnum = end_lnum
|
let beg_lnum = foldclosed('.')
|
||||||
let line = getline(beg_lnum)
|
let end_lnum = foldclosedend('.')
|
||||||
else
|
if end_lnum != -1 && a:cmd ==# 'o'
|
||||||
let line = getline('.')
|
let lnum = end_lnum
|
||||||
let lnum = line('.')
|
let line = getline(beg_lnum)
|
||||||
endif
|
else
|
||||||
|
let line = getline('.')
|
||||||
|
let lnum = line('.')
|
||||||
|
endif
|
||||||
|
|
||||||
|
" let line = substitute(m, '\s*$', ' ', '').'[ ] '.li_content
|
||||||
|
let m = matchstr(line, s:rx_list_item())
|
||||||
|
let res = ''
|
||||||
|
if line =~ s:rx_cb_list_item()
|
||||||
|
let res = substitute(m, '\s*$', ' ', '').'[ ] '
|
||||||
|
elseif line =~ s:rx_list_item()
|
||||||
|
let res = substitute(m, '\s*$', ' ', '')
|
||||||
|
elseif &autoindent || &smartindent
|
||||||
|
let res = matchstr(line, '^\s*')
|
||||||
|
endif
|
||||||
|
|
||||||
|
if a:cmd ==# 'o'
|
||||||
|
call append(lnum, res)
|
||||||
|
call cursor(lnum + 1, col('$'))
|
||||||
|
else
|
||||||
|
call append(lnum - 1, res)
|
||||||
|
call cursor(lnum, col('$'))
|
||||||
|
endif
|
||||||
|
|
||||||
|
let l:count -= 1
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
startinsert!
|
||||||
|
|
||||||
" let line = substitute(m, '\s*$', ' ', '').'[ ] '.li_content
|
|
||||||
let m = matchstr(line, s:rx_list_item())
|
|
||||||
let res = ''
|
|
||||||
if line =~ s:rx_cb_list_item()
|
|
||||||
let res = substitute(m, '\s*$', ' ', '').'[ ] '
|
|
||||||
elseif line =~ s:rx_list_item()
|
|
||||||
let res = substitute(m, '\s*$', ' ', '')
|
|
||||||
elseif &autoindent || &smartindent
|
|
||||||
let res = matchstr(line, '^\s*')
|
|
||||||
endif
|
|
||||||
if a:cmd ==# 'o'
|
|
||||||
call append(lnum, res)
|
|
||||||
call cursor(lnum + 1, col('$'))
|
|
||||||
else
|
|
||||||
call append(lnum - 1, res)
|
|
||||||
call cursor(lnum, col('$'))
|
|
||||||
endif
|
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
39
autoload/vimwiki/style.css
Normal file
39
autoload/vimwiki/style.css
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
body {font-family: Tahoma, Geneva, sans-serif; margin: 1em 2em 1em 2em; font-size: 100%; line-height: 130%;}
|
||||||
|
h1, h2, h3, h4, h5, h6 {font-family: Trebuchet MS, Helvetica, sans-serif; font-weight: bold; line-height:100%; margin-top: 1.5em; margin-bottom: 0.5em;}
|
||||||
|
h1 {font-size: 2.6em; color: #000000;}
|
||||||
|
h2 {font-size: 2.2em; color: #404040;}
|
||||||
|
h3 {font-size: 1.8em; color: #707070;}
|
||||||
|
h4 {font-size: 1.4em; color: #909090;}
|
||||||
|
h5 {font-size: 1.3em; color: #989898;}
|
||||||
|
h6 {font-size: 1.2em; color: #9c9c9c;}
|
||||||
|
p, pre, blockquote, table, ul, ol, dl {margin-top: 1em; margin-bottom: 1em;}
|
||||||
|
ul ul, ul ol, ol ol, ol ul {margin-top: 0.5em; margin-bottom: 0.5em;}
|
||||||
|
li {margin: 0.3em auto;}
|
||||||
|
ul {margin-left: 2em; padding-left: 0.5em;}
|
||||||
|
dt {font-weight: bold;}
|
||||||
|
img {border: none;}
|
||||||
|
pre {border-left: 1px solid #ccc; margin-left: 2em; padding-left: 0.5em;}
|
||||||
|
blockquote {padding: 0.4em; background-color: #f6f5eb;}
|
||||||
|
th, td {border: 1px solid #ccc; padding: 0.3em;}
|
||||||
|
th {background-color: #f0f0f0;}
|
||||||
|
hr {border: none; border-top: 1px solid #ccc; width: 100%;}
|
||||||
|
del {text-decoration: line-through; color: #777777;}
|
||||||
|
.toc li {list-style-type: none;}
|
||||||
|
.todo {font-weight: bold; background-color: #f0ece8; color: #a03020;}
|
||||||
|
.justleft {text-align: left;}
|
||||||
|
.justright {text-align: right;}
|
||||||
|
.justcenter {text-align: center;}
|
||||||
|
.center {margin-left: auto; margin-right: auto;}
|
||||||
|
/* classes for items of todo lists */
|
||||||
|
.done0:before {content: "\2592\2592\2592\2592"; color: SkyBlue;}
|
||||||
|
.done1:before {content: "\2588\2592\2592\2592"; color: SkyBlue;}
|
||||||
|
.done2:before {content: "\2588\2588\2592\2592"; color: SkyBlue;}
|
||||||
|
.done3:before {content: "\2588\2588\2588\2592"; color: SkyBlue;}
|
||||||
|
.done4:before {content: "\2588\2588\2588\2588"; color: SkyBlue;}
|
||||||
|
/* comment the next four or five lines out *
|
||||||
|
* if you do not want color-coded todo lists */
|
||||||
|
.done0 {color: #c00000;}
|
||||||
|
.done1 {color: #c08000;}
|
||||||
|
.done2 {color: #80a000;}
|
||||||
|
.done3 {color: #00c000;}
|
||||||
|
.done4 {color: #7f7f7f; text-decoration: line-through;}
|
@ -299,7 +299,7 @@ endfunction "}}}
|
|||||||
" Keyboard functions "{{{
|
" Keyboard functions "{{{
|
||||||
function! s:kbd_create_new_row(cols, goto_first) "{{{
|
function! s:kbd_create_new_row(cols, goto_first) "{{{
|
||||||
let cmd = "\<ESC>o".s:create_empty_row(a:cols)
|
let cmd = "\<ESC>o".s:create_empty_row(a:cols)
|
||||||
let cmd .= "\<ESC>:call vimwiki_tbl#format(line('.'))\<CR>"
|
let cmd .= "\<ESC>:call vimwiki#tbl#format(line('.'))\<CR>"
|
||||||
if a:goto_first
|
if a:goto_first
|
||||||
let cmd .= "\<ESC>0:call search('|', 'c', line('.'))\<CR>la"
|
let cmd .= "\<ESC>0:call search('|', 'c', line('.'))\<CR>la"
|
||||||
else
|
else
|
||||||
@ -341,7 +341,7 @@ endfunction "}}}
|
|||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
" Global functions {{{
|
" Global functions {{{
|
||||||
function! vimwiki_tbl#kbd_cr() "{{{
|
function! vimwiki#tbl#kbd_cr() "{{{
|
||||||
let lnum = line('.')
|
let lnum = line('.')
|
||||||
if !s:is_table(getline(lnum))
|
if !s:is_table(getline(lnum))
|
||||||
return "\<CR>"
|
return "\<CR>"
|
||||||
@ -355,7 +355,7 @@ function! vimwiki_tbl#kbd_cr() "{{{
|
|||||||
endif
|
endif
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki_tbl#kbd_tab() "{{{
|
function! vimwiki#tbl#kbd_tab() "{{{
|
||||||
let lnum = line('.')
|
let lnum = line('.')
|
||||||
if !s:is_table(getline(lnum))
|
if !s:is_table(getline(lnum))
|
||||||
return "\<Tab>"
|
return "\<Tab>"
|
||||||
@ -369,7 +369,7 @@ function! vimwiki_tbl#kbd_tab() "{{{
|
|||||||
return s:kbd_goto_next_col(last)
|
return s:kbd_goto_next_col(last)
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki_tbl#kbd_shift_tab() "{{{
|
function! vimwiki#tbl#kbd_shift_tab() "{{{
|
||||||
let lnum = line('.')
|
let lnum = line('.')
|
||||||
if !s:is_table(getline(lnum))
|
if !s:is_table(getline(lnum))
|
||||||
return "\<S-Tab>"
|
return "\<S-Tab>"
|
||||||
@ -382,7 +382,7 @@ function! vimwiki_tbl#kbd_shift_tab() "{{{
|
|||||||
return s:kbd_goto_prev_col(first)
|
return s:kbd_goto_prev_col(first)
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki_tbl#format(lnum, ...) "{{{
|
function! vimwiki#tbl#format(lnum, ...) "{{{
|
||||||
let line = getline(a:lnum)
|
let line = getline(a:lnum)
|
||||||
if !s:is_table(line)
|
if !s:is_table(line)
|
||||||
return
|
return
|
||||||
@ -406,7 +406,7 @@ function! vimwiki_tbl#format(lnum, ...) "{{{
|
|||||||
let &tw = s:textwidth
|
let &tw = s:textwidth
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki_tbl#create(...) "{{{
|
function! vimwiki#tbl#create(...) "{{{
|
||||||
if a:0 > 1
|
if a:0 > 1
|
||||||
let cols = a:1
|
let cols = a:1
|
||||||
let rows = a:2
|
let rows = a:2
|
||||||
@ -441,15 +441,15 @@ function! vimwiki_tbl#create(...) "{{{
|
|||||||
call append(line('.'), lines)
|
call append(line('.'), lines)
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki_tbl#align_or_cmd(cmd) "{{{
|
function! vimwiki#tbl#align_or_cmd(cmd) "{{{
|
||||||
if s:is_table(getline('.'))
|
if s:is_table(getline('.'))
|
||||||
call vimwiki_tbl#format(line('.'))
|
call vimwiki#tbl#format(line('.'))
|
||||||
else
|
else
|
||||||
exe 'normal! '.a:cmd
|
exe 'normal! '.a:cmd
|
||||||
endif
|
endif
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki_tbl#reset_tw(lnum) "{{{
|
function! vimwiki#tbl#reset_tw(lnum) "{{{
|
||||||
let line = getline(a:lnum)
|
let line = getline(a:lnum)
|
||||||
if !s:is_table(line)
|
if !s:is_table(line)
|
||||||
return
|
return
|
||||||
@ -461,7 +461,7 @@ endfunction "}}}
|
|||||||
|
|
||||||
" TODO: move_column_left and move_column_right are good candidates to be
|
" TODO: move_column_left and move_column_right are good candidates to be
|
||||||
" refactored.
|
" refactored.
|
||||||
function! vimwiki_tbl#move_column_left() "{{{
|
function! vimwiki#tbl#move_column_left() "{{{
|
||||||
if !s:is_table(getline('.'))
|
if !s:is_table(getline('.'))
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
@ -472,7 +472,7 @@ function! vimwiki_tbl#move_column_left() "{{{
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
if cur_col > 0
|
if cur_col > 0
|
||||||
call vimwiki_tbl#format(line('.'), cur_col-1, cur_col)
|
call vimwiki#tbl#format(line('.'), cur_col-1, cur_col)
|
||||||
call cursor(line('.'), 1)
|
call cursor(line('.'), 1)
|
||||||
if !s:is_separator(getline('.'))
|
if !s:is_separator(getline('.'))
|
||||||
call search('\%(|[^|]\+\)\{'.(cur_col-1).'}| .', 'eW')
|
call search('\%(|[^|]\+\)\{'.(cur_col-1).'}| .', 'eW')
|
||||||
@ -482,7 +482,7 @@ function! vimwiki_tbl#move_column_left() "{{{
|
|||||||
endif
|
endif
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki_tbl#move_column_right() "{{{
|
function! vimwiki#tbl#move_column_right() "{{{
|
||||||
if !s:is_table(getline('.'))
|
if !s:is_table(getline('.'))
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
@ -493,7 +493,7 @@ function! vimwiki_tbl#move_column_right() "{{{
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
if cur_col < s:col_count(line('.'))-1
|
if cur_col < s:col_count(line('.'))-1
|
||||||
call vimwiki_tbl#format(line('.'), cur_col, cur_col+1)
|
call vimwiki#tbl#format(line('.'), cur_col, cur_col+1)
|
||||||
call cursor(line('.'), 1)
|
call cursor(line('.'), 1)
|
||||||
if !s:is_separator(getline('.'))
|
if !s:is_separator(getline('.'))
|
||||||
call search('\%(|[^|]\+\)\{'.(cur_col+1).'}| .', 'eW')
|
call search('\%(|[^|]\+\)\{'.(cur_col+1).'}| .', 'eW')
|
||||||
@ -503,7 +503,7 @@ function! vimwiki_tbl#move_column_right() "{{{
|
|||||||
endif
|
endif
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki_tbl#get_rows(lnum) "{{{
|
function! vimwiki#tbl#get_rows(lnum) "{{{
|
||||||
return s:get_rows(a:lnum)
|
return s:get_rows(a:lnum)
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
694
doc/vimwiki.txt
694
doc/vimwiki.txt
File diff suppressed because it is too large
Load Diff
@ -20,7 +20,7 @@ let b:undo_ftplugin = "setlocal ".
|
|||||||
" MISC STUFF {{{
|
" MISC STUFF {{{
|
||||||
|
|
||||||
setlocal autowriteall
|
setlocal autowriteall
|
||||||
setlocal commentstring=<!--%s-->
|
setlocal commentstring=%%%s
|
||||||
|
|
||||||
if g:vimwiki_conceallevel && exists("+conceallevel")
|
if g:vimwiki_conceallevel && exists("+conceallevel")
|
||||||
let &conceallevel = g:vimwiki_conceallevel
|
let &conceallevel = g:vimwiki_conceallevel
|
||||||
@ -47,12 +47,12 @@ if !empty(&langmap)
|
|||||||
" Valid only if langmap is a comma separated pairs of chars
|
" Valid only if langmap is a comma separated pairs of chars
|
||||||
let l_o = matchstr(&langmap, '\C,\zs.\zeo,')
|
let l_o = matchstr(&langmap, '\C,\zs.\zeo,')
|
||||||
if l_o
|
if l_o
|
||||||
exe 'nnoremap <buffer> '.l_o.' :call vimwiki_lst#kbd_oO("o")<CR>a'
|
exe 'nnoremap <buffer> '.l_o.' :call vimwiki#lst#kbd_oO("o")<CR>a'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let l_O = matchstr(&langmap, '\C,\zs.\zeO,')
|
let l_O = matchstr(&langmap, '\C,\zs.\zeO,')
|
||||||
if l_O
|
if l_O
|
||||||
exe 'nnoremap <buffer> '.l_O.' :call vimwiki_lst#kbd_oO("O")<CR>a'
|
exe 'nnoremap <buffer> '.l_O.' :call vimwiki#lst#kbd_oO("O")<CR>a'
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -64,18 +64,18 @@ function! VimwikiFoldLevel(lnum) "{{{
|
|||||||
|
|
||||||
" Header folding...
|
" Header folding...
|
||||||
if line =~ g:vimwiki_rxHeader
|
if line =~ g:vimwiki_rxHeader
|
||||||
let n = vimwiki#count_first_sym(line)
|
let n = vimwiki#base#count_first_sym(line)
|
||||||
return '>'.n
|
return '>'.n
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if g:vimwiki_fold_trailing_empty_lines == 0
|
if g:vimwiki_fold_trailing_empty_lines == 0 && line =~ '^\s*$'
|
||||||
if line =~ '^\s*$'
|
let nnline = getline(nextnonblank(a:lnum + 1))
|
||||||
let nnline = getline(nextnonblank(a:lnum + 1))
|
else
|
||||||
if nnline =~ g:vimwiki_rxHeader
|
let nnline = getline(a:lnum + 1)
|
||||||
let n = vimwiki#count_first_sym(nnline)
|
endif
|
||||||
return '<'.n
|
if nnline =~ g:vimwiki_rxHeader
|
||||||
endif
|
let n = vimwiki#base#count_first_sym(nnline)
|
||||||
endif
|
return '<'.n
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" List item folding...
|
" List item folding...
|
||||||
@ -129,7 +129,7 @@ function! s:get_base_level(lnum) "{{{
|
|||||||
let lnum = a:lnum - 1
|
let lnum = a:lnum - 1
|
||||||
while lnum > 0
|
while lnum > 0
|
||||||
if getline(lnum) =~ g:vimwiki_rxHeader
|
if getline(lnum) =~ g:vimwiki_rxHeader
|
||||||
return vimwiki#count_first_sym(getline(lnum))
|
return vimwiki#base#count_first_sym(getline(lnum))
|
||||||
endif
|
endif
|
||||||
let lnum -= 1
|
let lnum -= 1
|
||||||
endwhile
|
endwhile
|
||||||
@ -169,7 +169,7 @@ endfunction "}}}
|
|||||||
|
|
||||||
function! s:get_li_level(lnum) "{{{
|
function! s:get_li_level(lnum) "{{{
|
||||||
if VimwikiGet('syntax') == 'media'
|
if VimwikiGet('syntax') == 'media'
|
||||||
let level = vimwiki#count_first_sym(getline(a:lnum))
|
let level = vimwiki#base#count_first_sym(getline(a:lnum))
|
||||||
else
|
else
|
||||||
let level = (indent(a:lnum) / &sw)
|
let level = (indent(a:lnum) / &sw)
|
||||||
endif
|
endif
|
||||||
@ -198,42 +198,48 @@ endfunction "}}}
|
|||||||
|
|
||||||
" COMMANDS {{{
|
" COMMANDS {{{
|
||||||
command! -buffer Vimwiki2HTML
|
command! -buffer Vimwiki2HTML
|
||||||
\ call vimwiki_html#Wiki2HTML(expand(VimwikiGet('path_html')),
|
\ w <bar> call vimwiki#html#Wiki2HTML(expand(VimwikiGet('path_html')),
|
||||||
\ expand('%'))
|
\ expand('%'))
|
||||||
|
command! -buffer Vimwiki2HTMLBrowse
|
||||||
|
\ w <bar> call VimwikiWeblinkHandler(
|
||||||
|
\ vimwiki#html#Wiki2HTML(expand(VimwikiGet('path_html')),
|
||||||
|
\ expand('%')))
|
||||||
command! -buffer VimwikiAll2HTML
|
command! -buffer VimwikiAll2HTML
|
||||||
\ call vimwiki_html#WikiAll2HTML(expand(VimwikiGet('path_html')))
|
\ call vimwiki#html#WikiAll2HTML(expand(VimwikiGet('path_html')))
|
||||||
|
|
||||||
command! -buffer VimwikiNextLink call vimwiki#find_next_link()
|
command! -buffer VimwikiNextLink call vimwiki#base#find_next_link()
|
||||||
command! -buffer VimwikiPrevLink call vimwiki#find_prev_link()
|
command! -buffer VimwikiPrevLink call vimwiki#base#find_prev_link()
|
||||||
command! -buffer VimwikiDeleteLink call vimwiki#delete_link()
|
command! -buffer VimwikiDeleteLink call vimwiki#base#delete_link()
|
||||||
command! -buffer VimwikiRenameLink call vimwiki#rename_link()
|
command! -buffer VimwikiRenameLink call vimwiki#base#rename_link()
|
||||||
command! -buffer VimwikiFollowLink call vimwiki#follow_link('nosplit')
|
command! -buffer VimwikiFollowLink call vimwiki#base#follow_link('nosplit')
|
||||||
command! -buffer VimwikiGoBackLink call vimwiki#go_back_link()
|
command! -buffer VimwikiGoBackLink call vimwiki#base#go_back_link()
|
||||||
command! -buffer VimwikiSplitLink call vimwiki#follow_link('split')
|
command! -buffer VimwikiSplitLink call vimwiki#base#follow_link('split')
|
||||||
command! -buffer VimwikiVSplitLink call vimwiki#follow_link('vsplit')
|
command! -buffer VimwikiVSplitLink call vimwiki#base#follow_link('vsplit')
|
||||||
|
|
||||||
command! -buffer -range VimwikiToggleListItem call vimwiki_lst#ToggleListItem(<line1>, <line2>)
|
command! -buffer VimwikiTabnewLink call vimwiki#base#follow_link('tabnew')
|
||||||
|
|
||||||
command! -buffer VimwikiGenerateLinks call vimwiki#generate_links()
|
command! -buffer -range VimwikiToggleListItem call vimwiki#lst#ToggleListItem(<line1>, <line2>)
|
||||||
|
|
||||||
exe 'command! -buffer -nargs=* VimwikiSearch vimgrep <args> '.
|
command! -buffer VimwikiGenerateLinks call vimwiki#base#generate_links()
|
||||||
|
|
||||||
|
exe 'command! -buffer -nargs=* VimwikiSearch lvimgrep <args> '.
|
||||||
\ escape(VimwikiGet('path').'**/*'.VimwikiGet('ext'), ' ')
|
\ escape(VimwikiGet('path').'**/*'.VimwikiGet('ext'), ' ')
|
||||||
|
|
||||||
exe 'command! -buffer -nargs=* VWS vimgrep <args> '.
|
exe 'command! -buffer -nargs=* VWS lvimgrep <args> '.
|
||||||
\ escape(VimwikiGet('path').'**/*'.VimwikiGet('ext'), ' ')
|
\ escape(VimwikiGet('path').'**/*'.VimwikiGet('ext'), ' ')
|
||||||
|
|
||||||
command! -buffer -nargs=1 VimwikiGoto call vimwiki#goto("<args>")
|
command! -buffer -nargs=1 VimwikiGoto call vimwiki#base#goto("<args>")
|
||||||
|
|
||||||
" table commands
|
" table commands
|
||||||
command! -buffer -nargs=* VimwikiTable call vimwiki_tbl#create(<f-args>)
|
command! -buffer -nargs=* VimwikiTable call vimwiki#tbl#create(<f-args>)
|
||||||
command! -buffer VimwikiTableAlignQ call vimwiki_tbl#align_or_cmd('gqq')
|
command! -buffer VimwikiTableAlignQ call vimwiki#tbl#align_or_cmd('gqq')
|
||||||
command! -buffer VimwikiTableAlignW call vimwiki_tbl#align_or_cmd('gww')
|
command! -buffer VimwikiTableAlignW call vimwiki#tbl#align_or_cmd('gww')
|
||||||
command! -buffer VimwikiTableMoveColumnLeft call vimwiki_tbl#move_column_left()
|
command! -buffer VimwikiTableMoveColumnLeft call vimwiki#tbl#move_column_left()
|
||||||
command! -buffer VimwikiTableMoveColumnRight call vimwiki_tbl#move_column_right()
|
command! -buffer VimwikiTableMoveColumnRight call vimwiki#tbl#move_column_right()
|
||||||
|
|
||||||
" diary commands
|
" diary commands
|
||||||
command! -buffer VimwikiDiaryNextDay call vimwiki_diary#goto_next_day()
|
command! -buffer VimwikiDiaryNextDay call vimwiki#diary#goto_next_day()
|
||||||
command! -buffer VimwikiDiaryPrevDay call vimwiki_diary#goto_prev_day()
|
command! -buffer VimwikiDiaryPrevDay call vimwiki#diary#goto_prev_day()
|
||||||
|
|
||||||
" COMMANDS }}}
|
" COMMANDS }}}
|
||||||
|
|
||||||
@ -241,58 +247,78 @@ command! -buffer VimwikiDiaryPrevDay call vimwiki_diary#goto_prev_day()
|
|||||||
if g:vimwiki_use_mouse
|
if g:vimwiki_use_mouse
|
||||||
nmap <buffer> <S-LeftMouse> <NOP>
|
nmap <buffer> <S-LeftMouse> <NOP>
|
||||||
nmap <buffer> <C-LeftMouse> <NOP>
|
nmap <buffer> <C-LeftMouse> <NOP>
|
||||||
noremap <silent><buffer> <2-LeftMouse> :VimwikiFollowLink<CR>
|
nnoremap <silent><buffer> <2-LeftMouse> :VimwikiFollowLink<CR>
|
||||||
noremap <silent><buffer> <S-2-LeftMouse> <LeftMouse>:VimwikiSplitLink<CR>
|
nnoremap <silent><buffer> <S-2-LeftMouse> <LeftMouse>:VimwikiSplitLink<CR>
|
||||||
noremap <silent><buffer> <C-2-LeftMouse> <LeftMouse>:VimwikiVSplitLink<CR>
|
nnoremap <silent><buffer> <C-2-LeftMouse> <LeftMouse>:VimwikiVSplitLink<CR>
|
||||||
noremap <silent><buffer> <RightMouse><LeftMouse> :VimwikiGoBackLink<CR>
|
nnoremap <silent><buffer> <RightMouse><LeftMouse> :VimwikiGoBackLink<CR>
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
if !hasmapto('<Plug>Vimwiki2HTML')
|
||||||
|
nmap <buffer> <Leader>wh <Plug>Vimwiki2HTML
|
||||||
|
endif
|
||||||
|
nnoremap <script><buffer>
|
||||||
|
\ <Plug>Vimwiki2HTML :Vimwiki2HTML<CR>
|
||||||
|
|
||||||
|
if !hasmapto('<Plug>Vimwiki2HTMLBrowse')
|
||||||
|
nmap <buffer> <Leader>whh <Plug>Vimwiki2HTMLBrowse
|
||||||
|
endif
|
||||||
|
nnoremap <script><buffer>
|
||||||
|
\ <Plug>Vimwiki2HTMLBrowse :Vimwiki2HTMLBrowse<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiFollowLink')
|
if !hasmapto('<Plug>VimwikiFollowLink')
|
||||||
nmap <silent><buffer> <CR> <Plug>VimwikiFollowLink
|
nmap <silent><buffer> <CR> <Plug>VimwikiFollowLink
|
||||||
endif
|
endif
|
||||||
noremap <silent><script><buffer>
|
nnoremap <silent><script><buffer>
|
||||||
\ <Plug>VimwikiFollowLink :VimwikiFollowLink<CR>
|
\ <Plug>VimwikiFollowLink :VimwikiFollowLink<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiSplitLink')
|
if !hasmapto('<Plug>VimwikiSplitLink')
|
||||||
nmap <silent><buffer> <S-CR> <Plug>VimwikiSplitLink
|
nmap <silent><buffer> <S-CR> <Plug>VimwikiSplitLink
|
||||||
endif
|
endif
|
||||||
noremap <silent><script><buffer>
|
nnoremap <silent><script><buffer>
|
||||||
\ <Plug>VimwikiSplitLink :VimwikiSplitLink<CR>
|
\ <Plug>VimwikiSplitLink :VimwikiSplitLink<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiVSplitLink')
|
if !hasmapto('<Plug>VimwikiVSplitLink')
|
||||||
nmap <silent><buffer> <C-CR> <Plug>VimwikiVSplitLink
|
nmap <silent><buffer> <C-CR> <Plug>VimwikiVSplitLink
|
||||||
endif
|
endif
|
||||||
noremap <silent><script><buffer>
|
nnoremap <silent><script><buffer>
|
||||||
\ <Plug>VimwikiVSplitLink :VimwikiVSplitLink<CR>
|
\ <Plug>VimwikiVSplitLink :VimwikiVSplitLink<CR>
|
||||||
|
|
||||||
|
if !hasmapto('<Plug>VimwikiTabnewLink')
|
||||||
|
nmap <silent><buffer> <D-CR> <Plug>VimwikiTabnewLink
|
||||||
|
nmap <silent><buffer> <C-S-CR> <Plug>VimwikiTabnewLink
|
||||||
|
endif
|
||||||
|
nnoremap <silent><script><buffer>
|
||||||
|
\ <Plug>VimwikiTabnewLink :VimwikiTabnewLink<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiGoBackLink')
|
if !hasmapto('<Plug>VimwikiGoBackLink')
|
||||||
nmap <silent><buffer> <BS> <Plug>VimwikiGoBackLink
|
nmap <silent><buffer> <BS> <Plug>VimwikiGoBackLink
|
||||||
endif
|
endif
|
||||||
noremap <silent><script><buffer>
|
nnoremap <silent><script><buffer>
|
||||||
\ <Plug>VimwikiGoBackLink :VimwikiGoBackLink<CR>
|
\ <Plug>VimwikiGoBackLink :VimwikiGoBackLink<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiNextLink')
|
if !hasmapto('<Plug>VimwikiNextLink')
|
||||||
nmap <silent><buffer> <TAB> <Plug>VimwikiNextLink
|
nmap <silent><buffer> <TAB> <Plug>VimwikiNextLink
|
||||||
endif
|
endif
|
||||||
noremap <silent><script><buffer>
|
nnoremap <silent><script><buffer>
|
||||||
\ <Plug>VimwikiNextLink :VimwikiNextLink<CR>
|
\ <Plug>VimwikiNextLink :VimwikiNextLink<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiPrevLink')
|
if !hasmapto('<Plug>VimwikiPrevLink')
|
||||||
nmap <silent><buffer> <S-TAB> <Plug>VimwikiPrevLink
|
nmap <silent><buffer> <S-TAB> <Plug>VimwikiPrevLink
|
||||||
endif
|
endif
|
||||||
noremap <silent><script><buffer>
|
nnoremap <silent><script><buffer>
|
||||||
\ <Plug>VimwikiPrevLink :VimwikiPrevLink<CR>
|
\ <Plug>VimwikiPrevLink :VimwikiPrevLink<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiDeleteLink')
|
if !hasmapto('<Plug>VimwikiDeleteLink')
|
||||||
nmap <silent><buffer> <Leader>wd <Plug>VimwikiDeleteLink
|
nmap <silent><buffer> <Leader>wd <Plug>VimwikiDeleteLink
|
||||||
endif
|
endif
|
||||||
noremap <silent><script><buffer>
|
nnoremap <silent><script><buffer>
|
||||||
\ <Plug>VimwikiDeleteLink :VimwikiDeleteLink<CR>
|
\ <Plug>VimwikiDeleteLink :VimwikiDeleteLink<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiRenameLink')
|
if !hasmapto('<Plug>VimwikiRenameLink')
|
||||||
nmap <silent><buffer> <Leader>wr <Plug>VimwikiRenameLink
|
nmap <silent><buffer> <Leader>wr <Plug>VimwikiRenameLink
|
||||||
endif
|
endif
|
||||||
noremap <silent><script><buffer>
|
nnoremap <silent><script><buffer>
|
||||||
\ <Plug>VimwikiRenameLink :VimwikiRenameLink<CR>
|
\ <Plug>VimwikiRenameLink :VimwikiRenameLink<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiToggleListItem')
|
if !hasmapto('<Plug>VimwikiToggleListItem')
|
||||||
@ -302,25 +328,25 @@ if !hasmapto('<Plug>VimwikiToggleListItem')
|
|||||||
nmap <silent><buffer> <C-@> <Plug>VimwikiToggleListItem
|
nmap <silent><buffer> <C-@> <Plug>VimwikiToggleListItem
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
noremap <silent><script><buffer>
|
nnoremap <silent><script><buffer>
|
||||||
\ <Plug>VimwikiToggleListItem :VimwikiToggleListItem<CR>
|
\ <Plug>VimwikiToggleListItem :VimwikiToggleListItem<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiDiaryNextDay')
|
if !hasmapto('<Plug>VimwikiDiaryNextDay')
|
||||||
nmap <silent><buffer> <C-Down> <Plug>VimwikiDiaryNextDay
|
nmap <silent><buffer> <C-Down> <Plug>VimwikiDiaryNextDay
|
||||||
endif
|
endif
|
||||||
noremap <silent><script><buffer>
|
nnoremap <silent><script><buffer>
|
||||||
\ <Plug>VimwikiDiaryNextDay :VimwikiDiaryNextDay<CR>
|
\ <Plug>VimwikiDiaryNextDay :VimwikiDiaryNextDay<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiDiaryPrevDay')
|
if !hasmapto('<Plug>VimwikiDiaryPrevDay')
|
||||||
nmap <silent><buffer> <C-Up> <Plug>VimwikiDiaryPrevDay
|
nmap <silent><buffer> <C-Up> <Plug>VimwikiDiaryPrevDay
|
||||||
endif
|
endif
|
||||||
noremap <silent><script><buffer>
|
nnoremap <silent><script><buffer>
|
||||||
\ <Plug>VimwikiDiaryPrevDay :VimwikiDiaryPrevDay<CR>
|
\ <Plug>VimwikiDiaryPrevDay :VimwikiDiaryPrevDay<CR>
|
||||||
|
|
||||||
function! s:CR() "{{{
|
function! s:CR() "{{{
|
||||||
let res = vimwiki_lst#kbd_cr()
|
let res = vimwiki#lst#kbd_cr()
|
||||||
if res == "\<CR>" && g:vimwiki_table_auto_fmt
|
if res == "\<CR>" && g:vimwiki_table_auto_fmt
|
||||||
let res = vimwiki_tbl#kbd_cr()
|
let res = vimwiki#tbl#kbd_cr()
|
||||||
endif
|
endif
|
||||||
return res
|
return res
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
@ -329,45 +355,53 @@ endfunction "}}}
|
|||||||
inoremap <buffer> <expr> <CR> <SID>CR()
|
inoremap <buffer> <expr> <CR> <SID>CR()
|
||||||
|
|
||||||
" List mappings
|
" List mappings
|
||||||
nnoremap <buffer> o :call vimwiki_lst#kbd_oO('o')<CR>a
|
nnoremap <buffer> o :<C-U>call vimwiki#lst#kbd_oO('o')<CR>
|
||||||
nnoremap <buffer> O :call vimwiki_lst#kbd_oO('O')<CR>a
|
nnoremap <buffer> O :<C-U>call vimwiki#lst#kbd_oO('O')<CR>
|
||||||
|
|
||||||
" Table mappings
|
" Table mappings
|
||||||
if g:vimwiki_table_auto_fmt
|
if g:vimwiki_table_auto_fmt
|
||||||
inoremap <expr> <buffer> <Tab> vimwiki_tbl#kbd_tab()
|
inoremap <expr> <buffer> <Tab> vimwiki#tbl#kbd_tab()
|
||||||
inoremap <expr> <buffer> <S-Tab> vimwiki_tbl#kbd_shift_tab()
|
inoremap <expr> <buffer> <S-Tab> vimwiki#tbl#kbd_shift_tab()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
nnoremap <buffer> gqq :VimwikiTableAlignQ<CR>
|
nnoremap <buffer> gqq :VimwikiTableAlignQ<CR>
|
||||||
nnoremap <buffer> gww :VimwikiTableAlignW<CR>
|
nnoremap <buffer> gww :VimwikiTableAlignW<CR>
|
||||||
nnoremap <buffer> <A-Left> :VimwikiTableMoveColumnLeft<CR>
|
if !hasmapto('<Plug>VimwikiTableMoveColumnLeft')
|
||||||
nnoremap <buffer> <A-Right> :VimwikiTableMoveColumnRight<CR>
|
nmap <silent><buffer> <A-Left> <Plug>VimwikiTableMoveColumnLeft
|
||||||
|
endif
|
||||||
|
nnoremap <silent><script><buffer>
|
||||||
|
\ <Plug>VimwikiTableMoveColumnLeft :VimwikiTableMoveColumnLeft<CR>
|
||||||
|
if !hasmapto('<Plug>VimwikiTableMoveColumnRight')
|
||||||
|
nmap <silent><buffer> <A-Right> <Plug>VimwikiTableMoveColumnRight
|
||||||
|
endif
|
||||||
|
nnoremap <silent><script><buffer>
|
||||||
|
\ <Plug>VimwikiTableMoveColumnRight :VimwikiTableMoveColumnRight<CR>
|
||||||
|
|
||||||
" Misc mappings
|
" Misc mappings
|
||||||
inoremap <buffer> <S-CR> <br /><CR>
|
inoremap <buffer> <S-CR> <br /><CR>
|
||||||
|
|
||||||
|
|
||||||
" Text objects {{{
|
" Text objects {{{
|
||||||
onoremap <silent><buffer> ah :<C-U>call vimwiki#TO_header(0, 0)<CR>
|
onoremap <silent><buffer> ah :<C-U>call vimwiki#base#TO_header(0, 0)<CR>
|
||||||
vnoremap <silent><buffer> ah :<C-U>call vimwiki#TO_header(0, 1)<CR>
|
vnoremap <silent><buffer> ah :<C-U>call vimwiki#base#TO_header(0, 1)<CR>
|
||||||
|
|
||||||
onoremap <silent><buffer> ih :<C-U>call vimwiki#TO_header(1, 0)<CR>
|
onoremap <silent><buffer> ih :<C-U>call vimwiki#base#TO_header(1, 0)<CR>
|
||||||
vnoremap <silent><buffer> ih :<C-U>call vimwiki#TO_header(1, 1)<CR>
|
vnoremap <silent><buffer> ih :<C-U>call vimwiki#base#TO_header(1, 1)<CR>
|
||||||
|
|
||||||
onoremap <silent><buffer> a\ :<C-U>call vimwiki#TO_table_cell(0, 0)<CR>
|
onoremap <silent><buffer> a\ :<C-U>call vimwiki#base#TO_table_cell(0, 0)<CR>
|
||||||
vnoremap <silent><buffer> a\ :<C-U>call vimwiki#TO_table_cell(0, 1)<CR>
|
vnoremap <silent><buffer> a\ :<C-U>call vimwiki#base#TO_table_cell(0, 1)<CR>
|
||||||
|
|
||||||
onoremap <silent><buffer> i\ :<C-U>call vimwiki#TO_table_cell(1, 0)<CR>
|
onoremap <silent><buffer> i\ :<C-U>call vimwiki#base#TO_table_cell(1, 0)<CR>
|
||||||
vnoremap <silent><buffer> i\ :<C-U>call vimwiki#TO_table_cell(1, 1)<CR>
|
vnoremap <silent><buffer> i\ :<C-U>call vimwiki#base#TO_table_cell(1, 1)<CR>
|
||||||
|
|
||||||
onoremap <silent><buffer> ac :<C-U>call vimwiki#TO_table_col(0, 0)<CR>
|
onoremap <silent><buffer> ac :<C-U>call vimwiki#base#TO_table_col(0, 0)<CR>
|
||||||
vnoremap <silent><buffer> ac :<C-U>call vimwiki#TO_table_col(0, 1)<CR>
|
vnoremap <silent><buffer> ac :<C-U>call vimwiki#base#TO_table_col(0, 1)<CR>
|
||||||
|
|
||||||
onoremap <silent><buffer> ic :<C-U>call vimwiki#TO_table_col(1, 0)<CR>
|
onoremap <silent><buffer> ic :<C-U>call vimwiki#base#TO_table_col(1, 0)<CR>
|
||||||
vnoremap <silent><buffer> ic :<C-U>call vimwiki#TO_table_col(1, 1)<CR>
|
vnoremap <silent><buffer> ic :<C-U>call vimwiki#base#TO_table_col(1, 1)<CR>
|
||||||
|
|
||||||
noremap <silent><buffer> = :call vimwiki#AddHeaderLevel()<CR>
|
nnoremap <silent><buffer> = :call vimwiki#base#AddHeaderLevel()<CR>
|
||||||
noremap <silent><buffer> - :call vimwiki#RemoveHeaderLevel()<CR>
|
nnoremap <silent><buffer> - :call vimwiki#base#RemoveHeaderLevel()<CR>
|
||||||
|
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
|
@ -19,22 +19,30 @@ function! s:default(varname, value) "{{{
|
|||||||
endif
|
endif
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
" return longest common prefix of 2 given strings.
|
" return longest common path prefix of 2 given paths.
|
||||||
" 'Hello world', 'Hello worm' => 'Hello wor'
|
" '~/home/usrname/wiki', '~/home/usrname/wiki/shmiki' => '~/home/usrname/wiki'
|
||||||
function! s:str_common_pfx(str1, str2) "{{{
|
function! s:path_common_pfx(path1, path2) "{{{
|
||||||
|
let p1 = split(a:path1, '[/\\]', 1)
|
||||||
|
let p2 = split(a:path2, '[/\\]', 1)
|
||||||
|
|
||||||
let idx = 0
|
let idx = 0
|
||||||
let minlen = min([len(a:str1), len(a:str2)])
|
let minlen = min([len(p1), len(p2)])
|
||||||
while (idx < minlen) && (a:str1[idx] ==? a:str2[idx])
|
while (idx < minlen) && (p1[idx] ==? p2[idx])
|
||||||
let idx = idx + 1
|
let idx = idx + 1
|
||||||
endwhile
|
endwhile
|
||||||
return strpart(a:str1, 0, idx)
|
if idx == 0
|
||||||
|
return ''
|
||||||
|
else
|
||||||
|
return join(p1[: idx-1], '/')
|
||||||
|
endif
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:find_wiki(path) "{{{
|
function! s:find_wiki(path) "{{{
|
||||||
let idx = 0
|
let idx = 0
|
||||||
while idx < len(g:vimwiki_list)
|
while idx < len(g:vimwiki_list)
|
||||||
let path = vimwiki#chomp_slash(expand(VimwikiGet('path', idx)))
|
let path = vimwiki#base#chomp_slash(expand(VimwikiGet('path', idx)))
|
||||||
if s:str_common_pfx(path, a:path) == path
|
let path = vimwiki#base#path_norm(path)
|
||||||
|
if s:path_common_pfx(path, a:path) == path
|
||||||
return idx
|
return idx
|
||||||
endif
|
endif
|
||||||
let idx += 1
|
let idx += 1
|
||||||
@ -53,6 +61,19 @@ function! s:setup_buffer_leave()"{{{
|
|||||||
endif
|
endif
|
||||||
endfunction"}}}
|
endfunction"}}}
|
||||||
|
|
||||||
|
function! s:setup_filetype() "{{{
|
||||||
|
" Find what wiki current buffer belongs to.
|
||||||
|
let path = expand('%:p:h')
|
||||||
|
let ext = '.'.expand('%:e')
|
||||||
|
let idx = s:find_wiki(path)
|
||||||
|
|
||||||
|
if idx == -1 && g:vimwiki_global_ext == 0
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
set filetype=vimwiki
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:setup_buffer_enter() "{{{
|
function! s:setup_buffer_enter() "{{{
|
||||||
if exists("b:vimwiki_idx")
|
if exists("b:vimwiki_idx")
|
||||||
let g:vimwiki_current_idx = b:vimwiki_idx
|
let g:vimwiki_current_idx = b:vimwiki_idx
|
||||||
@ -81,8 +102,16 @@ function! s:setup_buffer_enter() "{{{
|
|||||||
let b:vimwiki_idx = g:vimwiki_current_idx
|
let b:vimwiki_idx = g:vimwiki_current_idx
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" If you have
|
||||||
|
" au GUIEnter * VimwikiIndex
|
||||||
|
" Then change it to
|
||||||
|
" au GUIEnter * nested VimwikiIndex
|
||||||
|
if &filetype == ''
|
||||||
|
set filetype=vimwiki
|
||||||
|
endif
|
||||||
|
|
||||||
" Update existed/non-existed links highlighting.
|
" Update existed/non-existed links highlighting.
|
||||||
call vimwiki#highlight_links()
|
call vimwiki#base#highlight_links()
|
||||||
|
|
||||||
" Settings foldmethod, foldexpr and foldtext are local to window. Thus in a
|
" Settings foldmethod, foldexpr and foldtext are local to window. Thus in a
|
||||||
" new tab with the same buffer folding is reset to vim defaults. So we
|
" new tab with the same buffer folding is reset to vim defaults. So we
|
||||||
@ -158,9 +187,9 @@ if !exists("*VimwikiWeblinkHandler") "{{{
|
|||||||
for browser in g:vimwiki_browsers
|
for browser in g:vimwiki_browsers
|
||||||
if executable(browser)
|
if executable(browser)
|
||||||
if has("win32")
|
if has("win32")
|
||||||
execute '!start "'.browser.'" ' . a:weblink
|
execute '!start "'.browser.'" "' . a:weblink . '"'
|
||||||
else
|
else
|
||||||
execute '!'.browser.' ' . a:weblink
|
execute '!'.browser.' "' . a:weblink . '"'
|
||||||
endif
|
endif
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
@ -178,8 +207,11 @@ let s:vimwiki_defaults.index = 'index'
|
|||||||
let s:vimwiki_defaults.ext = '.wiki'
|
let s:vimwiki_defaults.ext = '.wiki'
|
||||||
let s:vimwiki_defaults.maxhi = 1
|
let s:vimwiki_defaults.maxhi = 1
|
||||||
let s:vimwiki_defaults.syntax = 'default'
|
let s:vimwiki_defaults.syntax = 'default'
|
||||||
let s:vimwiki_defaults.html_header = ''
|
|
||||||
let s:vimwiki_defaults.html_footer = ''
|
let s:vimwiki_defaults.template_path = '~/vimwiki/templates/'
|
||||||
|
let s:vimwiki_defaults.template_default = 'default'
|
||||||
|
let s:vimwiki_defaults.template_ext = '.html'
|
||||||
|
|
||||||
let s:vimwiki_defaults.nested_syntaxes = {}
|
let s:vimwiki_defaults.nested_syntaxes = {}
|
||||||
let s:vimwiki_defaults.auto_export = 0
|
let s:vimwiki_defaults.auto_export = 0
|
||||||
" is wiki temporary -- was added to g:vimwiki_list by opening arbitrary wiki
|
" is wiki temporary -- was added to g:vimwiki_list by opening arbitrary wiki
|
||||||
@ -217,7 +249,7 @@ call s:default('fold_trailing_empty_lines', 0)
|
|||||||
call s:default('fold_lists', 0)
|
call s:default('fold_lists', 0)
|
||||||
call s:default('menu', 'Vimwiki')
|
call s:default('menu', 'Vimwiki')
|
||||||
call s:default('global_ext', 1)
|
call s:default('global_ext', 1)
|
||||||
call s:default('hl_headers', 1)
|
call s:default('hl_headers', 0)
|
||||||
call s:default('hl_cb_checked', 0)
|
call s:default('hl_cb_checked', 0)
|
||||||
call s:default('camel_case', 1)
|
call s:default('camel_case', 1)
|
||||||
call s:default('list_ignore_newline', 1)
|
call s:default('list_ignore_newline', 1)
|
||||||
@ -233,6 +265,7 @@ if has("win32")
|
|||||||
else
|
else
|
||||||
call s:default('browsers',
|
call s:default('browsers',
|
||||||
\ [
|
\ [
|
||||||
|
\ 'chromium-browser',
|
||||||
\ 'opera',
|
\ 'opera',
|
||||||
\ 'firefox',
|
\ 'firefox',
|
||||||
\ 'konqueror',
|
\ 'konqueror',
|
||||||
@ -245,7 +278,8 @@ call s:default('w32_dir_enc', '')
|
|||||||
call s:default('CJK_length', 0)
|
call s:default('CJK_length', 0)
|
||||||
call s:default('dir_link', '')
|
call s:default('dir_link', '')
|
||||||
call s:default('file_exts', 'pdf,txt,doc,rtf,xls,php,zip,rar,7z,html,gz')
|
call s:default('file_exts', 'pdf,txt,doc,rtf,xls,php,zip,rar,7z,html,gz')
|
||||||
call s:default('valid_html_tags', 'b,i,s,u,sub,sup,kbd,br,hr')
|
call s:default('valid_html_tags', 'b,i,s,u,sub,sup,kbd,br,hr,div,center,strong,em')
|
||||||
|
call s:default('user_htmls', '')
|
||||||
|
|
||||||
call s:default('html_header_numbering', 0)
|
call s:default('html_header_numbering', 0)
|
||||||
call s:default('html_header_numbering_sym', '')
|
call s:default('html_header_numbering_sym', '')
|
||||||
@ -273,9 +307,15 @@ else
|
|||||||
let g:vimwiki_rxWikiLink = g:vimwiki_rxWikiLink1.'\|'.g:vimwiki_rxWikiLink2
|
let g:vimwiki_rxWikiLink = g:vimwiki_rxWikiLink1.'\|'.g:vimwiki_rxWikiLink2
|
||||||
endif
|
endif
|
||||||
let g:vimwiki_rxWeblink = '\%("[^"(]\+\((\([^)]\+\))\)\?":\)\?'.
|
let g:vimwiki_rxWeblink = '\%("[^"(]\+\((\([^)]\+\))\)\?":\)\?'.
|
||||||
\'\%(https\?\|ftp\|gopher\|telnet\|file\|notes\|ms-help\):'.
|
\'\%('.
|
||||||
\'\%(\%(\%(//\)\|\%(\\\\\)\)\+[A-Za-z0-9:#@%/;,$~()_?+=.&\\\-]*\)'.
|
\'\%('.
|
||||||
\'[().,?]\@<!'
|
\'\%(https\?\|ftp\|gopher\|telnet\|file\|notes\|ms-help\):'.
|
||||||
|
\'\%(\%(//\)\|\%(\\\\\)\)'.
|
||||||
|
\'\)'.
|
||||||
|
\'\|\%(mailto:\)'.
|
||||||
|
\'\)'.
|
||||||
|
\'\+\S\+'.
|
||||||
|
\'[().,?\]]\@<!'
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
" AUTOCOMMANDS for all known wiki extensions {{{
|
" AUTOCOMMANDS for all known wiki extensions {{{
|
||||||
@ -297,64 +337,71 @@ augroup end
|
|||||||
augroup vimwiki
|
augroup vimwiki
|
||||||
autocmd!
|
autocmd!
|
||||||
for ext in keys(extensions)
|
for ext in keys(extensions)
|
||||||
exe 'autocmd BufEnter *'.ext.' call s:setup_buffer_enter()'
|
exe 'autocmd BufWinEnter *'.ext.' call s:setup_buffer_enter()'
|
||||||
exe 'autocmd BufLeave,BufHidden *'.ext.' call s:setup_buffer_leave()'
|
exe 'autocmd BufLeave,BufHidden *'.ext.' call s:setup_buffer_leave()'
|
||||||
exe 'autocmd BufNewFile,BufRead, *'.ext.' setlocal filetype=vimwiki'
|
exe 'autocmd BufNewFile,BufRead, *'.ext.' call s:setup_filetype()'
|
||||||
|
|
||||||
" ColorScheme could have or could have not a
|
" ColorScheme could have or could have not a
|
||||||
" VimwikiHeader1..VimwikiHeader6 highlight groups. We need to refresh
|
" VimwikiHeader1..VimwikiHeader6 highlight groups. We need to refresh
|
||||||
" syntax after colorscheme change.
|
" syntax after colorscheme change.
|
||||||
exe 'autocmd ColorScheme *'.ext.' call vimwiki#setup_colors()'.
|
exe 'autocmd ColorScheme *'.ext.' syntax enable'.
|
||||||
\ ' | call vimwiki#highlight_links()'
|
\ ' | call vimwiki#base#highlight_links()'
|
||||||
|
|
||||||
" Format tables when exit from insert mode. Do not use textwidth to
|
" Format tables when exit from insert mode. Do not use textwidth to
|
||||||
" autowrap tables.
|
" autowrap tables.
|
||||||
if g:vimwiki_table_auto_fmt
|
if g:vimwiki_table_auto_fmt
|
||||||
exe 'autocmd InsertLeave *'.ext.' call vimwiki_tbl#format(line("."))'
|
exe 'autocmd InsertLeave *'.ext.' call vimwiki#tbl#format(line("."))'
|
||||||
exe 'autocmd InsertEnter *'.ext.' call vimwiki_tbl#reset_tw(line("."))'
|
exe 'autocmd InsertEnter *'.ext.' call vimwiki#tbl#reset_tw(line("."))'
|
||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
augroup END
|
augroup END
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
" COMMANDS {{{
|
" COMMANDS {{{
|
||||||
command! VimwikiUISelect call vimwiki#ui_select()
|
command! VimwikiUISelect call vimwiki#base#ui_select()
|
||||||
command! -count VimwikiIndex
|
command! -count VimwikiIndex
|
||||||
\ call vimwiki#goto_index(v:count1)
|
\ call vimwiki#base#goto_index(v:count1)
|
||||||
command! -count VimwikiTabIndex tabedit <bar>
|
command! -count VimwikiTabIndex tabedit <bar>
|
||||||
\ call vimwiki#goto_index(v:count1)
|
\ call vimwiki#base#goto_index(v:count1)
|
||||||
|
|
||||||
|
command! -count VimwikiDiaryIndex
|
||||||
|
\ call vimwiki#diary#goto_index(v:count1)
|
||||||
command! -count VimwikiMakeDiaryNote
|
command! -count VimwikiMakeDiaryNote
|
||||||
\ call vimwiki_diary#make_note(v:count1)
|
\ call vimwiki#diary#make_note(v:count1)
|
||||||
command! -count VimwikiTabMakeDiaryNote tabedit <bar>
|
command! -count VimwikiTabMakeDiaryNote tabedit <bar>
|
||||||
\ call vimwiki_diary#make_note(v:count1)
|
\ call vimwiki#diary#make_note(v:count1)
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
" MAPPINGS {{{
|
" MAPPINGS {{{
|
||||||
if !hasmapto('<Plug>VimwikiIndex')
|
if !hasmapto('<Plug>VimwikiIndex')
|
||||||
map <silent><unique> <Leader>ww <Plug>VimwikiIndex
|
nmap <silent><unique> <Leader>ww <Plug>VimwikiIndex
|
||||||
endif
|
endif
|
||||||
noremap <unique><script> <Plug>VimwikiIndex :VimwikiIndex<CR>
|
nnoremap <unique><script> <Plug>VimwikiIndex :VimwikiIndex<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiTabIndex')
|
if !hasmapto('<Plug>VimwikiTabIndex')
|
||||||
map <silent><unique> <Leader>wt <Plug>VimwikiTabIndex
|
nmap <silent><unique> <Leader>wt <Plug>VimwikiTabIndex
|
||||||
endif
|
endif
|
||||||
noremap <unique><script> <Plug>VimwikiTabIndex :VimwikiTabIndex<CR>
|
nnoremap <unique><script> <Plug>VimwikiTabIndex :VimwikiTabIndex<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiUISelect')
|
if !hasmapto('<Plug>VimwikiUISelect')
|
||||||
map <silent><unique> <Leader>ws <Plug>VimwikiUISelect
|
nmap <silent><unique> <Leader>ws <Plug>VimwikiUISelect
|
||||||
endif
|
endif
|
||||||
noremap <unique><script> <Plug>VimwikiUISelect :VimwikiUISelect<CR>
|
nnoremap <unique><script> <Plug>VimwikiUISelect :VimwikiUISelect<CR>
|
||||||
|
|
||||||
|
if !hasmapto('<Plug>VimwikiDiaryIndex')
|
||||||
|
nmap <silent><unique> <Leader>wi <Plug>VimwikiDiaryIndex
|
||||||
|
endif
|
||||||
|
nnoremap <unique><script> <Plug>VimwikiDiaryIndex :VimwikiDiaryIndex<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiMakeDiaryNote')
|
if !hasmapto('<Plug>VimwikiMakeDiaryNote')
|
||||||
map <silent><unique> <Leader>w<Leader>w <Plug>VimwikiMakeDiaryNote
|
nmap <silent><unique> <Leader>w<Leader>w <Plug>VimwikiMakeDiaryNote
|
||||||
endif
|
endif
|
||||||
noremap <unique><script> <Plug>VimwikiMakeDiaryNote :VimwikiMakeDiaryNote<CR>
|
nnoremap <unique><script> <Plug>VimwikiMakeDiaryNote :VimwikiMakeDiaryNote<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiTabMakeDiaryNote')
|
if !hasmapto('<Plug>VimwikiTabMakeDiaryNote')
|
||||||
map <silent><unique> <Leader>w<Leader>t <Plug>VimwikiTabMakeDiaryNote
|
nmap <silent><unique> <Leader>w<Leader>t <Plug>VimwikiTabMakeDiaryNote
|
||||||
endif
|
endif
|
||||||
noremap <unique><script> <Plug>VimwikiTabMakeDiaryNote
|
nnoremap <unique><script> <Plug>VimwikiTabMakeDiaryNote
|
||||||
\ :VimwikiTabMakeDiaryNote<CR>
|
\ :VimwikiTabMakeDiaryNote<CR>
|
||||||
|
|
||||||
"}}}
|
"}}}
|
||||||
@ -366,9 +413,9 @@ function! s:build_menu(topmenu)
|
|||||||
let norm_path = fnamemodify(VimwikiGet('path', idx), ':h:t')
|
let norm_path = fnamemodify(VimwikiGet('path', idx), ':h:t')
|
||||||
let norm_path = escape(norm_path, '\ \.')
|
let norm_path = escape(norm_path, '\ \.')
|
||||||
execute 'menu '.a:topmenu.'.Open\ index.'.norm_path.
|
execute 'menu '.a:topmenu.'.Open\ index.'.norm_path.
|
||||||
\ ' :call vimwiki#goto_index('.(idx + 1).')<CR>'
|
\ ' :call vimwiki#base#goto_index('.(idx + 1).')<CR>'
|
||||||
execute 'menu '.a:topmenu.'.Open/Create\ diary\ note.'.norm_path.
|
execute 'menu '.a:topmenu.'.Open/Create\ diary\ note.'.norm_path.
|
||||||
\ ' :call vimwiki_diary#make_note('.(idx + 1).')<CR>'
|
\ ' :call vimwiki#diary#make_note('.(idx + 1).')<CR>'
|
||||||
let idx += 1
|
let idx += 1
|
||||||
endwhile
|
endwhile
|
||||||
endfunction
|
endfunction
|
||||||
@ -390,8 +437,8 @@ endif
|
|||||||
|
|
||||||
" CALENDAR Hook "{{{
|
" CALENDAR Hook "{{{
|
||||||
if g:vimwiki_use_calendar
|
if g:vimwiki_use_calendar
|
||||||
let g:calendar_action = 'vimwiki_diary#calendar_action'
|
let g:calendar_action = 'vimwiki#diary#calendar_action'
|
||||||
let g:calendar_sign = 'vimwiki_diary#calendar_sign'
|
let g:calendar_sign = 'vimwiki#diary#calendar_sign'
|
||||||
endif
|
endif
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ elseif exists("b:current_syntax")
|
|||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Links highlighting is controlled by vimwiki#highlight_links() function.
|
" Links highlighting is controlled by vimwiki#base#highlight_links() function.
|
||||||
" It is called from setup_buffer_enter() function in the BufEnter autocommand.
|
" It is called from setup_buffer_enter() function in the BufEnter autocommand.
|
||||||
|
|
||||||
" Load concrete Wiki syntax
|
" Load concrete Wiki syntax
|
||||||
@ -20,6 +20,9 @@ execute 'runtime! syntax/vimwiki_'.VimwikiGet('syntax').'.vim'
|
|||||||
if exists("+conceallevel")
|
if exists("+conceallevel")
|
||||||
syntax conceal on
|
syntax conceal on
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
syntax spell toplevel
|
||||||
|
|
||||||
syn match VimwikiLinkChar contained /\[\[/
|
syn match VimwikiLinkChar contained /\[\[/
|
||||||
syn match VimwikiLinkChar contained /\]\]/
|
syn match VimwikiLinkChar contained /\]\]/
|
||||||
syn match VimwikiLinkChar contained /\[\[[^\[\]\|]\{-}|\ze.\{-}]]/
|
syn match VimwikiLinkChar contained /\[\[[^\[\]\|]\{-}|\ze.\{-}]]/
|
||||||
@ -62,12 +65,12 @@ execute 'syntax match VimwikiTodo /'. g:vimwiki_rxTodo .'/'
|
|||||||
|
|
||||||
|
|
||||||
" Tables
|
" Tables
|
||||||
" execute 'syntax match VimwikiTable /'.g:vimwiki_rxTable.'/'
|
|
||||||
syntax match VimwikiTableRow /^\s*|.\+|\s*$/
|
syntax match VimwikiTableRow /^\s*|.\+|\s*$/
|
||||||
\ transparent contains=VimwikiCellSeparator,VimwikiLinkT,
|
\ transparent contains=VimwikiCellSeparator,VimwikiLinkT,
|
||||||
\ VimwikiNoExistsLinkT,VimwikiEmoticons,VimwikiTodo,
|
\ VimwikiNoExistsLinkT,VimwikiEmoticons,VimwikiTodo,
|
||||||
\ VimwikiBoldT,VimwikiItalicT,VimwikiBoldItalicT,VimwikiItalicBoldT,
|
\ VimwikiBoldT,VimwikiItalicT,VimwikiBoldItalicT,VimwikiItalicBoldT,
|
||||||
\ VimwikiDelTextT,VimwikiSuperScriptT,VimwikiSubScriptT,VimwikiCodeT
|
\ VimwikiDelTextT,VimwikiSuperScriptT,VimwikiSubScriptT,VimwikiCodeT,
|
||||||
|
\ @Spell
|
||||||
syntax match VimwikiCellSeparator
|
syntax match VimwikiCellSeparator
|
||||||
\ /\%(|\)\|\%(-\@<=+\-\@=\)\|\%([|+]\@<=-\+\)/ contained
|
\ /\%(|\)\|\%(-\@<=+\-\@=\)\|\%([|+]\@<=-\+\)/ contained
|
||||||
|
|
||||||
@ -76,35 +79,36 @@ execute 'syntax match VimwikiList /'.g:vimwiki_rxListBullet.'/'
|
|||||||
execute 'syntax match VimwikiList /'.g:vimwiki_rxListNumber.'/'
|
execute 'syntax match VimwikiList /'.g:vimwiki_rxListNumber.'/'
|
||||||
execute 'syntax match VimwikiList /'.g:vimwiki_rxListDefine.'/'
|
execute 'syntax match VimwikiList /'.g:vimwiki_rxListDefine.'/'
|
||||||
|
|
||||||
execute 'syntax match VimwikiBold /'.g:vimwiki_rxBold.'/ contains=VimwikiBoldChar'
|
execute 'syntax match VimwikiBold /'.g:vimwiki_rxBold.'/ contains=VimwikiBoldChar,@Spell'
|
||||||
execute 'syntax match VimwikiBoldT /'.g:vimwiki_rxBold.'/ contained contains=VimwikiBoldCharT'
|
execute 'syntax match VimwikiBoldT /'.g:vimwiki_rxBold.'/ contained contains=VimwikiBoldCharT,@Spell'
|
||||||
|
|
||||||
execute 'syntax match VimwikiItalic /'.g:vimwiki_rxItalic.'/ contains=VimwikiItalicChar'
|
execute 'syntax match VimwikiItalic /'.g:vimwiki_rxItalic.'/ contains=VimwikiItalicChar,@Spell'
|
||||||
execute 'syntax match VimwikiItalicT /'.g:vimwiki_rxItalic.'/ contained contains=VimwikiItalicCharT'
|
execute 'syntax match VimwikiItalicT /'.g:vimwiki_rxItalic.'/ contained contains=VimwikiItalicCharT,@Spell'
|
||||||
|
|
||||||
execute 'syntax match VimwikiBoldItalic /'.g:vimwiki_rxBoldItalic.'/ contains=VimwikiBoldItalicChar,VimwikiItalicBoldChar'
|
execute 'syntax match VimwikiBoldItalic /'.g:vimwiki_rxBoldItalic.'/ contains=VimwikiBoldItalicChar,VimwikiItalicBoldChar,@Spell'
|
||||||
execute 'syntax match VimwikiBoldItalicT /'.g:vimwiki_rxBoldItalic.'/ contained contains=VimwikiBoldItalicChatT,VimwikiItalicBoldCharT'
|
execute 'syntax match VimwikiBoldItalicT /'.g:vimwiki_rxBoldItalic.'/ contained contains=VimwikiBoldItalicChatT,VimwikiItalicBoldCharT,@Spell'
|
||||||
|
|
||||||
execute 'syntax match VimwikiItalicBold /'.g:vimwiki_rxItalicBold.'/ contains=VimwikiBoldItalicChar,VimwikiItalicBoldChar'
|
execute 'syntax match VimwikiItalicBold /'.g:vimwiki_rxItalicBold.'/ contains=VimwikiBoldItalicChar,VimwikiItalicBoldChar,@Spell'
|
||||||
execute 'syntax match VimwikiItalicBoldT /'.g:vimwiki_rxItalicBold.'/ contained contains=VimwikiBoldItalicCharT,VimsikiItalicBoldCharT'
|
execute 'syntax match VimwikiItalicBoldT /'.g:vimwiki_rxItalicBold.'/ contained contains=VimwikiBoldItalicCharT,VimsikiItalicBoldCharT,@Spell'
|
||||||
|
|
||||||
execute 'syntax match VimwikiDelText /'.g:vimwiki_rxDelText.'/ contains=VimwikiDelTextChar'
|
execute 'syntax match VimwikiDelText /'.g:vimwiki_rxDelText.'/ contains=VimwikiDelTextChar,@Spell'
|
||||||
execute 'syntax match VimwikiDelTextT /'.g:vimwiki_rxDelText.'/ contained contains=VimwikiDelTextChar'
|
execute 'syntax match VimwikiDelTextT /'.g:vimwiki_rxDelText.'/ contained contains=VimwikiDelTextChar,@Spell'
|
||||||
|
|
||||||
execute 'syntax match VimwikiSuperScript /'.g:vimwiki_rxSuperScript.'/ contains=VimwikiSuperScriptChar'
|
execute 'syntax match VimwikiSuperScript /'.g:vimwiki_rxSuperScript.'/ contains=VimwikiSuperScriptChar,@Spell'
|
||||||
execute 'syntax match VimwikiSuperScriptT /'.g:vimwiki_rxSuperScript.'/ contained contains=VimwikiSuperScriptCharT'
|
execute 'syntax match VimwikiSuperScriptT /'.g:vimwiki_rxSuperScript.'/ contained contains=VimwikiSuperScriptCharT,@Spell'
|
||||||
|
|
||||||
execute 'syntax match VimwikiSubScript /'.g:vimwiki_rxSubScript.'/ contains=VimwikiSubScriptChar'
|
execute 'syntax match VimwikiSubScript /'.g:vimwiki_rxSubScript.'/ contains=VimwikiSubScriptChar,@Spell'
|
||||||
execute 'syntax match VimwikiSubScriptT /'.g:vimwiki_rxSubScript.'/ contained contains=VimwikiSubScriptCharT'
|
execute 'syntax match VimwikiSubScriptT /'.g:vimwiki_rxSubScript.'/ contained contains=VimwikiSubScriptCharT,@Spell'
|
||||||
|
|
||||||
execute 'syntax match VimwikiCode /'.g:vimwiki_rxCode.'/ contains=VimwikiCodeChar'
|
execute 'syntax match VimwikiCode /'.g:vimwiki_rxCode.'/ contains=VimwikiCodeChar'
|
||||||
execute 'syntax match VimwikiCodeT /'.g:vimwiki_rxCode.'/ contained contains=VimwikiCodeCharT'
|
execute 'syntax match VimwikiCodeT /'.g:vimwiki_rxCode.'/ contained contains=VimwikiCodeCharT'
|
||||||
|
|
||||||
|
|
||||||
" <hr> horizontal rule
|
" <hr> horizontal rule
|
||||||
execute 'syntax match VimwikiHR /'.g:vimwiki_rxHR.'/'
|
execute 'syntax match VimwikiHR /'.g:vimwiki_rxHR.'/'
|
||||||
|
|
||||||
execute 'syntax region VimwikiPre start=/'.g:vimwiki_rxPreStart.
|
execute 'syntax region VimwikiPre start=/^\s*'.g:vimwiki_rxPreStart.
|
||||||
\ '/ end=/'.g:vimwiki_rxPreEnd.'/ contains=VimwikiComment'
|
\ '/ end=/^\s*'.g:vimwiki_rxPreEnd.'\s*$/ contains=@Spell'
|
||||||
|
|
||||||
" List item checkbox
|
" List item checkbox
|
||||||
syntax match VimwikiCheckBox /\[.\?\]/
|
syntax match VimwikiCheckBox /\[.\?\]/
|
||||||
@ -121,6 +125,7 @@ endif
|
|||||||
syntax match VimwikiPlaceholder /^\s*%toc\%(\s.*\)\?$/ contains=VimwikiPlaceholderParam
|
syntax match VimwikiPlaceholder /^\s*%toc\%(\s.*\)\?$/ contains=VimwikiPlaceholderParam
|
||||||
syntax match VimwikiPlaceholder /^\s*%nohtml\s*$/
|
syntax match VimwikiPlaceholder /^\s*%nohtml\s*$/
|
||||||
syntax match VimwikiPlaceholder /^\s*%title\%(\s.*\)\?$/ contains=VimwikiPlaceholderParam
|
syntax match VimwikiPlaceholder /^\s*%title\%(\s.*\)\?$/ contains=VimwikiPlaceholderParam
|
||||||
|
syntax match VimwikiPlaceholder /^\s*%template\%(\s.*\)\?$/ contains=VimwikiPlaceholderParam
|
||||||
syntax match VimwikiPlaceholderParam /\s.*/ contained
|
syntax match VimwikiPlaceholderParam /\s.*/ contained
|
||||||
|
|
||||||
" html tags
|
" html tags
|
||||||
@ -130,23 +135,44 @@ execute 'syntax match VimwikiBold #\c<b>.\{-}</b># contains=VimwikiHTMLTag'
|
|||||||
execute 'syntax match VimwikiItalic #\c<i>.\{-}</i># contains=VimwikiHTMLTag'
|
execute 'syntax match VimwikiItalic #\c<i>.\{-}</i># contains=VimwikiHTMLTag'
|
||||||
execute 'syntax match VimwikiUnderline #\c<u>.\{-}</u># contains=VimwikiHTMLTag'
|
execute 'syntax match VimwikiUnderline #\c<u>.\{-}</u># contains=VimwikiHTMLTag'
|
||||||
|
|
||||||
syntax region VimwikiComment start='<!--' end='-->'
|
execute 'syntax match VimwikiComment /'.g:vimwiki_rxComment.'/ contains=@Spell'
|
||||||
|
|
||||||
if g:vimwiki_hl_headers == 0
|
" Header levels, 1-6
|
||||||
execute 'syntax match VimwikiHeader /'.g:vimwiki_rxHeader.'/ contains=VimwikiTodo,VimwikiHeaderChar'
|
execute 'syntax match VimwikiHeader1 /'.g:vimwiki_rxH1.'/ contains=VimwikiTodo,VimwikiHeaderChar,VimwikiNoExistsLink,VimwikiLink,@Spell'
|
||||||
else
|
execute 'syntax match VimwikiHeader2 /'.g:vimwiki_rxH2.'/ contains=VimwikiTodo,VimwikiHeaderChar,VimwikiNoExistsLink,VimwikiLink,@Spell'
|
||||||
" Header levels, 1-6
|
execute 'syntax match VimwikiHeader3 /'.g:vimwiki_rxH3.'/ contains=VimwikiTodo,VimwikiHeaderChar,VimwikiNoExistsLink,VimwikiLink,@Spell'
|
||||||
execute 'syntax match VimwikiHeader1 /'.g:vimwiki_rxH1.'/ contains=VimwikiTodo,VimwikiHeaderChar'
|
execute 'syntax match VimwikiHeader4 /'.g:vimwiki_rxH4.'/ contains=VimwikiTodo,VimwikiHeaderChar,VimwikiNoExistsLink,VimwikiLink,@Spell'
|
||||||
execute 'syntax match VimwikiHeader2 /'.g:vimwiki_rxH2.'/ contains=VimwikiTodo,VimwikiHeaderChar'
|
execute 'syntax match VimwikiHeader5 /'.g:vimwiki_rxH5.'/ contains=VimwikiTodo,VimwikiHeaderChar,VimwikiNoExistsLink,VimwikiLink,@Spell'
|
||||||
execute 'syntax match VimwikiHeader3 /'.g:vimwiki_rxH3.'/ contains=VimwikiTodo,VimwikiHeaderChar'
|
execute 'syntax match VimwikiHeader6 /'.g:vimwiki_rxH6.'/ contains=VimwikiTodo,VimwikiHeaderChar,VimwikiNoExistsLink,VimwikiLink,@Spell'
|
||||||
execute 'syntax match VimwikiHeader4 /'.g:vimwiki_rxH4.'/ contains=VimwikiTodo,VimwikiHeaderChar'
|
|
||||||
execute 'syntax match VimwikiHeader5 /'.g:vimwiki_rxH5.'/ contains=VimwikiTodo,VimwikiHeaderChar'
|
|
||||||
execute 'syntax match VimwikiHeader6 /'.g:vimwiki_rxH6.'/ contains=VimwikiTodo,VimwikiHeaderChar'
|
|
||||||
endif
|
|
||||||
|
|
||||||
" group names "{{{
|
" group names "{{{
|
||||||
|
|
||||||
call vimwiki#setup_colors()
|
if g:vimwiki_hl_headers == 0
|
||||||
|
hi link VimwikiHeader1 Title
|
||||||
|
hi link VimwikiHeader2 Title
|
||||||
|
hi link VimwikiHeader3 Title
|
||||||
|
hi link VimwikiHeader4 Title
|
||||||
|
hi link VimwikiHeader5 Title
|
||||||
|
hi link VimwikiHeader6 Title
|
||||||
|
else
|
||||||
|
if &background == 'light'
|
||||||
|
hi def VimwikiHeader1 guibg=bg guifg=#aa5858 gui=bold ctermfg=DarkRed term=bold cterm=bold
|
||||||
|
hi def VimwikiHeader2 guibg=bg guifg=#507030 gui=bold ctermfg=DarkGreen term=bold cterm=bold
|
||||||
|
hi def VimwikiHeader3 guibg=bg guifg=#1030a0 gui=bold ctermfg=DarkBlue term=bold cterm=bold
|
||||||
|
hi def VimwikiHeader4 guibg=bg guifg=#103040 gui=bold ctermfg=Black term=bold cterm=bold
|
||||||
|
hi def VimwikiHeader5 guibg=bg guifg=#505050 gui=bold ctermfg=Black term=bold cterm=bold
|
||||||
|
hi def VimwikiHeader6 guibg=bg guifg=#636363 gui=bold ctermfg=Black term=bold cterm=bold
|
||||||
|
else
|
||||||
|
hi def VimwikiHeader1 guibg=bg guifg=#e08090 gui=bold ctermfg=Red term=bold cterm=bold
|
||||||
|
hi def VimwikiHeader2 guibg=bg guifg=#80e090 gui=bold ctermfg=Green term=bold cterm=bold
|
||||||
|
hi def VimwikiHeader3 guibg=bg guifg=#6090e0 gui=bold ctermfg=Blue term=bold cterm=bold
|
||||||
|
hi def VimwikiHeader4 guibg=bg guifg=#c0c0f0 gui=bold ctermfg=White term=bold cterm=bold
|
||||||
|
hi def VimwikiHeader5 guibg=bg guifg=#e0e0f0 gui=bold ctermfg=White term=bold cterm=bold
|
||||||
|
hi def VimwikiHeader6 guibg=bg guifg=#f0f0f0 gui=bold ctermfg=White term=bold cterm=bold
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
hi def link VimwikiMarkers Normal
|
||||||
|
|
||||||
hi def VimwikiBold term=bold cterm=bold gui=bold
|
hi def VimwikiBold term=bold cterm=bold gui=bold
|
||||||
hi def link VimwikiBoldT VimwikiBold
|
hi def link VimwikiBoldT VimwikiBold
|
||||||
@ -164,16 +190,16 @@ hi def VimwikiUnderline gui=underline
|
|||||||
hi def link VimwikiCode PreProc
|
hi def link VimwikiCode PreProc
|
||||||
hi def link VimwikiCodeT VimwikiCode
|
hi def link VimwikiCodeT VimwikiCode
|
||||||
|
|
||||||
hi def link VimwikiNoExistsLink Error
|
|
||||||
hi def link VimwikiNoExistsLinkT VimwikiNoExistsLink
|
|
||||||
|
|
||||||
hi def link VimwikiPre PreProc
|
hi def link VimwikiPre PreProc
|
||||||
hi def link VimwikiPreT VimwikiPre
|
hi def link VimwikiPreT VimwikiPre
|
||||||
|
|
||||||
hi def link VimwikiLink Underlined
|
hi def link VimwikiNoExistsLink SpellBad
|
||||||
hi def link VimwikiLinkT Underlined
|
hi def link VimwikiNoExistsLinkT VimwikiNoExistsLink
|
||||||
|
|
||||||
hi def link VimwikiList Function
|
hi def link VimwikiLink Underlined
|
||||||
|
hi def link VimwikiLinkT VimwikiLink
|
||||||
|
|
||||||
|
hi def link VimwikiList Identifier
|
||||||
hi def link VimwikiCheckBox VimwikiList
|
hi def link VimwikiCheckBox VimwikiList
|
||||||
hi def link VimwikiCheckBoxDone Comment
|
hi def link VimwikiCheckBoxDone Comment
|
||||||
hi def link VimwikiEmoticons Character
|
hi def link VimwikiEmoticons Character
|
||||||
@ -190,33 +216,32 @@ hi def link VimwikiSubScriptT VimwikiSubScript
|
|||||||
hi def link VimwikiTodo Todo
|
hi def link VimwikiTodo Todo
|
||||||
hi def link VimwikiComment Comment
|
hi def link VimwikiComment Comment
|
||||||
|
|
||||||
hi def link VimwikiCellSeparator PreProc
|
|
||||||
|
|
||||||
hi def link VimwikiPlaceholder SpecialKey
|
hi def link VimwikiPlaceholder SpecialKey
|
||||||
hi def link VimwikiPlaceholderParam String
|
hi def link VimwikiPlaceholderParam String
|
||||||
hi def link VimwikiHTMLtag SpecialKey
|
hi def link VimwikiHTMLtag SpecialKey
|
||||||
|
|
||||||
hi def link VimwikiBoldChar VimwikiIgnore
|
hi def link VimwikiCellSeparator VimwikiMarkers
|
||||||
hi def link VimwikiItalicChar VimwikiIgnore
|
hi def link VimwikiBoldChar VimwikiMarkers
|
||||||
hi def link VimwikiBoldItalicChar VimwikiIgnore
|
hi def link VimwikiItalicChar VimwikiMarkers
|
||||||
hi def link VimwikiItalicBoldChar VimwikiIgnore
|
hi def link VimwikiBoldItalicChar VimwikiMarkers
|
||||||
hi def link VimwikiDelTextChar VimwikiIgnore
|
hi def link VimwikiItalicBoldChar VimwikiMarkers
|
||||||
hi def link VimwikiSuperScriptChar VimwikiIgnore
|
hi def link VimwikiDelTextChar VimwikiMarkers
|
||||||
hi def link VimwikiSubScriptChar VimwikiIgnore
|
hi def link VimwikiSuperScriptChar VimwikiMarkers
|
||||||
hi def link VimwikiCodeChar VimwikiIgnore
|
hi def link VimwikiSubScriptChar VimwikiMarkers
|
||||||
hi def link VimwikiHeaderChar VimwikiIgnore
|
hi def link VimwikiCodeChar VimwikiMarkers
|
||||||
|
hi def link VimwikiHeaderChar VimwikiMarkers
|
||||||
hi def link VimwikiLinkChar VimwikiLink
|
hi def link VimwikiLinkChar VimwikiLink
|
||||||
hi def link VimwikiNoLinkChar VimwikiNoExistsLink
|
hi def link VimwikiNoLinkChar VimwikiNoExistsLink
|
||||||
|
|
||||||
hi def link VimwikiBoldCharT VimwikiIgnore
|
hi def link VimwikiBoldCharT VimwikiMarkers
|
||||||
hi def link VimwikiItalicCharT VimwikiIgnore
|
hi def link VimwikiItalicCharT VimwikiMarkers
|
||||||
hi def link VimwikiBoldItalicCharT VimwikiIgnore
|
hi def link VimwikiBoldItalicCharT VimwikiMarkers
|
||||||
hi def link VimwikiItalicBoldCharT VimwikiIgnore
|
hi def link VimwikiItalicBoldCharT VimwikiMarkers
|
||||||
hi def link VimwikiDelTextCharT VimwikiIgnore
|
hi def link VimwikiDelTextCharT VimwikiMarkers
|
||||||
hi def link VimwikiSuperScriptCharT VimwikiIgnore
|
hi def link VimwikiSuperScriptCharT VimwikiMarkers
|
||||||
hi def link VimwikiSubScriptCharT VimwikiIgnore
|
hi def link VimwikiSubScriptCharT VimwikiMarkers
|
||||||
hi def link VimwikiCodeCharT VimwikiIgnore
|
hi def link VimwikiCodeCharT VimwikiMarkers
|
||||||
hi def link VimwikiHeaderCharT VimwikiIgnore
|
hi def link VimwikiHeaderCharT VimwikiMarkers
|
||||||
hi def link VimwikiLinkCharT VimwikiLinkT
|
hi def link VimwikiLinkCharT VimwikiLinkT
|
||||||
hi def link VimwikiNoLinkCharT VimwikiNoExistsLinkT
|
hi def link VimwikiNoLinkCharT VimwikiNoExistsLinkT
|
||||||
"}}}
|
"}}}
|
||||||
@ -227,7 +252,7 @@ let b:current_syntax="vimwiki"
|
|||||||
let nested = VimwikiGet('nested_syntaxes')
|
let nested = VimwikiGet('nested_syntaxes')
|
||||||
if !empty(nested)
|
if !empty(nested)
|
||||||
for [hl_syntax, vim_syntax] in items(nested)
|
for [hl_syntax, vim_syntax] in items(nested)
|
||||||
call vimwiki#nested_syntax(vim_syntax,
|
call vimwiki#base#nested_syntax(vim_syntax,
|
||||||
\ '^\s*{{{\%(.*[[:blank:][:punct:]]\)\?'.
|
\ '^\s*{{{\%(.*[[:blank:][:punct:]]\)\?'.
|
||||||
\ hl_syntax.'\%([[:blank:][:punct:]].*\)\?',
|
\ hl_syntax.'\%([[:blank:][:punct:]].*\)\?',
|
||||||
\ '^\s*}}}', 'VimwikiPre')
|
\ '^\s*}}}', 'VimwikiPre')
|
||||||
|
@ -81,3 +81,5 @@ let g:vimwiki_rxListDefine = '::\(\s\|$\)'
|
|||||||
" Preformatted text
|
" Preformatted text
|
||||||
let g:vimwiki_rxPreStart = '{{{'
|
let g:vimwiki_rxPreStart = '{{{'
|
||||||
let g:vimwiki_rxPreEnd = '}}}'
|
let g:vimwiki_rxPreEnd = '}}}'
|
||||||
|
|
||||||
|
let g:vimwiki_rxComment = '^\s*%%.*$'
|
||||||
|
@ -65,3 +65,5 @@ let g:vimwiki_rxListDefine = '^\%(;\|:\)\s'
|
|||||||
" Preformatted text
|
" Preformatted text
|
||||||
let g:vimwiki_rxPreStart = '<pre>'
|
let g:vimwiki_rxPreStart = '<pre>'
|
||||||
let g:vimwiki_rxPreEnd = '<\/pre>'
|
let g:vimwiki_rxPreEnd = '<\/pre>'
|
||||||
|
|
||||||
|
let g:vimwiki_rxComment = '^\s*%%.*$'
|
||||||
|
Loading…
Reference in New Issue
Block a user