pull in vimwiki 2.1 from vim.org
This commit is contained in:
parent
aea5b41f44
commit
a0bd07e629
@ -441,7 +441,7 @@ function! vimwiki#base#system_open_link(url) "{{{
|
|||||||
execute '!open ' . shellescape(a:url, 1)
|
execute '!open ' . shellescape(a:url, 1)
|
||||||
endfunction
|
endfunction
|
||||||
function! s:linux_handler(url)
|
function! s:linux_handler(url)
|
||||||
execute 'silent !xdg-open ' . shellescape(a:url, 1)
|
call system('xdg-open ' . shellescape(a:url, 1).' &')
|
||||||
endfunction
|
endfunction
|
||||||
let success = 0
|
let success = 0
|
||||||
try
|
try
|
||||||
@ -549,7 +549,7 @@ endfunction "}}}
|
|||||||
function! vimwiki#base#backlinks() "{{{
|
function! vimwiki#base#backlinks() "{{{
|
||||||
execute 'lvimgrep "\%(^\|[[:blank:][:punct:]]\)'.
|
execute 'lvimgrep "\%(^\|[[:blank:][:punct:]]\)'.
|
||||||
\ expand("%:t:r").
|
\ expand("%:t:r").
|
||||||
\ '\([[:blank:][:punct:]]\|$\)" '.
|
\ '\([[:blank:][:punct:]]\|$\)\C" '.
|
||||||
\ escape(VimwikiGet('path').'**/*'.VimwikiGet('ext'), ' ')
|
\ escape(VimwikiGet('path').'**/*'.VimwikiGet('ext'), ' ')
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
@ -639,7 +639,7 @@ function! vimwiki#base#edit_file(command, filename, ...) "{{{
|
|||||||
" then
|
" then
|
||||||
" [[test*file]]...
|
" [[test*file]]...
|
||||||
" you'll have E77: Too many file names
|
" you'll have E77: Too many file names
|
||||||
let fname = escape(a:filename, '% *|')
|
let fname = escape(a:filename, '% *|#')
|
||||||
let dir = fnamemodify(a:filename, ":p:h")
|
let dir = fnamemodify(a:filename, ":p:h")
|
||||||
if vimwiki#base#mkdir(dir, 1)
|
if vimwiki#base#mkdir(dir, 1)
|
||||||
execute a:command.' '.fname
|
execute a:command.' '.fname
|
||||||
|
@ -4,7 +4,15 @@
|
|||||||
" Author: Maxim Kim <habamax@gmail.com>
|
" Author: Maxim Kim <habamax@gmail.com>
|
||||||
" Home: http://code.google.com/p/vimwiki/
|
" Home: http://code.google.com/p/vimwiki/
|
||||||
|
|
||||||
" XXX: This file should be refactored!
|
" TODO: We need vimwiki abstract syntax tree. If properly designed it wourld
|
||||||
|
" greatly symplify different syntax to HTML generation.
|
||||||
|
"
|
||||||
|
" vimwiki -- --> PDF
|
||||||
|
" \ /
|
||||||
|
" markdown -----> AST -----> HTML
|
||||||
|
" / \
|
||||||
|
" mediawiki -- --> Latex
|
||||||
|
"
|
||||||
|
|
||||||
" Load only once {{{
|
" Load only once {{{
|
||||||
if exists("g:loaded_vimwiki_html_auto") || &cp
|
if exists("g:loaded_vimwiki_html_auto") || &cp
|
||||||
@ -137,22 +145,12 @@ endfunction "}}}
|
|||||||
|
|
||||||
function! s:safe_html(line) "{{{
|
function! s:safe_html(line) "{{{
|
||||||
" escape & < > when producing HTML text
|
" escape & < > when producing HTML text
|
||||||
" uses variables s:lt_pattern, s:gt_pattern that are
|
" s:lt_pattern, s:gt_pattern depend on g:vimwiki_valid_html_tags
|
||||||
" set in vimwiki#html#Wiki2HTML() according to g:vimwiki_valid_html_tags
|
" and are set in vimwiki#html#Wiki2HTML()
|
||||||
"" htmlize symbols: < > &
|
|
||||||
|
|
||||||
let line = substitute(a:line, '&', '\&', 'g')
|
let line = substitute(a:line, '&', '\&', 'g')
|
||||||
" the following depends on g:vimwiki_valid_html_tags
|
|
||||||
let line = substitute(line,s:lt_pattern,'\<', 'g')
|
let line = substitute(line,s:lt_pattern,'\<', 'g')
|
||||||
let line = substitute(line,s:gt_pattern,'\>', 'g')
|
let line = substitute(line,s:gt_pattern,'\>', 'g')
|
||||||
|
|
||||||
"let tags = join(split(g:vimwiki_valid_html_tags, '\s*,\s*'), '\|')
|
|
||||||
"let line = substitute(line,'<\%(/\?\%('
|
|
||||||
" \.tags.'\)\%(\s\{-1}\S\{-}\)\{-}/\?>\)\@!',
|
|
||||||
" \'\<', 'g')
|
|
||||||
"let line = substitute(line,'\%(</\?\%('
|
|
||||||
" \.tags.'\)\%(\s\{-1}\S\{-}\)\{-}/\?\)\@<!>',
|
|
||||||
" \'\>', 'g')
|
|
||||||
return line
|
return line
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
@ -456,11 +454,10 @@ function! s:tag_wikilink(value) "{{{
|
|||||||
if g:vimwiki_debug > 1
|
if g:vimwiki_debug > 1
|
||||||
echom '[[idx='.idx.', scheme='.scheme.', path='.path.', subdir='.subdir.', lnk='.lnk.', ext='.ext.']]'
|
echom '[[idx='.idx.', scheme='.scheme.', path='.path.', subdir='.subdir.', lnk='.lnk.', ext='.ext.']]'
|
||||||
endif
|
endif
|
||||||
let url = escape(url, '#')
|
|
||||||
let line = vimwiki#html#linkify_link(url, descr)
|
let line = vimwiki#html#linkify_link(url, descr)
|
||||||
return line
|
return line
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
"}}} v1.3 links
|
"}}}
|
||||||
|
|
||||||
|
|
||||||
function! s:tag_remove_internal_link(value) "{{{
|
function! s:tag_remove_internal_link(value) "{{{
|
||||||
@ -1352,13 +1349,17 @@ endfunction " }}}
|
|||||||
|
|
||||||
function! vimwiki#html#CustomWiki2HTML(path, wikifile, force) "{{{
|
function! vimwiki#html#CustomWiki2HTML(path, wikifile, force) "{{{
|
||||||
call vimwiki#base#mkdir(a:path)
|
call vimwiki#base#mkdir(a:path)
|
||||||
execute '!'.VimwikiGet('custom_wiki2html'). ' '
|
echomsg system(VimwikiGet('custom_wiki2html'). ' '.
|
||||||
\ a:force. ' '.
|
\ a:force. ' '.
|
||||||
\ VimwikiGet('syntax'). ' '.
|
\ VimwikiGet('syntax'). ' '.
|
||||||
\ strpart(VimwikiGet('ext'), 1). ' '.
|
\ strpart(VimwikiGet('ext'), 1). ' '.
|
||||||
\ a:path. ' '.
|
\ shellescape(a:path, 1). ' '.
|
||||||
\ a:wikifile. ' '.
|
\ shellescape(a:wikifile, 1). ' '.
|
||||||
\ s:default_CSS_full_name(a:path)
|
\ shellescape(s:default_CSS_full_name(a:path), 1). ' '.
|
||||||
|
\ (len(VimwikiGet('template_path')) > 1 ? shellescape(expand(VimwikiGet('template_path')), 1) : '-'). ' '.
|
||||||
|
\ (len(VimwikiGet('template_default')) > 0 ? VimwikiGet('template_default') : '-'). ' '.
|
||||||
|
\ (len(VimwikiGet('template_ext')) > 0 ? VimwikiGet('template_ext') : '-'). ' '.
|
||||||
|
\ (len(VimwikiGet('subdir')) > 0 ? shellescape(s:root_path(VimwikiGet('subdir')), 1) : '-'))
|
||||||
endfunction " }}}
|
endfunction " }}}
|
||||||
|
|
||||||
function! vimwiki#html#Wiki2HTML(path_html, wikifile) "{{{
|
function! vimwiki#html#Wiki2HTML(path_html, wikifile) "{{{
|
||||||
@ -1415,8 +1416,8 @@ function! vimwiki#html#Wiki2HTML(path_html, wikifile) "{{{
|
|||||||
let s:gt_pattern = '>'
|
let s:gt_pattern = '>'
|
||||||
if g:vimwiki_valid_html_tags != ''
|
if g:vimwiki_valid_html_tags != ''
|
||||||
let tags = join(split(g:vimwiki_valid_html_tags, '\s*,\s*'), '\|')
|
let tags = join(split(g:vimwiki_valid_html_tags, '\s*,\s*'), '\|')
|
||||||
let s:lt_pattern = '<\%(/\?\%('.tags.'\)\%(\s\{-1}\S\{-}\)\{-}/\?>\)\@!'
|
let s:lt_pattern = '\c<\%(/\?\%('.tags.'\)\%(\s\{-1}\S\{-}\)\{-}/\?>\)\@!'
|
||||||
let s:gt_pattern = '\%(</\?\%('.tags.'\)\%(\s\{-1}\S\{-}\)\{-}/\?\)\@<!>'
|
let s:gt_pattern = '\c\%(</\?\%('.tags.'\)\%(\s\{-1}\S\{-}\)\{-}/\?\)\@<!>'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
for line in lsource
|
for line in lsource
|
||||||
@ -1566,7 +1567,7 @@ function! vimwiki#html#WikiAll2HTML(path_html) "{{{
|
|||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:file_exists(fname) "{{{
|
function! s:file_exists(fname) "{{{
|
||||||
return !empty(getftype(a:fname))
|
return !empty(getftype(expand(a:fname)))
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
" uses VimwikiGet('path')
|
" uses VimwikiGet('path')
|
||||||
|
@ -16,10 +16,13 @@ let g:loaded_vimwiki_tbl_auto = 1
|
|||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
let s:textwidth = &tw
|
let s:textwidth = &tw
|
||||||
let s:rxSep = g:vimwiki_rxTableSep
|
|
||||||
|
|
||||||
|
|
||||||
" Misc functions {{{
|
" Misc functions {{{
|
||||||
|
function! s:rxSep() "{{{
|
||||||
|
return g:vimwiki_rxTableSep
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:wide_len(str) "{{{
|
function! s:wide_len(str) "{{{
|
||||||
" vim73 has new function that gives correct string width.
|
" vim73 has new function that gives correct string width.
|
||||||
if exists("*strdisplaywidth")
|
if exists("*strdisplaywidth")
|
||||||
@ -43,36 +46,36 @@ function! s:wide_len(str) "{{{
|
|||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:cell_splitter() "{{{
|
function! s:cell_splitter() "{{{
|
||||||
return '\s*'.s:rxSep.'\s*'
|
return '\s*'.s:rxSep().'\s*'
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:sep_splitter() "{{{
|
function! s:sep_splitter() "{{{
|
||||||
return '-'.s:rxSep.'-'
|
return '-'.s:rxSep().'-'
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:is_table(line) "{{{
|
function! s:is_table(line) "{{{
|
||||||
return s:is_separator(a:line) || (a:line !~ s:rxSep.s:rxSep && a:line =~ '^\s*'.s:rxSep.'.\+'.s:rxSep.'\s*$')
|
return s:is_separator(a:line) || (a:line !~ s:rxSep().s:rxSep() && a:line =~ '^\s*'.s:rxSep().'.\+'.s:rxSep().'\s*$')
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:is_separator(line) "{{{
|
function! s:is_separator(line) "{{{
|
||||||
return a:line =~ '^\s*'.s:rxSep.'\(--\+'.s:rxSep.'\)\+\s*$'
|
return a:line =~ '^\s*'.s:rxSep().'\(--\+'.s:rxSep().'\)\+\s*$'
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:is_separator_tail(line) "{{{
|
function! s:is_separator_tail(line) "{{{
|
||||||
return a:line =~ '^\{-1}\%(\s*\|-*\)\%('.s:rxSep.'-\+\)\+'.s:rxSep.'\s*$'
|
return a:line =~ '^\{-1}\%(\s*\|-*\)\%('.s:rxSep().'-\+\)\+'.s:rxSep().'\s*$'
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:is_last_column(lnum, cnum) "{{{
|
function! s:is_last_column(lnum, cnum) "{{{
|
||||||
let line = strpart(getline(a:lnum), a:cnum - 1)
|
let line = strpart(getline(a:lnum), a:cnum - 1)
|
||||||
"echomsg "DEBUG is_last_column> ".(line =~ s:rxSep.'\s*$' && line !~ s:rxSep.'.*'.s:rxSep.'\s*$')
|
"echomsg "DEBUG is_last_column> ".(line =~ s:rxSep().'\s*$' && line !~ s:rxSep().'.*'.s:rxSep().'\s*$')
|
||||||
return line =~ s:rxSep.'\s*$' && line !~ s:rxSep.'.*'.s:rxSep.'\s*$'
|
return line =~ s:rxSep().'\s*$' && line !~ s:rxSep().'.*'.s:rxSep().'\s*$'
|
||||||
|
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:is_first_column(lnum, cnum) "{{{
|
function! s:is_first_column(lnum, cnum) "{{{
|
||||||
let line = strpart(getline(a:lnum), 0, a:cnum - 1)
|
let line = strpart(getline(a:lnum), 0, a:cnum - 1)
|
||||||
"echomsg "DEBUG is_first_column> ".(line =~ '^\s*'.s:rxSep && line !~ '^\s*'.s:rxSep.'.*'.s:rxSep)
|
"echomsg "DEBUG is_first_column> ".(line =~ '^\s*'.s:rxSep() && line !~ '^\s*'.s:rxSep().'.*'.s:rxSep())
|
||||||
return line =~ '^\s*$' || (line =~ '^\s*'.s:rxSep && line !~ '^\s*'.s:rxSep.'.*'.s:rxSep)
|
return line =~ '^\s*$' || (line =~ '^\s*'.s:rxSep() && line !~ '^\s*'.s:rxSep().'.*'.s:rxSep())
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:count_separators_up(lnum) "{{{
|
function! s:count_separators_up(lnum) "{{{
|
||||||
@ -100,8 +103,8 @@ function! s:count_separators_down(lnum) "{{{
|
|||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:create_empty_row(cols) "{{{
|
function! s:create_empty_row(cols) "{{{
|
||||||
let row = s:rxSep
|
let row = s:rxSep()
|
||||||
let cell = " ".s:rxSep
|
let cell = " ".s:rxSep()
|
||||||
|
|
||||||
for c in range(a:cols)
|
for c in range(a:cols)
|
||||||
let row .= cell
|
let row .= cell
|
||||||
@ -111,8 +114,8 @@ function! s:create_empty_row(cols) "{{{
|
|||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:create_row_sep(cols) "{{{
|
function! s:create_row_sep(cols) "{{{
|
||||||
let row = s:rxSep
|
let row = s:rxSep()
|
||||||
let cell = "---".s:rxSep
|
let cell = "---".s:rxSep()
|
||||||
|
|
||||||
for c in range(a:cols)
|
for c in range(a:cols)
|
||||||
let row .= cell
|
let row .= cell
|
||||||
@ -274,10 +277,10 @@ function! s:cur_column() "{{{
|
|||||||
" TODO: do we need conditional: if s:is_separator(line)
|
" TODO: do we need conditional: if s:is_separator(line)
|
||||||
|
|
||||||
let curs_pos = col('.')
|
let curs_pos = col('.')
|
||||||
let mpos = match(line, s:rxSep, 0)
|
let mpos = match(line, s:rxSep(), 0)
|
||||||
let col = -1
|
let col = -1
|
||||||
while mpos < curs_pos && mpos != -1
|
while mpos < curs_pos && mpos != -1
|
||||||
let mpos = match(line, s:rxSep, mpos+1)
|
let mpos = match(line, s:rxSep(), mpos+1)
|
||||||
if mpos != -1
|
if mpos != -1
|
||||||
let col += 1
|
let col += 1
|
||||||
endif
|
endif
|
||||||
@ -301,7 +304,7 @@ function! s:fmt_cell(cell, max_len) "{{{
|
|||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:fmt_row(line, max_lens, col1, col2) "{{{
|
function! s:fmt_row(line, max_lens, col1, col2) "{{{
|
||||||
let new_line = s:rxSep
|
let new_line = s:rxSep()
|
||||||
let cells = vimwiki#tbl#get_cells(a:line)
|
let cells = vimwiki#tbl#get_cells(a:line)
|
||||||
for idx in range(len(cells))
|
for idx in range(len(cells))
|
||||||
if idx == a:col1
|
if idx == a:col1
|
||||||
@ -310,12 +313,12 @@ function! s:fmt_row(line, max_lens, col1, col2) "{{{
|
|||||||
let idx = a:col1
|
let idx = a:col1
|
||||||
endif
|
endif
|
||||||
let value = cells[idx]
|
let value = cells[idx]
|
||||||
let new_line .= s:fmt_cell(value, a:max_lens[idx]).s:rxSep
|
let new_line .= s:fmt_cell(value, a:max_lens[idx]).s:rxSep()
|
||||||
endfor
|
endfor
|
||||||
|
|
||||||
let idx = len(cells)
|
let idx = len(cells)
|
||||||
while idx < len(a:max_lens)
|
while idx < len(a:max_lens)
|
||||||
let new_line .= s:fmt_cell('', a:max_lens[idx]).s:rxSep
|
let new_line .= s:fmt_cell('', a:max_lens[idx]).s:rxSep()
|
||||||
let idx += 1
|
let idx += 1
|
||||||
endwhile
|
endwhile
|
||||||
return new_line
|
return new_line
|
||||||
@ -330,14 +333,14 @@ function! s:fmt_cell_sep(max_len) "{{{
|
|||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:fmt_sep(max_lens, col1, col2) "{{{
|
function! s:fmt_sep(max_lens, col1, col2) "{{{
|
||||||
let new_line = s:rxSep
|
let new_line = s:rxSep()
|
||||||
for idx in range(len(a:max_lens))
|
for idx in range(len(a:max_lens))
|
||||||
if idx == a:col1
|
if idx == a:col1
|
||||||
let idx = a:col2
|
let idx = a:col2
|
||||||
elseif idx == a:col2
|
elseif idx == a:col2
|
||||||
let idx = a:col1
|
let idx = a:col1
|
||||||
endif
|
endif
|
||||||
let new_line .= s:fmt_cell_sep(a:max_lens[idx]).s:rxSep
|
let new_line .= s:fmt_cell_sep(a:max_lens[idx]).s:rxSep()
|
||||||
endfor
|
endfor
|
||||||
return new_line
|
return new_line
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
@ -349,10 +352,10 @@ function! s:kbd_create_new_row(cols, goto_first) "{{{
|
|||||||
let cmd .= "\<ESC>:call vimwiki#tbl#format(line('.'))\<CR>"
|
let cmd .= "\<ESC>:call vimwiki#tbl#format(line('.'))\<CR>"
|
||||||
let cmd .= "\<ESC>0"
|
let cmd .= "\<ESC>0"
|
||||||
if a:goto_first
|
if a:goto_first
|
||||||
let cmd .= ":call search('\\(".s:rxSep."\\)\\zs', 'c', line('.'))\<CR>"
|
let cmd .= ":call search('\\(".s:rxSep()."\\)\\zs', 'c', line('.'))\<CR>"
|
||||||
else
|
else
|
||||||
let cmd .= (col('.')-1)."l"
|
let cmd .= (col('.')-1)."l"
|
||||||
let cmd .= ":call search('\\(".s:rxSep."\\)\\zs', 'bc', line('.'))\<CR>"
|
let cmd .= ":call search('\\(".s:rxSep()."\\)\\zs', 'bc', line('.'))\<CR>"
|
||||||
endif
|
endif
|
||||||
let cmd .= "a"
|
let cmd .= "a"
|
||||||
|
|
||||||
@ -361,16 +364,16 @@ endfunction "}}}
|
|||||||
|
|
||||||
function! s:kbd_goto_next_row() "{{{
|
function! s:kbd_goto_next_row() "{{{
|
||||||
let cmd = "\<ESC>j"
|
let cmd = "\<ESC>j"
|
||||||
let cmd .= ":call search('.\\(".s:rxSep."\\)', 'c', line('.'))\<CR>"
|
let cmd .= ":call search('.\\(".s:rxSep()."\\)', 'c', line('.'))\<CR>"
|
||||||
let cmd .= ":call search('\\(".s:rxSep."\\)\\zs', 'bc', line('.'))\<CR>"
|
let cmd .= ":call search('\\(".s:rxSep()."\\)\\zs', 'bc', line('.'))\<CR>"
|
||||||
let cmd .= "a"
|
let cmd .= "a"
|
||||||
return cmd
|
return cmd
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:kbd_goto_prev_row() "{{{
|
function! s:kbd_goto_prev_row() "{{{
|
||||||
let cmd = "\<ESC>k"
|
let cmd = "\<ESC>k"
|
||||||
let cmd .= ":call search('.\\(".s:rxSep."\\)', 'c', line('.'))\<CR>"
|
let cmd .= ":call search('.\\(".s:rxSep()."\\)', 'c', line('.'))\<CR>"
|
||||||
let cmd .= ":call search('\\(".s:rxSep."\\)\\zs', 'bc', line('.'))\<CR>"
|
let cmd .= ":call search('\\(".s:rxSep()."\\)\\zs', 'bc', line('.'))\<CR>"
|
||||||
let cmd .= "a"
|
let cmd .= "a"
|
||||||
return cmd
|
return cmd
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
@ -432,7 +435,7 @@ function! s:kbd_goto_prev_col(jumpup) "{{{
|
|||||||
let cmd .= "$"
|
let cmd .= "$"
|
||||||
endif
|
endif
|
||||||
let cmd .= ":call vimwiki#tbl#goto_prev_col()\<CR>a"
|
let cmd .= ":call vimwiki#tbl#goto_prev_col()\<CR>a"
|
||||||
" let cmd .= ":call search('\\(".s:rxSep."\\)\\zs', 'b', line('.'))\<CR>"
|
" let cmd .= ":call search('\\(".s:rxSep()."\\)\\zs', 'b', line('.'))\<CR>"
|
||||||
" let cmd .= "a"
|
" let cmd .= "a"
|
||||||
"echomsg "DEBUG kbd_goto_prev_col> ".cmd
|
"echomsg "DEBUG kbd_goto_prev_col> ".cmd
|
||||||
return cmd
|
return cmd
|
||||||
@ -487,6 +490,9 @@ function! vimwiki#tbl#kbd_shift_tab() "{{{
|
|||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki#tbl#format(lnum, ...) "{{{
|
function! vimwiki#tbl#format(lnum, ...) "{{{
|
||||||
|
if !(&filetype == 'vimwiki')
|
||||||
|
return
|
||||||
|
endif
|
||||||
let line = getline(a:lnum)
|
let line = getline(a:lnum)
|
||||||
if !s:is_table(line)
|
if !s:is_table(line)
|
||||||
return
|
return
|
||||||
@ -554,6 +560,9 @@ function! vimwiki#tbl#align_or_cmd(cmd) "{{{
|
|||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki#tbl#reset_tw(lnum) "{{{
|
function! vimwiki#tbl#reset_tw(lnum) "{{{
|
||||||
|
if !(&filetype == 'vimwiki')
|
||||||
|
return
|
||||||
|
endif
|
||||||
let line = getline(a:lnum)
|
let line = getline(a:lnum)
|
||||||
if !s:is_table(line)
|
if !s:is_table(line)
|
||||||
return
|
return
|
||||||
@ -584,7 +593,7 @@ function! vimwiki#tbl#move_column_left() "{{{
|
|||||||
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)
|
||||||
|
|
||||||
let sep = '\('.s:rxSep.'\).\zs'
|
let sep = '\('.s:rxSep().'\).\zs'
|
||||||
let mpos = -1
|
let mpos = -1
|
||||||
let col = -1
|
let col = -1
|
||||||
while col < cur_col-1
|
while col < cur_col-1
|
||||||
@ -617,7 +626,7 @@ function! vimwiki#tbl#move_column_right() "{{{
|
|||||||
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)
|
||||||
|
|
||||||
let sep = '\('.s:rxSep.'\).\zs'
|
let sep = '\('.s:rxSep().'\).\zs'
|
||||||
let mpos = -1
|
let mpos = -1
|
||||||
let col = -1
|
let col = -1
|
||||||
while col < cur_col+1
|
while col < cur_col+1
|
||||||
|
117
doc/vimwiki.txt
117
doc/vimwiki.txt
@ -9,7 +9,7 @@
|
|||||||
|___| |___| |_| |_||__| |__||___| |___| |_||___| ~
|
|___| |___| |_| |_||__| |__||___| |___| |_||___| ~
|
||||||
|
|
||||||
|
|
||||||
Version: 2.0.1 'stu'
|
Version: 2.1
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
CONTENTS *vimwiki-contents*
|
CONTENTS *vimwiki-contents*
|
||||||
@ -634,7 +634,7 @@ If the Id is defined elsewhere in the source, as per the Markdown standard: >
|
|||||||
[Id]: URL
|
[Id]: URL
|
||||||
|
|
||||||
then the URL is opened with the system default handler. Otherwise, Vimwiki
|
then the URL is opened with the system default handler. Otherwise, Vimwiki
|
||||||
treats the reference-sytle link as a Wikilink, interpreting the Id field as a
|
treats the reference-style link as a Wikilink, interpreting the Id field as a
|
||||||
wiki page name.
|
wiki page name.
|
||||||
|
|
||||||
Highlighting of existing links when |vimwiki-option-maxhi| is activated
|
Highlighting of existing links when |vimwiki-option-maxhi| is activated
|
||||||
@ -1042,9 +1042,10 @@ in HTML: >
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
6. Folding/Outline *vimwiki-folding*
|
6. Folding/Outline *vimwiki-folding*
|
||||||
|
|
||||||
Vimwiki can fold or outline headers and list items.
|
Vimwiki can fold or outline sections using headers and preformatted blocks.
|
||||||
|
Alternatively, one can fold list subitems instead.
|
||||||
|
|
||||||
Example:
|
Example for list folding:
|
||||||
= My current task =
|
= My current task =
|
||||||
* [ ] Do stuff 1
|
* [ ] Do stuff 1
|
||||||
* [ ] Do substuff 1.1
|
* [ ] Do substuff 1.1
|
||||||
@ -1641,13 +1642,24 @@ The following arguments, in this order, are passed to the
|
|||||||
4. output_dir : the full path of the output directory, i.e. 'path_html'
|
4. output_dir : the full path of the output directory, i.e. 'path_html'
|
||||||
5. input_file : the full path of the wiki page
|
5. input_file : the full path of the wiki page
|
||||||
6. css_file : the full path of the css file for this wiki
|
6. css_file : the full path of the css file for this wiki
|
||||||
|
7. template_path : the full path to the wiki's templates
|
||||||
|
8. template_default : the default template name
|
||||||
|
9. template_ext : the extension of template files
|
||||||
|
10. root_path : a count of ../ for pages buried in subdirs
|
||||||
|
if you have wikilink [[dir1/dir2/dir3/my page in a subdir]] then
|
||||||
|
%root_path% is replaced by '../../../'.
|
||||||
|
|
||||||
|
Options 7-10 are experimental and may change in the future. If any of these
|
||||||
|
parameters is empty, then a hyphen "-" is passed to the script in its place.
|
||||||
|
|
||||||
For an example and further instructions, refer to the following script:
|
For an example and further instructions, refer to the following script:
|
||||||
|
|
||||||
$VIMHOME/autoload/vimwiki/customwiki2html.sh
|
$VIMHOME/autoload/vimwiki/customwiki2html.sh
|
||||||
|
|
||||||
To use the internal wiki2html converter, use an empty string (the default).
|
An alternative converter was developed by Jason6Anderson, and can
|
||||||
|
be located at http://code.google.com/p/vimwiki/issues/detail?id=384
|
||||||
|
|
||||||
|
To use the internal wiki2html converter, use an empty string (the default).
|
||||||
|
|
||||||
*vimwiki-option-list_margin*
|
*vimwiki-option-list_margin*
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
@ -1736,7 +1748,7 @@ An extension that is registered with vimwiki can trigger creation of a
|
|||||||
|g:vimwiki_list| are automatically registered with vimwiki using the default
|
|g:vimwiki_list| are automatically registered with vimwiki using the default
|
||||||
syntax.
|
syntax.
|
||||||
|
|
||||||
Default: {'.md': 'markdown'}
|
Default: {}
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
*g:vimwiki_auto_checkbox*
|
*g:vimwiki_auto_checkbox*
|
||||||
@ -1796,26 +1808,22 @@ Default: 0
|
|||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
*g:vimwiki_folding*
|
*g:vimwiki_folding*
|
||||||
|
|
||||||
Enable/disable vimwiki's folding/outline functionality. Folding in vimwiki
|
Enable/disable vimwiki's folding (outline) functionality. Folding in vimwiki
|
||||||
uses the 'expr' foldmethod which is very flexible but really slow.
|
can uses either the 'expr' or the 'syntax' |foldmethod| of Vim.
|
||||||
|
|
||||||
Value Description~
|
Value Description~
|
||||||
0 Disable folding.
|
'' Disable folding.
|
||||||
1 Enable folding.
|
'expr' Folding based on expression (folds sections and code blocks).
|
||||||
|
'syntax' Folding based on syntax (folds sections; slower than 'expr').
|
||||||
|
'list' Folding based on expression (folds list subitems; much slower).
|
||||||
|
|
||||||
Default: 0
|
Default: ''
|
||||||
|
|
||||||
|
Limitations:
|
||||||
------------------------------------------------------------------------------
|
- Opening very large files may be slow when folding is enabled.
|
||||||
*g:vimwiki_fold_lists*
|
- 'list' folding is particularly slow with larger files.
|
||||||
|
- 'list' is intended to work with lists nicely indented with 'shiftwidth'.
|
||||||
Enable/disable folding of list subitems.
|
- 'syntax' is only available for the default syntax so far.
|
||||||
|
|
||||||
Value Description~
|
|
||||||
0 Disable list subitem's folding.
|
|
||||||
1 Enable list subitem's folding.
|
|
||||||
|
|
||||||
Default: 0
|
|
||||||
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
@ -2068,7 +2076,7 @@ Default: '' (empty)
|
|||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
*g:vimwiki_valid_html_tags*
|
*g:vimwiki_valid_html_tags*
|
||||||
|
|
||||||
Comma-separated list of HTML tags that can be used in vimwiki.
|
Case-insensitive comma separated list of HTML tags that can be used in vimwiki.
|
||||||
|
|
||||||
Default: 'b,i,s,u,sub,sup,kbd,br,hr'
|
Default: 'b,i,s,u,sub,sup,kbd,br,hr'
|
||||||
|
|
||||||
@ -2097,30 +2105,46 @@ a new tab or window, it would be set to default value.
|
|||||||
Vimwiki sets |conceallevel| to g:vimwiki_conceallevel everytime vimwiki buffer
|
Vimwiki sets |conceallevel| to g:vimwiki_conceallevel everytime vimwiki buffer
|
||||||
is entered.
|
is entered.
|
||||||
|
|
||||||
|
With default settings, Vimwiki conceals one-character markers, shortens long
|
||||||
|
URLs and hides markers and URL for links that have a description.
|
||||||
|
|
||||||
Default: 2
|
Default: 2
|
||||||
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
*g:vimwiki_url_mingain*
|
*g:vimwiki_autowriteall*
|
||||||
|
|
||||||
The minimum number of characters that should be gained by concealing URLs. If
|
In vim |autowriteall| is a global setting. With g:vimwiki_autowriteall vimwiki
|
||||||
the length of the concealed part of the URL would be less than
|
makes it local to its buffers.
|
||||||
|g:vimwiki_url_mingain|, the URL is not concealed at all.
|
|
||||||
The conceal feature works only with vim >= 7.3.
|
|
||||||
|
|
||||||
Default: 12
|
Value Description~
|
||||||
|
0 autowriteall is off
|
||||||
|
1 autowriteall is on
|
||||||
|
|
||||||
|
Default: 1
|
||||||
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
*g:vimwiki_url_maxsave*
|
*g:vimwiki_url_maxsave*
|
||||||
|
|
||||||
The maximum number of characters that is retained at the end after concealing
|
Setting the value of |g:vimwiki_url_maxsave| to 0 will prevent any link
|
||||||
URLs. At most there will be |g:vimwiki_url_maxsave| characters left at the end of the URL.
|
shortening: you will see the full URL in all types of links, with no parts
|
||||||
However, it could be less when one of /,#,? can be found at the end.
|
being concealed. Concealing of one-character markers is not affected.
|
||||||
In that case the URL will be concealed right before the last occurrence of one
|
|
||||||
of these characters.
|
When positive, the value determines the maximum number of characters that
|
||||||
The conceal feature works only with vim >= 7.3. Beware: when using the default
|
are retained at the end after concealing the middle part of a long URL.
|
||||||
'wrap' option, the effect is not always pleasing.
|
It could be less: in case one of the characters /,#,? is found near the end,
|
||||||
|
the URL will be concealed up to the last occurrence of that character.
|
||||||
|
|
||||||
|
Note:
|
||||||
|
* The conceal feature works only with Vim >= 7.3.
|
||||||
|
* When using the default |wrap| option of Vim, the effect of concealed links
|
||||||
|
is not always pleasing, because the visible text on longer lines with
|
||||||
|
a lot of concealed parts may appear to be strangely broken across several
|
||||||
|
lines. This is a limitation of Vim's |conceal| feature.
|
||||||
|
* Many color schemes do not define an unobtrusive color for the Conceal
|
||||||
|
highlight group - this might be quite noticeable on shortened URLs.
|
||||||
|
|
||||||
|
|
||||||
Default: 15
|
Default: 15
|
||||||
|
|
||||||
@ -2137,6 +2161,7 @@ Value Description~
|
|||||||
|
|
||||||
Default: 0
|
Default: 0
|
||||||
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
*g:vimwiki_diary_months*
|
*g:vimwiki_diary_months*
|
||||||
|
|
||||||
@ -2186,6 +2211,22 @@ Vim plugins: http://www.vim.org/scripts/script.php?script_id=2226
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
14. Changelog *vimwiki-changelog*
|
14. Changelog *vimwiki-changelog*
|
||||||
|
|
||||||
|
2.1~
|
||||||
|
|
||||||
|
* Concealing of links can be turned off - set |g:vimwiki_url_maxsave| to 0.
|
||||||
|
The option g:vimwiki_url_mingain was removed
|
||||||
|
* |g:vimwiki_folding| also accepts value 'list'; with 'expr' both sections
|
||||||
|
and code blocks folded, g:vimwiki_fold_lists option was removed
|
||||||
|
* Issue 261: Syntax folding is back. |g:vimwiki_folding| values are
|
||||||
|
changed to '', 'expr', 'syntax'.
|
||||||
|
* Issue 372: Ignore case in g:vimwiki_valid_html_tags
|
||||||
|
* Issue 374: Make autowriteall local to vimwiki. It is not 100% local
|
||||||
|
though.
|
||||||
|
* Issue 384: Custom_wiki2html script now receives templating arguments
|
||||||
|
* Issue 393: Custom_wiki2html script path can contain tilde character
|
||||||
|
* Issue 392: Custom_wiki2html arguments are quoted, e.g names with spaces
|
||||||
|
* Various small bug fixes.
|
||||||
|
|
||||||
2.0.1 'stu'~
|
2.0.1 'stu'~
|
||||||
|
|
||||||
* Follow (i.e. open target of) markdown reference-style links.
|
* Follow (i.e. open target of) markdown reference-style links.
|
||||||
@ -2195,7 +2236,7 @@ Vim plugins: http://www.vim.org/scripts/script.php?script_id=2226
|
|||||||
2.0 'stu'~
|
2.0 'stu'~
|
||||||
|
|
||||||
This release is partly incompatible with previous.
|
This release is partly incompatible with previous.
|
||||||
*
|
|
||||||
Summary ~
|
Summary ~
|
||||||
|
|
||||||
* Quick page-link creation.
|
* Quick page-link creation.
|
||||||
@ -2221,7 +2262,7 @@ Summary ~
|
|||||||
* Table syntax change. Row separator uses | instead of +.
|
* Table syntax change. Row separator uses | instead of +.
|
||||||
* Fold multilined list items.
|
* Fold multilined list items.
|
||||||
* Custom wiki to HTML converters. See |vimwiki-option-custom_wiki2html|.
|
* Custom wiki to HTML converters. See |vimwiki-option-custom_wiki2html|.
|
||||||
* Conceal long weblinks. See |g:vimwiki_url_mingain|.
|
* Conceal long weblinks. See g:vimwiki_url_mingain.
|
||||||
* Option to disable table mappings. See |g:vimwiki_table_mappings|.
|
* Option to disable table mappings. See |g:vimwiki_table_mappings|.
|
||||||
|
|
||||||
For detailed information see issues list on
|
For detailed information see issues list on
|
||||||
|
@ -12,18 +12,16 @@ let b:did_ftplugin = 1 " Don't load another plugin for this buffer
|
|||||||
" Reset the following options to undo this plugin.
|
" Reset the following options to undo this plugin.
|
||||||
let b:undo_ftplugin = "setlocal ".
|
let b:undo_ftplugin = "setlocal ".
|
||||||
\ "suffixesadd< isfname< comments< ".
|
\ "suffixesadd< isfname< comments< ".
|
||||||
\ "autowriteall< ".
|
|
||||||
\ "formatoptions< foldtext< ".
|
\ "formatoptions< foldtext< ".
|
||||||
\ "foldmethod< foldexpr< commentstring< "
|
\ "foldmethod< foldexpr< commentstring< "
|
||||||
" UNDO }}}
|
" UNDO }}}
|
||||||
|
|
||||||
" MISC STUFF {{{
|
" MISC STUFF {{{
|
||||||
|
|
||||||
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 &l:conceallevel = g:vimwiki_conceallevel
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" MISC }}}
|
" MISC }}}
|
||||||
@ -63,56 +61,8 @@ endif
|
|||||||
" COMMENTS }}}
|
" COMMENTS }}}
|
||||||
|
|
||||||
" FOLDING for headers and list items using expr fold method. {{{
|
" FOLDING for headers and list items using expr fold method. {{{
|
||||||
function! VimwikiFoldLevel(lnum) "{{{
|
|
||||||
let line = getline(a:lnum)
|
|
||||||
|
|
||||||
" Header folding...
|
" Folding list items using expr fold method. {{{
|
||||||
if line =~ g:vimwiki_rxHeader
|
|
||||||
let n = vimwiki#u#count_first_sym(line)
|
|
||||||
return '>'.n
|
|
||||||
endif
|
|
||||||
|
|
||||||
let base_level = s:get_base_level(a:lnum)
|
|
||||||
|
|
||||||
" List item folding...
|
|
||||||
if g:vimwiki_fold_lists
|
|
||||||
let nnline = getline(a:lnum + 1)
|
|
||||||
|
|
||||||
let rx_list_item = '\('.
|
|
||||||
\ g:vimwiki_rxListBullet.'\|'.g:vimwiki_rxListNumber.
|
|
||||||
\ '\)'
|
|
||||||
|
|
||||||
|
|
||||||
if line =~ rx_list_item
|
|
||||||
let [nnum, nline] = s:find_forward(rx_list_item, a:lnum)
|
|
||||||
let level = s:get_li_level(a:lnum)
|
|
||||||
let leveln = s:get_li_level(nnum)
|
|
||||||
let adj = s:get_li_level(s:get_start_list(rx_list_item, a:lnum))
|
|
||||||
|
|
||||||
if leveln > level
|
|
||||||
return ">".(base_level+leveln-adj)
|
|
||||||
" check if multilined list item
|
|
||||||
elseif (nnum-a:lnum) > 1
|
|
||||||
\ && nline =~ rx_list_item && nnline !~ '^\s*$'
|
|
||||||
return ">".(base_level+level+1-adj)
|
|
||||||
else
|
|
||||||
return (base_level+level-adj)
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
" process multilined list items
|
|
||||||
let [pnum, pline] = s:find_backward(rx_list_item, a:lnum)
|
|
||||||
if pline =~ rx_list_item
|
|
||||||
if indent(a:lnum) >= indent(pnum) && line !~ '^\s*$'
|
|
||||||
let level = s:get_li_level(pnum)
|
|
||||||
let adj = s:get_li_level(s:get_start_list(rx_list_item, pnum))
|
|
||||||
return (base_level+level+1-adj)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
return base_level
|
|
||||||
endfunction "}}}
|
|
||||||
|
|
||||||
function! s:get_base_level(lnum) "{{{
|
function! s:get_base_level(lnum) "{{{
|
||||||
let lnum = a:lnum - 1
|
let lnum = a:lnum - 1
|
||||||
@ -177,12 +127,126 @@ function! s:get_start_list(rx_item, lnum) "{{{
|
|||||||
return 0
|
return 0
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! VimwikiFoldText() "{{{
|
function! VimwikiFoldListLevel(lnum) "{{{
|
||||||
let line = substitute(getline(v:foldstart), '\t',
|
let line = getline(a:lnum)
|
||||||
\ repeat(' ', &tabstop), 'g')
|
|
||||||
return line.' ['.(v:foldend - v:foldstart).']'
|
"" XXX Disabled: Header/section folding...
|
||||||
|
"if line =~ g:vimwiki_rxHeader
|
||||||
|
" return '>'.vimwiki#u#count_first_sym(line)
|
||||||
|
"endif
|
||||||
|
|
||||||
|
"let nnline = getline(a:lnum+1)
|
||||||
|
|
||||||
|
"" Unnecessary?
|
||||||
|
"if nnline =~ g:vimwiki_rxHeader
|
||||||
|
" return '<'.vimwiki#u#count_first_sym(nnline)
|
||||||
|
"endif
|
||||||
|
"" Very slow when called on every single line!
|
||||||
|
"let base_level = s:get_base_level(a:lnum)
|
||||||
|
|
||||||
|
"FIXME does not work correctly
|
||||||
|
let base_level = 0
|
||||||
|
|
||||||
|
if line =~ g:vimwiki_rxListItem
|
||||||
|
let [nnum, nline] = s:find_forward(g:vimwiki_rxListItem, a:lnum)
|
||||||
|
let level = s:get_li_level(a:lnum)
|
||||||
|
let leveln = s:get_li_level(nnum)
|
||||||
|
let adj = s:get_li_level(s:get_start_list(g:vimwiki_rxListItem, a:lnum))
|
||||||
|
|
||||||
|
if leveln > level
|
||||||
|
return ">".(base_level+leveln-adj)
|
||||||
|
" check if multilined list item
|
||||||
|
elseif (nnum-a:lnum) > 1
|
||||||
|
\ && (nline =~ g:vimwiki_rxListItem || nnline !~ '^\s*$')
|
||||||
|
return ">".(base_level+level+1-adj)
|
||||||
|
else
|
||||||
|
return (base_level+level-adj)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
" process multilined list items
|
||||||
|
let [pnum, pline] = s:find_backward(g:vimwiki_rxListItem, a:lnum)
|
||||||
|
if pline =~ g:vimwiki_rxListItem
|
||||||
|
if indent(a:lnum) >= indent(pnum) && line !~ '^\s*$'
|
||||||
|
let level = s:get_li_level(pnum)
|
||||||
|
let adj = s:get_li_level(s:get_start_list(g:vimwiki_rxListItem, pnum))
|
||||||
|
return (base_level+level+1-adj)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
return base_level
|
||||||
|
endfunction "}}}
|
||||||
|
" Folding list items }}}
|
||||||
|
|
||||||
|
" Folding sections and code blocks using expr fold method. {{{
|
||||||
|
function! VimwikiFoldLevel(lnum) "{{{
|
||||||
|
let line = getline(a:lnum)
|
||||||
|
|
||||||
|
" Header/section folding...
|
||||||
|
if line =~ g:vimwiki_rxHeader
|
||||||
|
return '>'.vimwiki#u#count_first_sym(line)
|
||||||
|
" Code block folding...
|
||||||
|
elseif line =~ '^\s*'.g:vimwiki_rxPreStart
|
||||||
|
return 'a1'
|
||||||
|
elseif line =~ '^\s*'.g:vimwiki_rxPreEnd.'\s*$'
|
||||||
|
return 's1'
|
||||||
|
else
|
||||||
|
return "="
|
||||||
|
endif
|
||||||
|
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Constants used by VimwikiFoldText {{{
|
||||||
|
" use \u2026 and \u21b2 (or \u2424) if enc=utf-8 to save screen space
|
||||||
|
let s:ellipsis = (&enc ==? 'utf-8') ? "\u2026" : "..."
|
||||||
|
let s:ell_len = strlen(s:ellipsis)
|
||||||
|
let s:newline = (&enc ==? 'utf-8') ? "\u21b2 " : " "
|
||||||
|
let s:tolerance = 5
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
function! s:shorten_text_simple(text, len) "{{{ unused
|
||||||
|
let spare_len = a:len - len(a:text)
|
||||||
|
return (spare_len>=0) ? [a:text,spare_len] : [a:text[0:a:len].s:ellipsis, -1]
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" s:shorten_text(text, len) = [string, spare] with "spare" = len-strlen(string)
|
||||||
|
" for long enough "text", the string's length is within s:tolerance of "len"
|
||||||
|
" (so that -s:tolerance <= spare <= s:tolerance, "string" ends with s:ellipsis)
|
||||||
|
function! s:shorten_text(text, len) "{{{ returns [string, spare]
|
||||||
|
let spare_len = a:len - strlen(a:text)
|
||||||
|
if (spare_len + s:tolerance >= 0)
|
||||||
|
return [a:text, spare_len]
|
||||||
|
endif
|
||||||
|
" try to break on a space; assumes a:len-s:ell_len >= s:tolerance
|
||||||
|
let newlen = a:len - s:ell_len
|
||||||
|
let idx = strridx(a:text, ' ', newlen + s:tolerance)
|
||||||
|
let break_idx = (idx + s:tolerance >= newlen) ? idx : newlen
|
||||||
|
return [a:text[0:break_idx].s:ellipsis, newlen - break_idx]
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! VimwikiFoldText() "{{{
|
||||||
|
let line = getline(v:foldstart)
|
||||||
|
let main_text = substitute(line, '^\s*', repeat(' ',indent(v:foldstart)), '')
|
||||||
|
let fold_len = v:foldend - v:foldstart + 1
|
||||||
|
let len_text = ' ['.fold_len.'] '
|
||||||
|
if line !~ '^\s*'.g:vimwiki_rxPreStart
|
||||||
|
let [main_text, spare_len] = s:shorten_text(main_text, 50)
|
||||||
|
return main_text.len_text
|
||||||
|
else
|
||||||
|
" fold-text for code blocks: use one or two of the starting lines
|
||||||
|
let [main_text, spare_len] = s:shorten_text(main_text, 24)
|
||||||
|
let line1 = substitute(getline(v:foldstart+1), '^\s*', ' ', '')
|
||||||
|
let [content_text, spare_len] = s:shorten_text(line1, spare_len+20)
|
||||||
|
if spare_len > s:tolerance && fold_len > 3
|
||||||
|
let line2 = substitute(getline(v:foldstart+2), '^\s*', s:newline, '')
|
||||||
|
let [more_text, spare_len] = s:shorten_text(line2, spare_len+12)
|
||||||
|
let content_text .= more_text
|
||||||
|
endif
|
||||||
|
return main_text.len_text.content_text
|
||||||
|
endif
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Folding sections and code blocks }}}
|
||||||
" FOLDING }}}
|
" FOLDING }}}
|
||||||
|
|
||||||
" COMMANDS {{{
|
" COMMANDS {{{
|
||||||
|
@ -69,6 +69,8 @@ function! s:setup_buffer_leave() "{{{
|
|||||||
echom " Setup_buffer_leave g:curr_idx=".g:vimwiki_current_idx." b:curr_idx=".s:vimwiki_idx().""
|
echom " Setup_buffer_leave g:curr_idx=".g:vimwiki_current_idx." b:curr_idx=".s:vimwiki_idx().""
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
let &autowriteall = s:vimwiki_autowriteall
|
||||||
|
|
||||||
" Set up menu
|
" Set up menu
|
||||||
if g:vimwiki_menu != ""
|
if g:vimwiki_menu != ""
|
||||||
exe 'nmenu disable '.g:vimwiki_menu.'.Table'
|
exe 'nmenu disable '.g:vimwiki_menu.'.Table'
|
||||||
@ -195,13 +197,17 @@ function! s:setup_buffer_enter() "{{{
|
|||||||
" 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
|
||||||
" insist vimwiki folding here.
|
" insist vimwiki folding here.
|
||||||
if g:vimwiki_folding == 2 && &fdm != 'expr'
|
if g:vimwiki_folding == 'expr'
|
||||||
" User-defined fold-expression, and fold-text
|
|
||||||
endif
|
|
||||||
if g:vimwiki_folding == 1
|
|
||||||
setlocal fdm=expr
|
setlocal fdm=expr
|
||||||
setlocal foldexpr=VimwikiFoldLevel(v:lnum)
|
setlocal foldexpr=VimwikiFoldLevel(v:lnum)
|
||||||
setlocal foldtext=VimwikiFoldText()
|
setlocal foldtext=VimwikiFoldText()
|
||||||
|
elseif g:vimwiki_folding == 'list' || g:vimwiki_folding == 'lists'
|
||||||
|
setlocal fdm=expr
|
||||||
|
setlocal foldexpr=VimwikiFoldListLevel(v:lnum)
|
||||||
|
setlocal foldtext=VimwikiFoldText()
|
||||||
|
elseif g:vimwiki_folding == 'syntax'
|
||||||
|
setlocal fdm=syntax
|
||||||
|
setlocal foldtext=VimwikiFoldText()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" And conceal level too.
|
" And conceal level too.
|
||||||
@ -228,6 +234,10 @@ function! s:setup_buffer_reenter() "{{{
|
|||||||
if g:vimwiki_debug ==3
|
if g:vimwiki_debug ==3
|
||||||
echom " Setup_buffer_reenter g:curr_idx=".g:vimwiki_current_idx." b:curr_idx=".s:vimwiki_idx().""
|
echom " Setup_buffer_reenter g:curr_idx=".g:vimwiki_current_idx." b:curr_idx=".s:vimwiki_idx().""
|
||||||
endif
|
endif
|
||||||
|
if !exists("s:vimwiki_autowriteall")
|
||||||
|
let s:vimwiki_autowriteall = &autowriteall
|
||||||
|
endif
|
||||||
|
let &autowriteall = g:vimwiki_autowriteall
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:setup_cleared_syntax() "{{{ highlight groups that get cleared
|
function! s:setup_cleared_syntax() "{{{ highlight groups that get cleared
|
||||||
@ -372,12 +382,10 @@ let s:vimwiki_defaults.list_margin = -1
|
|||||||
call s:default('list', [s:vimwiki_defaults])
|
call s:default('list', [s:vimwiki_defaults])
|
||||||
call s:default('auto_checkbox', 1)
|
call s:default('auto_checkbox', 1)
|
||||||
call s:default('use_mouse', 0)
|
call s:default('use_mouse', 0)
|
||||||
call s:default('folding', 0)
|
call s:default('folding', '')
|
||||||
call s:default('fold_trailing_empty_lines', 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('ext2syntax', {'.md': 'markdown'}) " syntax map keyed on extension
|
call s:default('ext2syntax', {}) " syntax map keyed on extension
|
||||||
call s:default('hl_headers', 0)
|
call s:default('hl_headers', 0)
|
||||||
call s:default('hl_cb_checked', 0)
|
call s:default('hl_cb_checked', 0)
|
||||||
call s:default('list_ignore_newline', 1)
|
call s:default('list_ignore_newline', 1)
|
||||||
@ -390,11 +398,11 @@ call s:default('CJK_length', 0)
|
|||||||
call s:default('dir_link', '')
|
call s:default('dir_link', '')
|
||||||
call s:default('valid_html_tags', 'b,i,s,u,sub,sup,kbd,br,hr,div,center,strong,em')
|
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('user_htmls', '')
|
||||||
|
call s:default('autowriteall', 1)
|
||||||
|
|
||||||
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', '')
|
||||||
call s:default('conceallevel', 2)
|
call s:default('conceallevel', 2)
|
||||||
call s:default('url_mingain', 12)
|
|
||||||
call s:default('url_maxsave', 15)
|
call s:default('url_maxsave', 15)
|
||||||
call s:default('debug', 0)
|
call s:default('debug', 0)
|
||||||
|
|
||||||
|
@ -49,6 +49,9 @@ execute 'runtime! syntax/vimwiki_'.VimwikiGet('syntax').'.vim'
|
|||||||
" -------------------------------------------------------------------------
|
" -------------------------------------------------------------------------
|
||||||
let time0 = vimwiki#u#time(starttime) "XXX
|
let time0 = vimwiki#u#time(starttime) "XXX
|
||||||
|
|
||||||
|
let g:vimwiki_rxListItem = '\('.
|
||||||
|
\ g:vimwiki_rxListBullet.'\|'.g:vimwiki_rxListNumber.
|
||||||
|
\ '\)'
|
||||||
|
|
||||||
" LINKS: setup of larger regexes {{{
|
" LINKS: setup of larger regexes {{{
|
||||||
|
|
||||||
@ -65,7 +68,7 @@ let g:vimwiki_WikiLinkTemplate2 = g:vimwiki_rxWikiLinkPrefix . '__LinkUrl__'.
|
|||||||
\ g:vimwiki_rxWikiLinkSuffix
|
\ g:vimwiki_rxWikiLinkSuffix
|
||||||
"
|
"
|
||||||
let magic_chars = '.*[]\^$'
|
let magic_chars = '.*[]\^$'
|
||||||
let valid_chars = '[^\\]'
|
let valid_chars = '[^\\\]]'
|
||||||
|
|
||||||
let g:vimwiki_rxWikiLinkPrefix = escape(g:vimwiki_rxWikiLinkPrefix, magic_chars)
|
let g:vimwiki_rxWikiLinkPrefix = escape(g:vimwiki_rxWikiLinkPrefix, magic_chars)
|
||||||
let g:vimwiki_rxWikiLinkSuffix = escape(g:vimwiki_rxWikiLinkSuffix, magic_chars)
|
let g:vimwiki_rxWikiLinkSuffix = escape(g:vimwiki_rxWikiLinkSuffix, magic_chars)
|
||||||
@ -111,6 +114,8 @@ let g:vimwiki_WikiInclTemplate2 = g:vimwiki_rxWikiInclPrefix . '__LinkUrl__'.
|
|||||||
\ '__LinkDescription__'.
|
\ '__LinkDescription__'.
|
||||||
\ g:vimwiki_rxWikiInclSuffix
|
\ g:vimwiki_rxWikiInclSuffix
|
||||||
|
|
||||||
|
let valid_chars = '[^\\\}]'
|
||||||
|
|
||||||
let g:vimwiki_rxWikiInclPrefix = escape(g:vimwiki_rxWikiInclPrefix, magic_chars)
|
let g:vimwiki_rxWikiInclPrefix = escape(g:vimwiki_rxWikiInclPrefix, magic_chars)
|
||||||
let g:vimwiki_rxWikiInclSuffix = escape(g:vimwiki_rxWikiInclSuffix, magic_chars)
|
let g:vimwiki_rxWikiInclSuffix = escape(g:vimwiki_rxWikiInclSuffix, magic_chars)
|
||||||
let g:vimwiki_rxWikiInclSeparator = escape(g:vimwiki_rxWikiInclSeparator, magic_chars)
|
let g:vimwiki_rxWikiInclSeparator = escape(g:vimwiki_rxWikiInclSeparator, magic_chars)
|
||||||
@ -281,6 +286,8 @@ if g:vimwiki_symH
|
|||||||
for i in range(1,6)
|
for i in range(1,6)
|
||||||
let g:vimwiki_rxH{i}_Template = repeat(g:vimwiki_rxH, i).' __Header__ '.repeat(g:vimwiki_rxH, i)
|
let g:vimwiki_rxH{i}_Template = repeat(g:vimwiki_rxH, i).' __Header__ '.repeat(g:vimwiki_rxH, i)
|
||||||
let g:vimwiki_rxH{i} = '^\s*'.g:vimwiki_rxH.'\{'.i.'}[^'.g:vimwiki_rxH.'].*[^'.g:vimwiki_rxH.']'.g:vimwiki_rxH.'\{'.i.'}\s*$'
|
let g:vimwiki_rxH{i} = '^\s*'.g:vimwiki_rxH.'\{'.i.'}[^'.g:vimwiki_rxH.'].*[^'.g:vimwiki_rxH.']'.g:vimwiki_rxH.'\{'.i.'}\s*$'
|
||||||
|
let g:vimwiki_rxH{i}_Start = '^\s*'.g:vimwiki_rxH.'\{'.i.'}[^'.g:vimwiki_rxH.'].*[^'.g:vimwiki_rxH.']'.g:vimwiki_rxH.'\{'.i.'}\s*$'
|
||||||
|
let g:vimwiki_rxH{i}_End = '^\s*'.g:vimwiki_rxH.'\{1,'.i.'}[^'.g:vimwiki_rxH.'].*[^'.g:vimwiki_rxH.']'.g:vimwiki_rxH.'\{1,'.i.'}\s*$'
|
||||||
endfor
|
endfor
|
||||||
let g:vimwiki_rxHeader = '^\s*\('.g:vimwiki_rxH.'\{1,6}\)\zs[^'.g:vimwiki_rxH.'].*[^'.g:vimwiki_rxH.']\ze\1\s*$'
|
let g:vimwiki_rxHeader = '^\s*\('.g:vimwiki_rxH.'\{1,6}\)\zs[^'.g:vimwiki_rxH.'].*[^'.g:vimwiki_rxH.']\ze\1\s*$'
|
||||||
else
|
else
|
||||||
@ -288,6 +295,8 @@ else
|
|||||||
for i in range(1,6)
|
for i in range(1,6)
|
||||||
let g:vimwiki_rxH{i}_Template = repeat(g:vimwiki_rxH, i).' __Header__'
|
let g:vimwiki_rxH{i}_Template = repeat(g:vimwiki_rxH, i).' __Header__'
|
||||||
let g:vimwiki_rxH{i} = '^\s*'.g:vimwiki_rxH.'\{'.i.'}[^'.g:vimwiki_rxH.'].*$'
|
let g:vimwiki_rxH{i} = '^\s*'.g:vimwiki_rxH.'\{'.i.'}[^'.g:vimwiki_rxH.'].*$'
|
||||||
|
let g:vimwiki_rxH{i}_Start = '^\s*'.g:vimwiki_rxH.'\{'.i.'}[^'.g:vimwiki_rxH.'].*$'
|
||||||
|
let g:vimwiki_rxH{i}_End = '^\s*'.g:vimwiki_rxH.'\{1,'.i.'}[^'.g:vimwiki_rxH.'].*$'
|
||||||
endfor
|
endfor
|
||||||
let g:vimwiki_rxHeader = '^\s*\('.g:vimwiki_rxH.'\{1,6}\)\zs[^'.g:vimwiki_rxH.'].*\ze$'
|
let g:vimwiki_rxHeader = '^\s*\('.g:vimwiki_rxH.'\{1,6}\)\zs[^'.g:vimwiki_rxH.'].*\ze$'
|
||||||
endif
|
endif
|
||||||
@ -295,29 +304,53 @@ endif
|
|||||||
" Header levels, 1-6
|
" Header levels, 1-6
|
||||||
for i in range(1,6)
|
for i in range(1,6)
|
||||||
execute 'syntax match VimwikiHeader'.i.' /'.g:vimwiki_rxH{i}.'/ contains=VimwikiTodo,VimwikiHeaderChar,VimwikiNoExistsLink,VimwikiCode,VimwikiLink,@Spell'
|
execute 'syntax match VimwikiHeader'.i.' /'.g:vimwiki_rxH{i}.'/ contains=VimwikiTodo,VimwikiHeaderChar,VimwikiNoExistsLink,VimwikiCode,VimwikiLink,@Spell'
|
||||||
|
execute 'syntax region VimwikiH'.i.'Folding start=/'.g:vimwiki_rxH{i}_Start.
|
||||||
|
\ '/ end=/'.g:vimwiki_rxH{i}_End.'/me=s-1 transparent fold'
|
||||||
endfor
|
endfor
|
||||||
|
|
||||||
|
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
" concealed chars " {{{
|
" possibly concealed chars " {{{
|
||||||
let cchar = ''
|
let conceal = exists("+conceallevel") ? ' conceal' : ''
|
||||||
if exists("+conceallevel")
|
|
||||||
syntax conceal on
|
|
||||||
let cchar = ' cchar=~ '
|
|
||||||
endif
|
|
||||||
|
|
||||||
syntax spell toplevel
|
execute 'syn match VimwikiEqInChar contained /'.g:vimwiki_char_eqin.'/'.conceal
|
||||||
|
execute 'syn match VimwikiBoldChar contained /'.g:vimwiki_char_bold.'/'.conceal
|
||||||
|
execute 'syn match VimwikiItalicChar contained /'.g:vimwiki_char_italic.'/'.conceal
|
||||||
|
execute 'syn match VimwikiBoldItalicChar contained /'.g:vimwiki_char_bolditalic.'/'.conceal
|
||||||
|
execute 'syn match VimwikiItalicBoldChar contained /'.g:vimwiki_char_italicbold.'/'.conceal
|
||||||
|
execute 'syn match VimwikiCodeChar contained /'.g:vimwiki_char_code.'/'.conceal
|
||||||
|
execute 'syn match VimwikiDelTextChar contained /'.g:vimwiki_char_deltext.'/'.conceal
|
||||||
|
execute 'syn match VimwikiSuperScript contained /'.g:vimwiki_char_superscript.'/'.conceal
|
||||||
|
execute 'syn match VimwikiSubScript contained /'.g:vimwiki_char_subscript.'/'.conceal
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" concealed link parts " {{{
|
||||||
if g:vimwiki_debug > 1
|
if g:vimwiki_debug > 1
|
||||||
echom 'WikiLink Prefix: '.g:vimwiki_rxWikiLinkPrefix1
|
echom 'WikiLink Prefix: '.g:vimwiki_rxWikiLinkPrefix
|
||||||
echom 'WikiLink Suffix: '.g:vimwiki_rxWikiLinkSuffix1
|
echom 'WikiLink Suffix: '.g:vimwiki_rxWikiLinkSuffix
|
||||||
|
echom 'WikiLink Prefix1: '.g:vimwiki_rxWikiLinkPrefix1
|
||||||
|
echom 'WikiLink Suffix1: '.g:vimwiki_rxWikiLinkSuffix1
|
||||||
echom 'WikiIncl Prefix: '.g:vimwiki_rxWikiInclPrefix1
|
echom 'WikiIncl Prefix: '.g:vimwiki_rxWikiInclPrefix1
|
||||||
echom 'WikiIncl Suffix: '.g:vimwiki_rxWikiInclSuffix1
|
echom 'WikiIncl Suffix: '.g:vimwiki_rxWikiInclSuffix1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" define the conceal attribute for links only if Vim is new enough to handle it
|
||||||
|
" and the user has g:vimwiki_url_maxsave > 0
|
||||||
|
|
||||||
|
let options = ' contained transparent contains=NONE'
|
||||||
|
"
|
||||||
|
" A shortener for long URLs: LinkRest (a middle part of the URL) is concealed
|
||||||
|
" VimwikiLinkRest group is left undefined if link shortening is not desired
|
||||||
|
if exists("+conceallevel") && g:vimwiki_url_maxsave > 0
|
||||||
|
let options .= conceal
|
||||||
|
execute 'syn match VimwikiLinkRest `\%(///\=[^/ \t]\+/\)\zs\S\+\ze'
|
||||||
|
\.'\%([/#?]\w\|\S\{'.g:vimwiki_url_maxsave.'}\)`'.' cchar=~'.options
|
||||||
|
endif
|
||||||
|
|
||||||
" VimwikiLinkChar is for syntax markers (and also URL when a description
|
" VimwikiLinkChar is for syntax markers (and also URL when a description
|
||||||
" is present) and may be concealed
|
" is present) and may be concealed
|
||||||
let options = ' contained transparent contains=NONE'
|
|
||||||
" conceal wikilinks
|
" conceal wikilinks
|
||||||
execute 'syn match VimwikiLinkChar /'.g:vimwiki_rxWikiLinkPrefix.'/'.options
|
execute 'syn match VimwikiLinkChar /'.g:vimwiki_rxWikiLinkPrefix.'/'.options
|
||||||
execute 'syn match VimwikiLinkChar /'.g:vimwiki_rxWikiLinkSuffix.'/'.options
|
execute 'syn match VimwikiLinkChar /'.g:vimwiki_rxWikiLinkSuffix.'/'.options
|
||||||
@ -329,24 +362,6 @@ execute 'syn match VimwikiLinkChar /'.g:vimwiki_rxWikiInclPrefix.'/'.options
|
|||||||
execute 'syn match VimwikiLinkChar /'.g:vimwiki_rxWikiInclSuffix.'/'.options
|
execute 'syn match VimwikiLinkChar /'.g:vimwiki_rxWikiInclSuffix.'/'.options
|
||||||
execute 'syn match VimwikiLinkChar /'.g:vimwiki_rxWikiInclPrefix1.'/'.options
|
execute 'syn match VimwikiLinkChar /'.g:vimwiki_rxWikiInclPrefix1.'/'.options
|
||||||
execute 'syn match VimwikiLinkChar /'.g:vimwiki_rxWikiInclSuffix1.'/'.options
|
execute 'syn match VimwikiLinkChar /'.g:vimwiki_rxWikiInclSuffix1.'/'.options
|
||||||
|
|
||||||
" A shortener for long URLs: LinkRest (a middle part of the URL) is concealed
|
|
||||||
execute 'syn match VimwikiLinkRest `\%(///\=[^/ \t]\+/\)\zs\S\{'
|
|
||||||
\.g:vimwiki_url_mingain.',}\ze\%([/#?]\w\|\S\{'
|
|
||||||
\.g:vimwiki_url_maxsave.'}\)`'.cchar.options
|
|
||||||
|
|
||||||
execute 'syn match VimwikiEqInChar contained /'.g:vimwiki_char_eqin.'/'
|
|
||||||
execute 'syn match VimwikiBoldChar contained /'.g:vimwiki_char_bold.'/'
|
|
||||||
execute 'syn match VimwikiItalicChar contained /'.g:vimwiki_char_italic.'/'
|
|
||||||
execute 'syn match VimwikiBoldItalicChar contained /'.g:vimwiki_char_bolditalic.'/'
|
|
||||||
execute 'syn match VimwikiItalicBoldChar contained /'.g:vimwiki_char_italicbold.'/'
|
|
||||||
execute 'syn match VimwikiCodeChar contained /'.g:vimwiki_char_code.'/'
|
|
||||||
execute 'syn match VimwikiDelTextChar contained /'.g:vimwiki_char_deltext.'/'
|
|
||||||
execute 'syn match VimwikiSuperScript contained /'.g:vimwiki_char_superscript.'/'
|
|
||||||
execute 'syn match VimwikiSubScript contained /'.g:vimwiki_char_subscript.'/'
|
|
||||||
if exists("+conceallevel")
|
|
||||||
syntax conceal off
|
|
||||||
endif
|
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
" non concealed chars " {{{
|
" non concealed chars " {{{
|
||||||
@ -489,6 +504,7 @@ endif
|
|||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
" syntax group highlighting "{{{
|
" syntax group highlighting "{{{
|
||||||
|
|
||||||
hi def link VimwikiMarkers Normal
|
hi def link VimwikiMarkers Normal
|
||||||
@ -578,6 +594,7 @@ hi def link VimwikiNoExistsLinkCharT VimwikiNoExistsLinkT
|
|||||||
execute 'runtime! syntax/vimwiki_'.VimwikiGet('syntax').'_custom.vim'
|
execute 'runtime! syntax/vimwiki_'.VimwikiGet('syntax').'_custom.vim'
|
||||||
" -------------------------------------------------------------------------
|
" -------------------------------------------------------------------------
|
||||||
|
|
||||||
|
" FIXME it now does not make sense to pretend there is a single syntax "vimwiki"
|
||||||
let b:current_syntax="vimwiki"
|
let b:current_syntax="vimwiki"
|
||||||
|
|
||||||
" EMBEDDED syntax setup "{{{
|
" EMBEDDED syntax setup "{{{
|
||||||
@ -597,5 +614,8 @@ call vimwiki#base#nested_syntax('tex',
|
|||||||
\ '^\s*'.g:vimwiki_rxMathEnd, 'VimwikiMath')
|
\ '^\s*'.g:vimwiki_rxMathEnd, 'VimwikiMath')
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
|
|
||||||
|
syntax spell toplevel
|
||||||
|
|
||||||
let timeend = vimwiki#u#time(starttime) "XXX
|
let timeend = vimwiki#u#time(starttime) "XXX
|
||||||
call VimwikiLog_extend('timing',['syntax:scans',timescans],['syntax:regexloaded',time0],['syntax:beforeHLexisting',time01],['syntax:afterHLexisting',time02],['syntax:end',timeend])
|
call VimwikiLog_extend('timing',['syntax:scans',timescans],['syntax:regexloaded',time0],['syntax:beforeHLexisting',time01],['syntax:afterHLexisting',time02],['syntax:end',timeend])
|
||||||
|
Loading…
Reference in New Issue
Block a user