diff --git a/vimwiki_0_9_4.vba b/vimwiki_0_9_5.vba similarity index 92% rename from vimwiki_0_9_4.vba rename to vimwiki_0_9_5.vba index 6404a11..3000c33 100644 --- a/vimwiki_0_9_4.vba +++ b/vimwiki_0_9_5.vba @@ -1,8 +1,804 @@ " Vimball Archiver by Charles E. Campbell, Jr., Ph.D. UseVimball finish +syntax\vimwiki.vim [[[1 +139 +" Vimwiki syntax file +" Author: Maxim Kim +" Home: http://code.google.com/p/vimwiki/ +" vim:tw=79: + +" Quit if syntax file is already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +"" use max highlighting - could be quite slow if there are too many wikifiles +if VimwikiGet('maxhi') + " Every WikiWord is nonexistent + if g:vimwiki_camel_case + execute 'syntax match wikiNoExistsWord /\%(^\|[^!]\)\zs'.g:vimwiki_word1.'/' + endif + execute 'syntax match wikiNoExistsWord /'.g:vimwiki_word2.'/' + execute 'syntax match wikiNoExistsWord /'.g:vimwiki_word3.'/' + " till we find them in vimwiki's path + call vimwiki#WikiHighlightWords() +else + " A WikiWord (unqualifiedWikiName) + execute 'syntax match wikiWord /\%(^\|[^!]\)\zs\<'.g:vimwiki_word1.'\>/' + " A [[bracketed wiki word]] + execute 'syntax match wikiWord /'.g:vimwiki_word2.'/' +endif + +execute 'syntax match wikiLink `'.g:vimwiki_rxWeblink.'`' + +" Emoticons: must come after the Textilisms, as later rules take precedence +" over earlier ones. This match is an approximation for the ~70 distinct +syntax match wikiEmoticons /\%((.)\|:[()|$@]\|:-[DOPS()\]|$@]\|;)\|:'(\)/ + +let g:vimwiki_rxTodo = '\C\%(TODO:\|DONE:\|FIXME:\|FIXED:\|XXX:\)' +execute 'syntax match wikiTodo /'. g:vimwiki_rxTodo .'/' + +" Load concrete Wiki syntax +execute 'runtime! syntax/vimwiki_'.VimwikiGet('syntax').'.vim' + +" Tables +execute 'syntax match wikiTable /'.g:vimwiki_rxTable.'/' + +execute 'syntax match wikiBold /'.g:vimwiki_rxBold.'/' + +execute 'syntax match wikiItalic /'.g:vimwiki_rxItalic.'/' + +execute 'syntax match wikiBoldItalic /'.g:vimwiki_rxBoldItalic.'/' + +execute 'syntax match wikiItalicBold /'.g:vimwiki_rxItalicBold.'/' + +execute 'syntax match wikiDelText /'.g:vimwiki_rxDelText.'/' + +execute 'syntax match wikiSuperScript /'.g:vimwiki_rxSuperScript.'/' + +execute 'syntax match wikiSubScript /'.g:vimwiki_rxSubScript.'/' + +execute 'syntax match wikiCode /'.g:vimwiki_rxCode.'/' + +"
horizontal rule +execute 'syntax match wikiHR /'.g:vimwiki_rxHR.'/' + +" List items +execute 'syntax match wikiList /'.g:vimwiki_rxListBullet.'/' +execute 'syntax match wikiList /'.g:vimwiki_rxListNumber.'/' +execute 'syntax match wikiList /'.g:vimwiki_rxListDefine.'/' + +" XXX: Think of removing this highlighting. +"============================================================================== +" +" Treat all other lines that start with spaces as PRE-formatted text. +execute 'syntax match wikiPre /'.g:vimwiki_rxPre1.'/ contains=wikiComment' +" syntax region wikiPre start=/\%(^\s\+[*#].*$\)\@' + +if !vimwiki#hl_exists("wikiHeader1") + execute 'syntax match wikiHeader /'.g:vimwiki_rxHeader.'/' +else + " Header levels, 1-6 + execute 'syntax match wikiHeader1 /'.g:vimwiki_rxH1.'/' + execute 'syntax match wikiHeader2 /'.g:vimwiki_rxH2.'/' + execute 'syntax match wikiHeader3 /'.g:vimwiki_rxH3.'/' + execute 'syntax match wikiHeader4 /'.g:vimwiki_rxH4.'/' + execute 'syntax match wikiHeader5 /'.g:vimwiki_rxH5.'/' + execute 'syntax match wikiHeader6 /'.g:vimwiki_rxH6.'/' +endif + +if !vimwiki#hl_exists("wikiHeader1") + hi def link wikiHeader Title +else + hi def link wikiHeader1 Title + hi def link wikiHeader2 Title + hi def link wikiHeader3 Title + hi def link wikiHeader4 Title + hi def link wikiHeader5 Title + hi def link wikiHeader6 Title +endif + +hi def wikiBold term=bold cterm=bold gui=bold +hi def wikiItalic term=italic cterm=italic gui=italic +hi def wikiBoldItalic term=bold cterm=bold gui=bold,italic +hi def link wikiItalicBold wikiBoldItalic + +hi def link wikiCode PreProc +hi def link wikiWord Underlined +hi def link wikiNoExistsWord Error + +hi def link wikiPre PreProc +hi def link wikiLink Underlined +hi def link wikiList Statement +" hi def link wikiList Identifier +hi def link wikiCheckBox wikiList +hi def link wikiCheckBoxDone Comment +hi def link wikiTable PreProc +hi def link wikiEmoticons Character +hi def link wikiDelText Constant +hi def link wikiSuperScript Number +hi def link wikiSubScript Number +hi def link wikiTodo Todo +hi def link wikiComment Comment + +let b:current_syntax="vimwiki" +syntax\vimwiki_default.vim [[[1 +79 +" Vimwiki syntax file +" Default syntax +" Author: Maxim Kim +" Home: http://code.google.com/p/vimwiki/ +" vim:tw=78: + +" text: *strong* +" let g:vimwiki_rxBold = '\*[^*]\+\*' +let g:vimwiki_rxBold = '\%(^\|\s\|[[:punct:]]\)\@<='. + \'\*'. + \'\([^*`[:space:]][^*`]*[^*`[:space:]]\|[^*`]\)'. + \'\*'. + \'\%([[:punct:]]\|\s\|$\)\@=' + +" text: _emphasis_ +" let g:vimwiki_rxItalic = '_[^_]\+_' +let g:vimwiki_rxItalic = '\%(^\|\s\|[[:punct:]]\)\@<='. + \'_'. + \'\([^_`[:space:]][^_`]*[^_`[:space:]]\|[^_`]\)'. + \'_'. + \'\%([[:punct:]]\|\s\|$\)\@=' + +" text: *_bold italic_* or _*italic bold*_ +let g:vimwiki_rxBoldItalic = '\%(^\|\s\|[[:punct:]]\)\@<='. + \'\*_'. + \'\([^*_`[:space:]][^*_`]*[^*_`[:space:]]\|[^*_`]\)'. + \'_\*'. + \'\%([[:punct:]]\|\s\|$\)\@=' + +let g:vimwiki_rxItalicBold = '\%(^\|\s\|[[:punct:]]\)\@<='. + \'_\*'. + \'\([^*_`[:space:]][^*_`]*[^*_`[:space:]]\|[^*_`]\)'. + \'\*_'. + \'\%([[:punct:]]\|\s\|$\)\@=' + +" text: `code` +let g:vimwiki_rxCode = '`[^`]\+`' + +" text: ~~deleted text~~ +let g:vimwiki_rxDelText = '\~\~[^~`]\+\~\~' + +" text: ^superscript^ +let g:vimwiki_rxSuperScript = '\^[^^`]\+\^' + +" text: ,,subscript,, +let g:vimwiki_rxSubScript = ',,[^,`]\+,,' + +" Header levels, 1-6 +let g:vimwiki_rxH1 = '^\s*=\{1}[^=]\+.*[^=]\+=\{1}\s*$' +let g:vimwiki_rxH2 = '^\s*=\{2}[^=]\+.*[^=]\+=\{2}\s*$' +let g:vimwiki_rxH3 = '^\s*=\{3}[^=]\+.*[^=]\+=\{3}\s*$' +let g:vimwiki_rxH4 = '^\s*=\{4}[^=]\+.*[^=]\+=\{4}\s*$' +let g:vimwiki_rxH5 = '^\s*=\{5}[^=]\+.*[^=]\+=\{5}\s*$' +let g:vimwiki_rxH6 = '^\s*=\{6}[^=]\+.*[^=]\+=\{6}\s*$' +let g:vimwiki_rxHeader = '\%('.g:vimwiki_rxH1.'\)\|'. + \ '\%('.g:vimwiki_rxH2.'\)\|'. + \ '\%('.g:vimwiki_rxH3.'\)\|'. + \ '\%('.g:vimwiki_rxH4.'\)\|'. + \ '\%('.g:vimwiki_rxH5.'\)\|'. + \ '\%('.g:vimwiki_rxH6.'\)' + +"
, horizontal rule +let g:vimwiki_rxHR = '^----.*$' + +" Tables. Each line starts and ends with '||'; each cell is separated by '||' +let g:vimwiki_rxTable = '||' + +" List items start with whitespace(s) then '*' or '#' +let g:vimwiki_rxListBullet = '^\s\+\*' +let g:vimwiki_rxListNumber = '^\s\+#' + +let g:vimwiki_rxListDefine = '::\(\s\|$\)' + +" Treat all other lines that start with spaces as PRE-formatted text. +let g:vimwiki_rxPre1 = '^\s\+[^[:blank:]*#].*$' + +" Preformatted text +let g:vimwiki_rxPreStart = '{{{' +let g:vimwiki_rxPreEnd = '}}}' +syntax\vimwiki_media.vim [[[1 +61 +" Vimwiki syntax file +" MediaWiki syntax +" Author: Maxim Kim +" Home: http://code.google.com/p/vimwiki/ +" vim:tw=78: + +" text: '''strong''' +let g:vimwiki_rxBold = "'''[^']\\+'''" + +" text: ''emphasis'' +let g:vimwiki_rxItalic = "''[^']\\+''" + +" text: '''''strong italic''''' +let g:vimwiki_rxBoldItalic = "'''''[^']\\+'''''" +let g:vimwiki_rxItalicBold = g:vimwiki_rxBoldItalic + +" text: `code` +let g:vimwiki_rxCode = '`[^`]\+`' + +" text: ~~deleted text~~ +let g:vimwiki_rxDelText = '\~\~[^~]\+\~\~' + +" text: ^superscript^ +let g:vimwiki_rxSuperScript = '\^[^^]\+\^' + +" text: ,,subscript,, +let g:vimwiki_rxSubScript = ',,[^,]\+,,' + +" Header levels, 1-6 +let g:vimwiki_rxH1 = '^\s*=\{1}[^=]\+.*[^=]\+=\{1}\s*$' +let g:vimwiki_rxH2 = '^\s*=\{2}[^=]\+.*[^=]\+=\{2}\s*$' +let g:vimwiki_rxH3 = '^\s*=\{3}[^=]\+.*[^=]\+=\{3}\s*$' +let g:vimwiki_rxH4 = '^\s*=\{4}[^=]\+.*[^=]\+=\{4}\s*$' +let g:vimwiki_rxH5 = '^\s*=\{5}[^=]\+.*[^=]\+=\{5}\s*$' +let g:vimwiki_rxH6 = '^\s*=\{6}[^=]\+.*[^=]\+=\{6}\s*$' +let g:vimwiki_rxHeader = '\%('.g:vimwiki_rxH1.'\)\|'. + \ '\%('.g:vimwiki_rxH2.'\)\|'. + \ '\%('.g:vimwiki_rxH3.'\)\|'. + \ '\%('.g:vimwiki_rxH4.'\)\|'. + \ '\%('.g:vimwiki_rxH5.'\)\|'. + \ '\%('.g:vimwiki_rxH6.'\)' + +"
, horizontal rule +let g:vimwiki_rxHR = '^----.*$' + +" Tables. Each line starts and ends with '||'; each cell is separated by '||' +let g:vimwiki_rxTable = '||' + +" Bulleted list items start with whitespace(s), then '*' +" highlight only bullets and digits. +let g:vimwiki_rxListBullet = '^\s*\*\+\([^*]*$\)\@=' +let g:vimwiki_rxListNumber = '^\s*#\+' + +let g:vimwiki_rxListDefine = '^\%(;\|:\)\s' + +" Treat all other lines that start with spaces as PRE-formatted text. +let g:vimwiki_rxPre1 = '^\s\+[^[:blank:]*#].*$' + +" Preformatted text +let g:vimwiki_rxPreStart = '
'
+let g:vimwiki_rxPreEnd = '<\/pre>'
+ftplugin\vimwiki.vim	[[[1
+222
+" Vimwiki filetype plugin file
+" Author: Maxim Kim 
+" Home: http://code.google.com/p/vimwiki/
+
+if exists("b:did_ftplugin")
+  finish
+endif
+let b:did_ftplugin = 1  " Don't load another plugin for this buffer
+
+" UNDO list {{{
+" Reset the following options to undo this plugin.
+let b:undo_ftplugin = "setlocal wrap< linebreak< ".
+      \ "suffixesadd< isfname< comments< ".
+      \ "autowriteall< ".
+      \ "formatoptions< foldtext< ".
+      \ "foldmethod< foldexpr< commentstring< "
+" UNDO }}}
+
+" MISC STUFF {{{
+
+setlocal wrap
+setlocal linebreak
+setlocal autowriteall
+setlocal commentstring=
+" MISC }}}
+
+" GOTO FILE: gf {{{
+execute 'setlocal suffixesadd='.VimwikiGet('ext')
+setlocal isfname-=[,]
+" gf}}}
+
+" COMMENTS: autocreate list items {{{
+" for list items, and list items with checkboxes
+if VimwikiGet('syntax') == 'default'
+  setl comments=b:\ *\ [\ ],b:\ *[\ ],b:\ *\ [],b:\ *[],b:\ *\ [x],b:\ *[x]
+  setl comments+=b:\ #\ [\ ],b:\ #[\ ],b:\ #\ [],b:\ #[],b:\ #\ [x],b:\ #[x]
+  setl comments+=b:\ *,b:\ #
+else
+  setl comments=n:*\ [\ ],n:*[\ ],n:*\ [],n:*[],n:*\ [x],n:*[x]
+  setl comments+=n:#\ [\ ],n:#[\ ],n:#\ [],n:#[],n:#\ [x],n:#[x]
+  setl comments+=n:*,n:#
+endif
+setlocal formatoptions=ctnqro
+" COMMENTS }}}
+
+" FOLDING for headers and list items using expr fold method. {{{
+if VimwikiGet('folding')
+  setlocal fdm=expr
+endif
+setlocal foldexpr=VimwikiFoldLevel(v:lnum)
+function! VimwikiFoldLevel(lnum) "{{{
+  let line = getline(a:lnum)
+  let nline = getline(a:lnum + 1)
+
+  " Header folding...
+  if line =~ g:vimwiki_rxHeader
+    let n = vimwiki#count_first_sym(line)
+    return '>' . n
+  endif
+
+  if g:vimwiki_fold_empty_lines == 0
+    let nnline = getline(nextnonblank(a:lnum + 1))
+    if nnline =~ g:vimwiki_rxHeader
+      let n = vimwiki#count_first_sym(nnline)
+      return '<' . n
+    endif
+  endif
+
+  " List item folding...
+  let nnum = a:lnum + 1
+
+  let rx_list_item = '\('.
+        \ g:vimwiki_rxListBullet.'\|'.g:vimwiki_rxListNumber.
+        \ '\)'
+  if line =~ rx_list_item && nline =~ rx_list_item
+    return s:get_li_level(a:lnum, nnum)
+  " list is over, remove foldlevel
+  elseif line =~ rx_list_item && nline !~ rx_list_item
+    return s:get_li_level_last(a:lnum)
+  endif
+
+  return '='
+endfunction "}}}
+
+function! s:get_li_level(lnum, nnum) "{{{
+  if VimwikiGet('syntax') == 'media'
+    let level = s:count_first_sym(getline(a:nnum)) -
+          \ s:count_first_sym(getline(a:lnum))
+    if level > 0
+      return "a".level
+    elseif level < 0
+      return "s".abs(level)
+    else
+      return "="
+    endif
+  else
+    let level = ((indent(a:nnum) - indent(a:lnum)) / &sw)
+    if level > 0
+      return "a".level
+    elseif level < 0
+      return "s".abs(level)
+    else
+      return "="
+    endif
+  endif
+endfunction "}}}
+
+function! s:get_li_level_last(lnum) "{{{
+  if VimwikiGet('syntax') == 'media'
+    return "s".(s:count_first_sym(getline(a:lnum)) - 1)
+  else
+    return "s".(indent(a:lnum) / &sw - 1)
+  endif
+endfunction "}}}
+
+setlocal foldtext=VimwikiFoldText()
+function! VimwikiFoldText() "{{{
+  let line = getline(v:foldstart)
+  return line.' ['.(v:foldend - v:foldstart).'] '
+endfunction "}}}
+
+" FOLDING }}}
+
+" COMMANDS {{{
+command! -buffer Vimwiki2HTML
+      \ call vimwiki_html#Wiki2HTML(expand(VimwikiGet('path_html')),
+      \                             expand('%'))
+command! -buffer VimwikiAll2HTML
+      \ call vimwiki_html#WikiAll2HTML(expand(VimwikiGet('path_html')))
+
+command! -buffer VimwikiNextWord call vimwiki#WikiNextWord()
+command! -buffer VimwikiPrevWord call vimwiki#WikiPrevWord()
+command! -buffer VimwikiDeleteWord call vimwiki#WikiDeleteWord()
+command! -buffer VimwikiRenameWord call vimwiki#WikiRenameWord()
+command! -buffer VimwikiFollowWord call vimwiki#WikiFollowWord('nosplit')
+command! -buffer VimwikiGoBackWord call vimwiki#WikiGoBackWord()
+command! -buffer VimwikiSplitWord call vimwiki#WikiFollowWord('split')
+command! -buffer VimwikiVSplitWord call vimwiki#WikiFollowWord('vsplit')
+
+command! -buffer VimwikiToggleListItem call vimwiki_lst#ToggleListItem()
+" COMMANDS }}}
+
+" KEYBINDINGS {{{
+if g:vimwiki_use_mouse
+  nmap   
+  nmap   
+  noremap  <2-LeftMouse> :VimwikiFollowWord
+  noremap   :VimwikiSplitWord
+  noremap   :VimwikiVSplitWord
+  noremap   :VimwikiGoBackWord
+endif
+
+if !hasmapto('VimwikiFollowWord')
+  nmap   VimwikiFollowWord
+endif
+noremap