Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Version 0.5

  * DONE: vimwiki default markup to HTML conversion improved.
  * DONE: Added basic `GoogleWiki` and `MediaWiki` markup languages.
  * DONE: Chinese `[[complex wiki words]]`.
  • Loading branch information...
commit cac83654026e6fcefefd3361414c9f5a7f779bc1 1 parent 03a25a7
@habamax habamax authored committed
View
86 ftplugin/vimwiki.vim
@@ -1,86 +0,0 @@
-" Vim filetype plugin file
-" Language: Wiki
-" Author: Maxim Kim (habamax at gmail dot com)
-" Home: http://code.google.com/p/vimwiki/
-" Filenames: *.wiki
-" Last Change: (02.06.2008 12:58)
-" Version: 0.4
-
-if exists("b:did_ftplugin")
- finish
-endif
-
-let b:did_ftplugin = 1 " Don't load another plugin for this buffer
-
-
-"" Defaults
-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-
-" Reset the following options to undo this plugin.
-let b:undo_ftplugin = "setl tw< wrap< lbr< fenc< ff< sua< isf< awa< com< fo<"
-
-setlocal textwidth=0
-setlocal wrap
-setlocal linebreak
-setlocal fileencoding=utf-8
-setlocal fileformat=unix
-setlocal autowriteall
-" for gf
-execute 'setlocal suffixesadd='.g:vimwiki_ext
-setlocal isfname-=[,]
-
-if g:vimwiki_smartCR>=2
- setlocal comments=b:*,b:#
- setlocal formatoptions=ctnqro
-endif
-
-"" keybindings {{{
-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-nmap <buffer> <Up> gk
-nmap <buffer> k gk
-vmap <buffer> <Up> gk
-vmap <buffer> k gk
-
-nmap <buffer> <Down> gj
-nmap <buffer> j gj
-vmap <buffer> <Down> gj
-vmap <buffer> j gj
-
-imap <buffer> <Down> <C-o>gj
-imap <buffer> <Up> <C-o>gk
-
-nmap <silent><buffer> <CR> :call vimwiki#WikiFollowWord('nosplit')<CR>
-nmap <silent><buffer> <S-CR> :call vimwiki#WikiFollowWord('split')<CR>
-nmap <silent><buffer> <C-CR> :call vimwiki#WikiFollowWord('vsplit')<CR>
-
-nmap <buffer> <S-LeftMouse> <NOP>
-nmap <buffer> <C-LeftMouse> <NOP>
-noremap <silent><buffer> <2-LeftMouse> :call vimwiki#WikiFollowWord('nosplit')<CR>
-noremap <silent><buffer> <S-2-LeftMouse> <LeftMouse>:call vimwiki#WikiFollowWord('split')<CR>
-noremap <silent><buffer> <C-2-LeftMouse> <LeftMouse>:call vimwiki#WikiFollowWord('vsplit')<CR>
-
-nmap <silent><buffer> <BS> :call vimwiki#WikiGoBackWord()<CR>
-"<BS> mapping doesn't work in vim console
-nmap <silent><buffer> <C-h> :call vimwiki#WikiGoBackWord()<CR>
-nmap <silent><buffer> <RightMouse><LeftMouse> :call vimwiki#WikiGoBackWord()<CR>
-
-nmap <silent><buffer> <TAB> :call vimwiki#WikiNextWord()<CR>
-nmap <silent><buffer> <S-TAB> :call vimwiki#WikiPrevWord()<CR>
-
-nmap <silent><buffer> <Leader>wd :call vimwiki#WikiDeleteWord()<CR>
-nmap <silent><buffer> <Leader>wr :call vimwiki#WikiRenameWord()<CR>
-
-if g:vimwiki_smartCR==1
- inoremap <silent><buffer><CR> <CR><Space><C-O>:call vimwiki#WikiNewLine('checkup')<CR>
- noremap <silent><buffer>o o<Space><C-O>:call vimwiki#WikiNewLine('checkup')<CR>
- noremap <silent><buffer>O O<Space><C-O>:call vimwiki#WikiNewLine('checkdown')<CR>
-endif
-" keybindings }}}
-
-"" commands {{{2
-" command! -nargs=1 Wiki2HTML call WikiExportHTML(expand(<f-args>))
-command! Wiki2HTML call vimwiki#Wiki2HTML(g:vimwiki_home_html, expand('%'))
-command! WikiAll2HTML call vimwiki#WikiAll2HTML(g:vimwiki_home_html)
-
-"" commands 2}}}
-
View
59 plugin/vimwiki.vim
@@ -1,59 +0,0 @@
-" VimWiki plugin file
-" Language: Wiki
-" Author: Maxim Kim (habamax at gmail dot com)
-" Home: http://code.google.com/p/vimwiki/
-" Filenames: *.wiki
-" Last Change: (02.06.2008 12:57)
-" Version: 0.4
-
-
-if exists("loaded_vimwiki") || &cp
- finish
-endif
-let loaded_vimwiki = 1
-
-let s:save_cpo = &cpo
-set cpo&vim
-
-
-function! s:default(varname,value)
- if !exists('g:vimwiki_'.a:varname)
- let g:vimwiki_{a:varname} = a:value
- endif
-endfunction
-
-"" Could be redefined by users
-call s:default('home',"")
-call s:default('index',"index")
-call s:default('ext','.wiki')
-call s:default('upper','A-ZА-Я')
-call s:default('lower','a-zа-я')
-call s:default('maxhi','1')
-call s:default('other','0-9_')
-call s:default('smartCR',1)
-call s:default('stripsym','_')
-call s:default('home_html',g:vimwiki_home."html/")
-" call s:default('addheading','1')
-
-call s:default('history',[])
-
-let upp = g:vimwiki_upper
-let low = g:vimwiki_lower
-let oth = g:vimwiki_other
-let nup = low.oth
-let nlo = upp.oth
-let any = upp.nup
-
-let g:vimwiki_word1 = '\C\<['.upp.']['.nlo.']*['.low.']['.nup.']*['.upp.']['.any.']*\>'
-let g:vimwiki_word2 = '\[\[['.upp.low.oth.'[:punct:][:space:]]\{-}\]\]'
-
-"" TODO: common regexps for syntax hiliting
-"" regexps
-call s:default('rxWeblink', '\("[^"(]\+\((\([^)]\+\))\)\?":\)\?\(https\?\|ftp\|gopher\|telnet\|file\|notes\|ms-help\):\(\(\(//\)\|\(\\\\\)\)\+[A-Za-z0-9:#@%/;$~_?+-=.&\-\\\\]*\)')
-call s:default('rxWikiWord', g:vimwiki_word1.'\|'.g:vimwiki_word2)
-call s:default('rxCode', '`.\{-}`')
-
-execute 'autocmd! BufNewFile,BufReadPost,BufEnter *'.g:vimwiki_ext.' set ft=vimwiki'
-
-nmap <silent><unique> <Leader>ww :call vimwiki#WikiGoHome()<CR>
-nmap <silent><unique> <Leader>wh :execute "edit ".g:vimwiki_home."."<CR>
View
121 syntax/vimwiki.vim
@@ -1,121 +0,0 @@
-" Vim syntax file
-" Language: Wiki
-" Author: Maxim Kim (habamax at gmail dot com)
-" Home: http://code.google.com/p/vimwiki/
-" Filenames: *.wiki
-" Last Change: (02.06.2008 12:58)
-" Version: 0.4
-
-" 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 g:vimwiki_maxhi
- " Every WikiWord is nonexistent
- execute 'syntax match wikiNoExistsWord /'.g:vimwiki_word1.'/'
- execute 'syntax match wikiNoExistsWord /'.g:vimwiki_word2.'/'
- " till we find them in g:vimwiki_home
- call vimwiki#WikiHighlightWords()
-else
- " A WikiWord (unqualifiedWikiName)
- execute 'syntax match wikiWord /'.g:vimwiki_word1.'/'
- " A [[bracketed wiki word]]
- execute 'syntax match wikiWord /'.g:vimwiki_word2.'/'
-endif
-
-
-" text: "this is a link (optional tooltip)":http://www.microsoft.com
-" TODO: check URL syntax against RFC
-syntax match wikiLink `\("[^"(]\+\((\([^)]\+\))\)\?":\)\?\(https\?\|ftp\|gopher\|telnet\|file\|notes\|ms-help\):\(\(\(//\)\|\(\\\\\)\)\+[A-Za-z0-9:#@%/;$~_?+-=.&\-\\\\]*\)`
-
-" text: *strong*
-" syntax match wikiBold /\(^\|\W\)\zs\*\([^ ].\{-}\)\*/
-" syntax match wikiBold /\(^\|\W\)\zs\*.\{-}\*/
-syntax match wikiBold /\*.\{-}\*/
-
-" text: _emphasis_
-syntax match wikiItalic /_.\{-}_/
-
-" text: `code`
-syntax match wikiCode /`.\{-}`/
-
-" text: ~~deleted text~~
-syntax match wikiDelText /\~\{2}.\{-}\~\{2}/
-
-" text: ^superscript^
-syntax match wikiSuperScript /\^.\{-}\^/
-
-" text: ,,subscript,,
-syntax match wikiSubScript /,,.\{-},,/
-
-" Emoticons: must come after the Textilisms, as later rules take precedence
-" over earlier ones. This match is an approximation for the ~70 distinct
-" patterns that FlexWiki knows.
-syntax match wikiEmoticons /\((.)\|:[()|$@]\|:-[DOPS()\]|$@]\|;)\|:'(\)/
-
-" Aggregate all the regular text highlighting into wikiText
-syntax cluster wikiText contains=wikiItalic,wikiBold,wikiCode,wikiDelText,wikiSuperScript,wikiSubScript,wikiLink,wikiWord,wikiEmoticons
-
-" Header levels, 1-6
-syntax match wikiH1 /\(^!\{1}.*$\|^\s*=\{1}.*=\{1}\s*$\)/
-syntax match wikiH2 /\(^!\{2}.*$\|^\s*=\{2}.*=\{2}\s*$\)/
-syntax match wikiH3 /\(^!\{3}.*$\|^\s*=\{3}.*=\{3}\s*$\)/
-syntax match wikiH4 /\(^!\{4}.*$\|^\s*=\{4}.*=\{4}\s*$\)/
-syntax match wikiH5 /\(^!\{5}.*$\|^\s*=\{5}.*=\{5}\s*$\)/
-syntax match wikiH6 /\(^!\{6}.*$\|^\s*=\{6}.*=\{6}\s*$\)/
-
-" <hr>, horizontal rule
-syntax match wikiHR /^----.*$/
-
-" Tables. Each line starts and ends with '||'; each cell is separated by '||'
-syntax match wikiTable /||/
-
-" Bulleted list items start with whitespace(s), then '*'
-" syntax match wikiList /^\s\+\(\*\|[1-9]\+0*\.\).*$/ contains=@wikiText
-" highlight only bullets and digits.
-syntax match wikiList /^\s\+\(\*\|[1-9]\+0*\.\|#\)/
-
-syntax match wikiTodo /\(TODO:\|DONE:\|FIXME:\|FIXED:\)/
-
-" Treat all other lines that start with spaces as PRE-formatted text.
-syntax match wikiPre /^\s\+[^[:blank:]*#].*$/
-
-syntax region wikiPre start=/^{{{\s*$/ end=/^}}}\s*$/
-syntax sync match wikiPreSync grouphere wikiPre /^{{{\s*$/
-
-" Link FlexWiki syntax items to colors
-hi def link wikiH1 Title
-hi def link wikiH2 wikiH1
-hi def link wikiH3 wikiH2
-hi def link wikiH4 wikiH3
-hi def link wikiH5 wikiH4
-hi def link wikiH6 wikiH5
-hi def link wikiHR wikiH6
-
-hi def wikiBold term=bold cterm=bold gui=bold
-hi def wikiItalic term=italic cterm=italic gui=italic
-
-hi def link wikiCode PreProc
-hi def link wikiWord Underlined
-hi def link wikiNoExistsWord Error
-
-hi def link wikiEscape Todo
-hi def link wikiPre PreProc
-hi def link wikiLink Underlined
-hi def link wikiList Type
-hi def link wikiTable Type
-hi def link wikiEmoticons Constant
-hi def link wikiDelText Comment
-hi def link wikiInsText Constant
-hi def link wikiSuperScript Constant
-hi def link wikiSubScript Constant
-hi def link wikiCitation Constant
-hi def link wikiTodo Todo
-
-let b:current_syntax="vimwiki"
-
-" vim:tw=0:
View
833 autoload/vimwiki.vim → vimwiki_0_5.vba
@@ -1,10 +1,200 @@
+" Vimball Archiver by Charles E. Campbell, Jr., Ph.D.
+UseVimball
+finish
+plugin\vimwiki.vim [[[1
+55
" VimWiki plugin file
+" Language: Wiki
+" Author: Maxim Kim (habamax at gmail dot com)
+" Home: http://code.google.com/p/vimwiki/
+" Filenames: *.wiki
+" Last Change: [15.09.2008 - 12:07]
+" Version: 0.5
+
+
+if exists("loaded_vimwiki") || &cp
+ finish
+endif
+let loaded_vimwiki = 1
+
+let s:save_cpo = &cpo
+set cpo&vim
+
+
+function! s:default(varname,value)
+ if !exists('g:vimwiki_'.a:varname)
+ let g:vimwiki_{a:varname} = a:value
+ endif
+endfunction
+
+"" Could be redefined by users
+call s:default('home',"")
+call s:default('index',"index")
+call s:default('ext','.wiki')
+call s:default('upper','A-ZА-Я')
+call s:default('lower','a-zа-я')
+call s:default('maxhi','1')
+call s:default('other','0-9_')
+call s:default('smartCR',1)
+call s:default('stripsym','_')
+call s:default('home_html',g:vimwiki_home."html/")
+call s:default('syntax','default')
+
+call s:default('history',[])
+
+let upp = g:vimwiki_upper
+let low = g:vimwiki_lower
+let oth = g:vimwiki_other
+let nup = low.oth
+let nlo = upp.oth
+let any = upp.nup
+
+let g:vimwiki_word1 = '\C\<['.upp.']['.nlo.']*['.low.']['.nup.']*['.upp.']['.any.']*\>'
+" let g:vimwiki_word2 = '\[\[['.upp.low.oth.'[:punct:][:space:]]\{-}\]\]'
+let g:vimwiki_word2 = '\[\[[^\]]\+\]\]'
+let g:vimwiki_rxWikiWord = g:vimwiki_word1.'\|'.g:vimwiki_word2
+
+execute 'autocmd! BufNewFile,BufReadPost,BufEnter *'.g:vimwiki_ext.' set ft=vimwiki'
+
+nmap <silent><unique> <Leader>ww :call vimwiki#WikiGoHome()<CR>
+nmap <silent><unique> <Leader>wh :execute "edit ".g:vimwiki_home<CR>
+ftplugin\vimwiki.vim [[[1
+126
+" Vim filetype plugin file
" Language: Wiki
" Author: Maxim Kim (habamax at gmail dot com)
" Home: http://code.google.com/p/vimwiki/
" Filenames: *.wiki
-" Last Change: (02.06.2008 12:57)
-" Version: 0.4
+" Last Change: [15.09.2008 - 12:09]
+" Version: 0.5
+
+if exists("b:did_ftplugin")
+ finish
+endif
+
+let b:did_ftplugin = 1 " Don't load another plugin for this buffer
+
+
+"" Defaults
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+" Reset the following options to undo this plugin.
+let b:undo_ftplugin = "setl tw< wrap< lbr< fenc< ff< sua< isf< awa< com< fo< fdt< fdm< fde<"
+
+setlocal textwidth=0
+setlocal wrap
+setlocal linebreak
+setlocal fileencoding=utf-8
+setlocal fileformat=unix
+setlocal autowriteall
+" for gf
+execute 'setlocal suffixesadd='.g:vimwiki_ext
+setlocal isfname-=[,]
+
+if g:vimwiki_smartCR>=2
+ setlocal comments=b:*,b:#
+ setlocal formatoptions=ctnqro
+endif
+
+"" TODO: folding for Headers using syntax fold method.
+
+" setlocal foldmethod=expr
+" setlocal foldexpr=VimWikiFoldLevel(v:lnum)
+
+" function! s:wikiHeaderLevel(header)
+ " let c = 0
+ " while a:header[c]=='!'
+ " let c += 1
+ " endwhile
+ " return c
+" endfunction
+
+" function! VimWikiFoldLevel(lnum)
+ " let str = getline(a:lnum)
+ " let strnext = getline(a:lnum+1)
+ " if str =~ '^!'
+ " if strnext =~ '^!'
+ " return '<1'
+ " else
+ " return '1'
+ " endif
+ " elseif strnext =~ '^!'
+ " return '<1'
+ " else
+ " return '1'
+ " endif
+" endfunction
+
+
+" setlocal foldtext=VimWikiFoldText()
+" function! VimWikiFoldText()
+ " let line = getline(v:foldstart)
+ " let sub = substitute(line, '!', '', '')
+ " let sub = substitute(sub, '!', v:folddashes.v:folddashes, 'g')
+ " let lines_nr = v:foldend-v:foldstart
+ " return '+'.v:folddashes.v:folddashes.sub.' ('.lines_nr.')'
+" endfunction
+
+
+"" keybindings {{{
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+nmap <buffer> <Up> gk
+nmap <buffer> k gk
+vmap <buffer> <Up> gk
+vmap <buffer> k gk
+
+nmap <buffer> <Down> gj
+nmap <buffer> j gj
+vmap <buffer> <Down> gj
+vmap <buffer> j gj
+
+imap <buffer> <Down> <C-o>gj
+imap <buffer> <Up> <C-o>gk
+
+nmap <silent><buffer> <CR> :call vimwiki#WikiFollowWord('nosplit')<CR>
+nmap <silent><buffer> <S-CR> :call vimwiki#WikiFollowWord('split')<CR>
+nmap <silent><buffer> <C-CR> :call vimwiki#WikiFollowWord('vsplit')<CR>
+
+nmap <buffer> <S-LeftMouse> <NOP>
+nmap <buffer> <C-LeftMouse> <NOP>
+noremap <silent><buffer> <2-LeftMouse> :call vimwiki#WikiFollowWord('nosplit')<CR>
+noremap <silent><buffer> <S-2-LeftMouse> <LeftMouse>:call vimwiki#WikiFollowWord('split')<CR>
+noremap <silent><buffer> <C-2-LeftMouse> <LeftMouse>:call vimwiki#WikiFollowWord('vsplit')<CR>
+
+nmap <silent><buffer> <BS> :call vimwiki#WikiGoBackWord()<CR>
+"<BS> mapping doesn't work in vim console
+nmap <silent><buffer> <C-h> :call vimwiki#WikiGoBackWord()<CR>
+nmap <silent><buffer> <RightMouse><LeftMouse> :call vimwiki#WikiGoBackWord()<CR>
+
+nmap <silent><buffer> <TAB> :call vimwiki#WikiNextWord()<CR>
+nmap <silent><buffer> <S-TAB> :call vimwiki#WikiPrevWord()<CR>
+
+nmap <silent><buffer> <Leader>wd :call vimwiki#WikiDeleteWord()<CR>
+nmap <silent><buffer> <Leader>wr :call vimwiki#WikiRenameWord()<CR>
+
+if g:vimwiki_smartCR==1
+ inoremap <silent><buffer><CR> <CR><Space><C-O>:call vimwiki#WikiNewLine('checkup')<CR>
+ noremap <silent><buffer>o o<Space><C-O>:call vimwiki#WikiNewLine('checkup')<CR>
+ noremap <silent><buffer>O O<Space><C-O>:call vimwiki#WikiNewLine('checkdown')<CR>
+endif
+" keybindings }}}
+
+"" commands {{{2
+" command! -nargs=1 Wiki2HTML call WikiExportHTML(expand(<f-args>))
+command! Wiki2HTML call vimwiki#Wiki2HTML(g:vimwiki_home_html, expand('%'))
+command! WikiAll2HTML call vimwiki#WikiAll2HTML(g:vimwiki_home_html)
+
+"" commands 2}}}
+
+autoload\vimwiki.vim [[[1
+901
+" VimWiki plugin file
+" Language: Wiki
+" Author: Maxim Kim (habamax at gmail dot com)
+" Home: http://code.google.com/p/vimwiki/
+" Filenames: *.wiki
+" Last Change: [15.09.2008 - 12:23]
+" Version: 0.5
if exists("g:loaded_vimwiki_auto") || &cp
finish
@@ -97,7 +287,7 @@ endfunction "}}}
"" WikiWord history helper functions {{{
" history is [['WikiWord.wiki', 11], ['AnotherWikiWord', 3] ... etc]
-" where numbers are column positions we should return when coming back.
+" where numbers are column positions we should return to when coming back.
function! s:GetHistoryWord(historyItem)
return get(a:historyItem, 0)
endfunction
@@ -336,14 +526,17 @@ endfunction "}}}
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
function! s:WikiCreateDefaultCSS(path) " {{{
if glob(a:path.'style.css') == ""
- let lines = ['body { margin: 1em 5em 1em 5em; font-size: 100%; }']
+ let lines = ['body { margin: 1em 5em 1em 5em; font-size: 100%;}']
+ call add(lines, 'p, ul {line-height: 1.5;}')
+ call add(lines, '.todo {font-weight: bold; text-decoration: underline; color: #FF0000; }')
+ call add(lines, '.strike {text-decoration: line-through; }')
call add(lines, 'h1 {font-size: 2.0em;}')
call add(lines, 'h2 {font-size: 1.4em;}')
call add(lines, 'h3 {font-size: 1.0em;}')
call add(lines, 'h4 {font-size: 0.8em;}')
call add(lines, 'h5 {font-size: 0.7em;}')
call add(lines, 'h6 {font-size: 0.6em;}')
- call add(lines, 'h1 { border-bottom: 1px solid #3366cc; text-align: right; padding: 0.3em 1em 0.3em 1em; }')
+ call add(lines, 'h1 { border-bottom: 1px solid #3366cc; text-align: left; padding: 0em 1em 0.3em 0em; }')
call add(lines, 'h3 { background: #e5ecf9; border-top: 1px solid #3366cc; padding: 0.1em 0.3em 0.1em 0.5em; }')
call add(lines, 'ul { margin-left: 2em; padding-left: 0.5em; }')
call add(lines, 'pre { border-left: 0.2em solid #ccc; margin-left: 2em; padding-left: 0.5em; }')
@@ -351,18 +544,27 @@ function! s:WikiCreateDefaultCSS(path) " {{{
call add(lines, 'hr { border: none; border-top: 1px solid #ccc; }')
call writefile(lines, a:path.'style.css')
- echomsg "Default style.css created."
+ echomsg "Default style.css is created."
endif
endfunction "}}}
+function! s:syntax_supported()
+ return g:vimwiki_syntax == "default"
+endfunction
+
function! vimwiki#WikiAll2HTML(path) "{{{
+ if !s:syntax_supported()
+ call s:msg('Wiki2Html: Only vimwiki_default syntax supported!!!')
+ return
+ endif
+
if !isdirectory(a:path)
call s:msg('Please create '.a:path.' directory first!')
return
endif
let wikifiles = split(glob(g:vimwiki_home.'*'.g:vimwiki_ext), '\n')
for wikifile in wikifiles
- echo 'Processing '.wikifile
+ echomsg 'Processing '.wikifile
call vimwiki#Wiki2HTML(a:path, wikifile)
endfor
call s:WikiCreateDefaultCSS(g:vimwiki_home_html)
@@ -370,13 +572,24 @@ function! vimwiki#WikiAll2HTML(path) "{{{
endfunction "}}}
function! vimwiki#Wiki2HTML(path, wikifile) "{{{
+ if !s:syntax_supported()
+ call s:msg('Wiki2Html: Only vimwiki_default syntax supported!!!')
+ return
+ endif
+
if !isdirectory(a:path)
call s:msg('Please create '.a:path.' directory first!')
return
endif
"" helper funcs
- function! s:isLinkToPic(lnk) "{{{
+ function! s:isWebLink(lnk) "{{{
+ if a:lnk =~ '^\(http://\|www.\|ftp://\)'
+ return 1
+ endif
+ return 0
+ endfunction "}}}
+ function! s:isImgLink(lnk) "{{{
if a:lnk =~ '.\(png\|jpg\|gif\|jpeg\)$'
return 1
endif
@@ -529,72 +742,25 @@ function! vimwiki#Wiki2HTML(path, wikifile) "{{{
function! s:processHeading(line) "{{{
let line = a:line
let processed = 0
- if a:line =~ '^!!!!!!.*$'
+ if a:line =~ g:vimwiki_rxH6
let line = '<h6>'.strpart(a:line, 6).'</h6>'
let processed = 1
- elseif a:line =~ '^!!!!!.*$'
+ elseif a:line =~ g:vimwiki_rxH5
let line = '<h5>'.strpart(a:line, 5).'</h5>'
let processed = 1
- elseif a:line =~ '^!!!!.*$'
+ elseif a:line =~ g:vimwiki_rxH4
let line = '<h4>'.strpart(a:line, 4).'</h4>'
let processed = 1
- elseif a:line =~ '^!!!.*$'
+ elseif a:line =~ g:vimwiki_rxH3
let line = '<h3>'.strpart(a:line, 3).'</h3>'
let processed = 1
- elseif a:line =~ '^!!.*$'
+ elseif a:line =~ g:vimwiki_rxH2
let line = '<h2>'.strpart(a:line, 2).'</h2>'
let processed = 1
- elseif a:line =~ '^!.*$'
+ elseif a:line =~ g:vimwiki_rxH1
let line = '<h1>'.strpart(a:line, 1).'</h1>'
let processed = 1
endif
- if processed
- return [processed, line]
- endif
-
- "" dumb test if Tagit has made changes to line
- let lenbefore = len(line)
- let line = s:Tagit(a:line, '^=\{6}.*=\{6}\s*$', '<h6>', '</h6>', 6)
- if len(line)!=lenbefore
- let processed = 1
- endif
-
- if !processed
- let lenbefore = len(line)
- let line = s:Tagit(a:line, '^=\{5}.*=\{5}\s*$', '<h5>', '</h5>', 5)
- if len(line)!=lenbefore
- let processed = 1
- endif
- endif
- if !processed
- let lenbefore = len(line)
- let line = s:Tagit(a:line, '^=\{4}.*=\{4}\s*$', '<h4>', '</h4>', 4)
- if len(line)!=lenbefore
- let processed = 1
- endif
- endif
- if !processed
- let lenbefore = len(line)
- let line = s:Tagit(a:line, '^=\{3}.*=\{3}\s*$', '<h3>', '</h3>', 3)
- if len(line)!=lenbefore
- let processed = 1
- endif
- endif
- if !processed
- let lenbefore = len(line)
- let line = s:Tagit(a:line, '^=\{2}.*=\{2}\s*$', '<h2>', '</h2>', 2)
- if len(line)!=lenbefore
- let processed = 1
- endif
- endif
- if !processed
- let lenbefore = len(line)
- let line = s:Tagit(a:line, '^=\{1}.*=\{1}\s*$', '<h1>', '</h1>', 1)
- if len(line)!=lenbefore
- let processed = 1
- endif
- endif
-
return [processed, line]
endfunction "}}}
@@ -644,143 +810,125 @@ function! vimwiki#Wiki2HTML(path, wikifile) "{{{
return [processed, lines, table]
endfunction "}}}
- "" yes I know it is dumb to name variables like that ;)
- function! s:Linkit(line, regexp, regexp2) "{{{
- let line = a:line
- let done = 0
- let posend = -1
- let posbeg = 0
- let posbeg2 = 0
- while !done
- let posbeg = match(a:line, a:regexp, posend+1)
- let posbeg2 = match(a:line, a:regexp2, posend+1)
- if (posbeg < posbeg2 && posbeg!=-1) || (posbeg2==-1 && posbeg!=-1)
- let str = matchstr(a:line, a:regexp, posbeg)
- if str != ''
- let word = s:WikiStripWord(str, g:vimwiki_stripsym)
-
- let ext = '.html'
- let path = ''
- if s:WikiIsLinkToNonWikiFile(word)
- let ext = ''
- " let path = g:vimwiki_home
- endif
-
- if s:isLinkToPic(word)
- let strrep = '<img src="'.path.word.'" />'
- else
- let strrep = '<a href="'.path.word.ext.'">'.word.'</a>'
- endif
- let line = substitute(line, escape(str,'[]*?\'), strrep, "")
- let posend = posbeg+len(str)
+ "" change dangerous html symbols - < > & (line)
+ function! s:safeHTML(line) "{{{
+ let line = substitute(a:line, '&', '\&amp;', 'g')
+ let line = substitute(line, '<', '\&lt;', 'g')
+ let line = substitute(line, '>', '\&gt;', 'g')
+ return line
+ endfunction "}}}
+
+ "" Substitute text found by regexp_match with tagOpen.regexp_subst.tagClose
+ function! s:MakeTagHelper(line, regexp_match, tagOpen, tagClose, cSymRemove, func) " {{{
+ let pos = 0
+ let lines = split(a:line, a:regexp_match, 1)
+ let res_line = ""
+ for line in lines
+ let res_line = res_line.line
+ let matched = matchstr(a:line, a:regexp_match, pos)
+ if matched != ""
+ let toReplace = strpart(matched, a:cSymRemove, len(matched)-2*a:cSymRemove)
+ if a:func!=""
+ let toReplace = {a:func}(escape(toReplace, '\&*[]?%'))
else
- let done = 1
+ " let toReplace = a:tagOpen.escape(toReplace, '\&*[]?%').a:tagClose
+ let toReplace = a:tagOpen.toReplace.a:tagClose
endif
- elseif posbeg2 != -1
- let str = matchstr(a:line, a:regexp2, posbeg2)
- if str != ''
- if s:isLinkToPic(str)
- let strrep = '<img src="'.str.'" />'
- else
- let strrep = '<a href="'.str.'">'.str.'</a>'
- endif
- let line = substitute(line, str, strrep, "")
- let posend = posbeg2+len(str)
+ let res_line = res_line.toReplace
+ endif
+ let pos = matchend(a:line, a:regexp_match, pos)
+ endfor
+ return res_line
+
+ endfunction " }}}
+
+ "" Make tags only if not in ` ... `
+ "" ... should be function that process regexp_match deeper.
+ function! s:MakeTag(line, regexp_match, tagOpen, tagClose, ...) " {{{
+ "check if additional function exists
+ let func = ""
+ let cSym = 1
+ if a:0 == 2
+ let cSym = a:1
+ let func = a:2
+ elseif a:0 == 1
+ let cSym = a:1
+ endif
+
+ let patt_splitter = g:vimwiki_rxCode
+ let patt_splitter = '\('.g:vimwiki_rxCode.'\)\|\(<a href.\{-}</a>\)\|\(<img src.\{-}/>\)'
+ if g:vimwiki_rxCode == a:regexp_match
+ let res_line = s:MakeTagHelper(a:line, a:regexp_match, a:tagOpen, a:tagClose, cSym, func)
+ else
+ let pos = 0
+ let lines = split(a:line, patt_splitter, 1)
+ let res_line = ""
+ for line in lines
+ let res_line = res_line.s:MakeTagHelper(line, a:regexp_match, a:tagOpen, a:tagClose, cSym, func)
+ let res_line = res_line.matchstr(a:line, patt_splitter, pos)
+ let pos = matchend(a:line, patt_splitter, pos)
+ endfor
+ endif
+ return res_line
+ endfunction " }}}
+
+ "" Make <a href="link">link desc</a>
+ "" from [link link desc]
+ function! s:MakeExternalLink(entag) "{{{
+ let line = ''
+ if s:isWebLink(a:entag)
+ let lnkElements = split(a:entag)
+ let head = lnkElements[0]
+ let rest = join(lnkElements[1:])
+ if rest==""
+ let rest=head
+ endif
+ if s:isImgLink(rest)
+ if rest!=head
+ let line = '<a href="'.head.'"><img src="'.rest.'" /></a>'
else
- let done = 1
+ let line = '<img src="'.rest.'" />'
endif
else
- let done = 1
+ let line = '<a href="'.head.'">'.rest.'</a>'
endif
- endwhile
- return line
- endfunction "}}}
-
- function! s:processLink(line) "{{{
- let line = ''
- let done = 0
-
- let pos0 = 0
- let pos1 = 0
- let pos2 = 0
- while !done
- let pos1 = match(a:line, g:vimwiki_rxCode, pos2)
- let pos2 = matchend(a:line, g:vimwiki_rxCode, pos1)
- if pos1!=-1 && pos2!=-1
- let line = line.s:Linkit(strpart(a:line, pos0, pos1-pos0), g:vimwiki_rxWikiWord, g:vimwiki_rxWeblink)
- let line = line.strpart(a:line, pos1, pos2-pos1)
- let pos0 = pos2
+ else
+ if s:isImgLink(a:entag)
+ let line = '<img src="'.a:entag.'" />'
else
- let line = line.s:Linkit(strpart(a:line, pos0, len(a:line)-pos0), g:vimwiki_rxWikiWord, g:vimwiki_rxWeblink)
- let done = 1
+ let line = '<a href="'.a:entag.'">'.a:entag.'</a>'
endif
- endwhile
-
+ endif
return line
endfunction "}}}
- "" TODO: processTODO(line)
-
- "" change dangerous html symbols - < > & (line)
- function! s:safeHTML(line) "{{{
- let line = substitute(a:line, '&', '\&amp;', 'g')
- let line = substitute(line, '<', '\&lt;', 'g')
- let line = substitute(line, '>', '\&gt;', 'g')
+ "" Make <a href="This is a link">This is a link</a>
+ "" from [[This is a link]]
+ function! s:MakeInternalLink(entag) "{{{
+ let line = ''
+ if s:isImgLink(a:entag)
+ let line = '<img src="'.a:entag.'" />'
+ else
+ let line = '<a href="'.a:entag.'.html">'.a:entag.'</a>'
+ endif
return line
endfunction "}}}
- function! s:Tagit(line, regexp, tagOpen, tagClose, cSymRemove) "{{{
- let line = a:line
- let done = 0
- while !done
- let str = matchstr(line, a:regexp)
- if str != ''
- let strrep = a:tagOpen.strpart(str, a:cSymRemove, len(str)-2*a:cSymRemove).a:tagClose
- let line = substitute(line, a:regexp, escape(strrep, '[]*.?&\'), "")
- else
- let done = 1
- endif
- endwhile
+ "" Make <a href="WikiWord">WikiWord</a>
+ "" from WikiWord
+ function! s:MakeWikiWordLink(entag) "{{{
+ let line = '<a href="'.a:entag.'.html">'.a:entag.'</a>'
return line
endfunction "}}}
- function! s:replacePairs(line, regexp, tagOpen, tagClose) "{{{
- let line = ''
- let done = 0
-
- if a:regexp == g:vimwiki_rxCode
- let line = s:Tagit(a:line, a:regexp, a:tagOpen, a:tagClose, 1)
+ "" Make <a href="http://habamax.ru">http://habamax.ru</a>
+ "" from http://habamax.ru
+ function! s:MakeBareBoneLink(entag) "{{{
+ if s:isImgLink(a:entag)
+ let line = '<img src="'.a:entag.'" />'
else
- let pos0 = 0
- let pos1 = 0
- let pos2 = 0
- while !done
- "" TODO: improve it, improve it, improve it...
- let pos1 = match(a:line, g:vimwiki_rxCode, pos2)
- let tpos1 = match(a:line, g:vimwiki_rxWeblink, pos2)
- let ttpos1 = match(a:line, g:vimwiki_rxWikiWord, pos2)
- let pos2 = matchend(a:line, g:vimwiki_rxCode, pos1)
- let tpos2 = matchend(a:line, g:vimwiki_rxWeblink, tpos1)
- let ttpos2 = matchend(a:line, g:vimwiki_rxWikiWord, ttpos1)
- if (pos1 < tpos1)
- let pos1 = tpos1
- endif
- if (pos1 < ttpos1)
- let pos1 = ttpos1
- endif
- let pos2 = max([pos2, tpos2, ttpos2])
-
- if pos1!=-1 && pos2!=-1
- let line = line.s:Tagit(strpart(a:line, pos0, pos1-pos0), a:regexp, a:tagOpen, a:tagClose, 1)
- let line = line.strpart(a:line, pos1, pos2-pos1)
- let pos0 = pos2
- else
- let line = line.s:Tagit(strpart(a:line, pos0, len(a:line)-pos0), a:regexp, a:tagOpen, a:tagClose, 1)
- let done = 1
- endif
- endwhile
+ let line = '<a href="'.a:entag.'">'.a:entag.'</a>'
endif
-
return line
endfunction "}}}
@@ -829,7 +977,6 @@ function! vimwiki#Wiki2HTML(path, wikifile) "{{{
endif
- "" TODO: `code` do not emphasize or bold it.
"" list
if !processed
let [processed, lines] = s:processList(line, lists)
@@ -842,20 +989,34 @@ function! vimwiki#Wiki2HTML(path, wikifile) "{{{
if processed && table
let table = s:closeTable(table, ldest)
endif
- call map(lines, 's:replacePairs(v:val, ''_.\{-}_'', ''<em>'', ''</em>'')')
- call map(lines, 's:replacePairs(v:val, ''\*.\{-}\*'', ''<strong>'', ''</strong>'')')
- call map(lines, 's:processLink(v:val)')
- call map(lines, 's:replacePairs(v:val, ''`.\{-}`'', ''<code>'', ''</code>'')')
+ call map(lines, 's:MakeTag(v:val, ''\[\[.\{-}\]\]'', '''', '''', 2, ''s:MakeInternalLink'')')
+ call map(lines, 's:MakeTag(v:val, ''\[.\{-}\]'', '''', '''', 1, ''s:MakeExternalLink'')')
+ call map(lines, 's:MakeTag(v:val, g:vimwiki_rxWeblink, '''', '''', 0, ''s:MakeBareBoneLink'')')
+ call map(lines, 's:MakeTag(v:val, g:vimwiki_rxWikiWord, '''', '''', 0, ''s:MakeWikiWordLink'')')
+ call map(lines, 's:MakeTag(v:val, g:vimwiki_rxItalic, ''<em>'', ''</em>'')')
+ call map(lines, 's:MakeTag(v:val, g:vimwiki_rxBold, ''<strong>'', ''</strong>'')')
+ call map(lines, 's:MakeTag(v:val, g:vimwiki_rxTodo, ''<span class="todo">'', ''</span>'', 0)')
+ call map(lines, 's:MakeTag(v:val, g:vimwiki_rxDelText, ''<span class="strike">'', ''</span>'', 2)')
+ call map(lines, 's:MakeTag(v:val, g:vimwiki_rxSuperScript, ''<sup><small>'', ''</small></sup>'', 1)')
+ call map(lines, 's:MakeTag(v:val, g:vimwiki_rxSubScript, ''<sub><small>'', ''</small></sub>'', 2)')
+ call map(lines, 's:MakeTag(v:val, g:vimwiki_rxCode, ''<code>'', ''</code>'')')
call extend(ldest, lines)
endif
"" table
if !processed
let [processed, lines, table] = s:processTable(line, table)
- call map(lines, 's:replacePairs(v:val, ''_.\{-}_'', ''<em>'', ''</em>'')')
- call map(lines, 's:replacePairs(v:val, ''\*.\{-}\*'', ''<strong>'', ''</strong>'')')
- call map(lines, 's:processLink(v:val)')
- call map(lines, 's:replacePairs(v:val, ''`.\{-}`'', ''<code>'', ''</code>'')')
+ call map(lines, 's:MakeTag(v:val, ''\[\[.\{-}\]\]'', '''', '''', 2, ''s:MakeInternalLink'')')
+ call map(lines, 's:MakeTag(v:val, ''\[.\{-}\]'', '''', '''', 1, ''s:MakeExternalLink'')')
+ call map(lines, 's:MakeTag(v:val, g:vimwiki_rxWeblink, '''', '''', 0, ''s:MakeBareBoneLink'')')
+ call map(lines, 's:MakeTag(v:val, g:vimwiki_rxWikiWord, '''', '''', 0, ''s:MakeWikiWordLink'')')
+ call map(lines, 's:MakeTag(v:val, g:vimwiki_rxItalic, ''<em>'', ''</em>'')')
+ call map(lines, 's:MakeTag(v:val, g:vimwiki_rxBold, ''<strong>'', ''</strong>'')')
+ call map(lines, 's:MakeTag(v:val, g:vimwiki_rxTodo, ''<span class="todo">'', ''</span>'', 0)')
+ call map(lines, 's:MakeTag(v:val, g:vimwiki_rxDelText, ''<span class="strike">'', ''</span>'', 2)')
+ call map(lines, 's:MakeTag(v:val, g:vimwiki_rxSuperScript, ''<sup><small>'', ''</small></sup>'', 1)')
+ call map(lines, 's:MakeTag(v:val, g:vimwiki_rxSubScript, ''<sub><small>'', ''</small></sub>'', 2)')
+ call map(lines, 's:MakeTag(v:val, g:vimwiki_rxCode, ''<code>'', ''</code>'')')
call extend(ldest, lines)
endif
@@ -881,10 +1042,17 @@ function! vimwiki#Wiki2HTML(path, wikifile) "{{{
"" P
if !processed
- let line = s:replacePairs(line, '_.\{-}_', '<em>', '</em>')
- let line = s:replacePairs(line, '\*.\{-}\*', '<strong>', '</strong>')
- let line = s:processLink(line)
- let line = s:replacePairs(line, '`.\{-}`', '<code>', '</code>')
+ let line = s:MakeTag(line, '\[\[.\{-}\]\]', '', '', 2, 's:MakeInternalLink')
+ let line = s:MakeTag(line, '\[.\{-}\]', '', '', 1, 's:MakeExternalLink')
+ let line = s:MakeTag(line, g:vimwiki_rxWeblink, '', '', 0, 's:MakeBareBoneLink')
+ let line = s:MakeTag(line, g:vimwiki_rxWikiWord, '', '', 0, 's:MakeWikiWordLink')
+ let line = s:MakeTag(line, g:vimwiki_rxItalic, '<em>', '</em>')
+ let line = s:MakeTag(line, g:vimwiki_rxBold, '<strong>', '</strong>')
+ let line = s:MakeTag(line, g:vimwiki_rxTodo, '<span class="todo">', '</span>', 0)
+ let line = s:MakeTag(line, g:vimwiki_rxDelText, '<span class="strike">', '</span>', 2)
+ let line = s:MakeTag(line, g:vimwiki_rxSuperScript, '<sup><small>', '</small></sup>', 1)
+ let line = s:MakeTag(line, g:vimwiki_rxSubScript, '<sub><small>', '</small></sub>', 2)
+ let line = s:MakeTag(line, g:vimwiki_rxCode, '<code>', '</code>')
let [processed, lines] = s:processP(line)
if processed && pre
let pre = s:closePre(pre, ldest)
@@ -921,3 +1089,284 @@ function! vimwiki#Wiki2HTML(path, wikifile) "{{{
endfunction "}}}
" 2}}}
+syntax\vimwiki.vim [[[1
+114
+" Vim syntax file
+" Language: Wiki
+" Author: Maxim Kim (habamax at gmail dot com)
+" Home: http://code.google.com/p/vimwiki/
+" Filenames: *.wiki
+" Last Change: [15.09.2008 - 12:07]
+" Version: 0.5
+
+" 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 g:vimwiki_maxhi
+ " Every WikiWord is nonexistent
+ execute 'syntax match wikiNoExistsWord /'.g:vimwiki_word1.'/'
+ execute 'syntax match wikiNoExistsWord /'.g:vimwiki_word2.'/'
+ " till we find them in g:vimwiki_home
+ call vimwiki#WikiHighlightWords()
+else
+ " A WikiWord (unqualifiedWikiName)
+ execute 'syntax match wikiWord /'.g:vimwiki_word1.'/'
+ " A [[bracketed wiki word]]
+ execute 'syntax match wikiWord /'.g:vimwiki_word2.'/'
+endif
+
+
+" text: "this is a link (optional tooltip)":http://www.microsoft.com
+" TODO: check URL syntax against RFC
+let g:vimwiki_rxWeblink = '\("[^"(]\+\((\([^)]\+\))\)\?":\)\?\(https\?\|ftp\|gopher\|telnet\|file\|notes\|ms-help\):\(\(\(//\)\|\(\\\\\)\)\+[A-Za-z0-9:#@%/;$~_?+-=.&\-\\\\]*\)'
+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 = '\(TODO:\|DONE:\|FIXME:\|FIXED:\)'
+execute 'syntax match wikiTodo /'. g:vimwiki_rxTodo .'/'
+
+" Load concrete Wiki syntax
+execute 'runtime! syntax/vimwiki_'.g:vimwiki_syntax.'.vim'
+
+execute 'syntax match wikiBold /'.g:vimwiki_rxBold.'/'
+
+execute 'syntax match wikiItalic /'.g:vimwiki_rxItalic.'/'
+
+execute 'syntax match wikiCode /'.g:vimwiki_rxCode.'/'
+
+execute 'syntax match wikiDelText /'.g:vimwiki_rxDelText.'/'
+
+execute 'syntax match wikiSuperScript /'.g:vimwiki_rxSuperScript.'/'
+
+execute 'syntax match wikiSubScript /'.g:vimwiki_rxSubScript.'/'
+
+" Aggregate all the regular text highlighting into wikiText
+syntax cluster wikiText contains=wikiItalic,wikiBold,wikiCode,wikiDelText,wikiSuperScript,wikiSubScript,wikiWord,wikiEmoticons
+
+" Header levels, 1-6
+execute 'syntax match wikiH1 /'.g:vimwiki_rxH1.'/'
+execute 'syntax match wikiH2 /'.g:vimwiki_rxH2.'/'
+execute 'syntax match wikiH3 /'.g:vimwiki_rxH3.'/'
+execute 'syntax match wikiH4 /'.g:vimwiki_rxH4.'/'
+execute 'syntax match wikiH5 /'.g:vimwiki_rxH5.'/'
+execute 'syntax match wikiH6 /'.g:vimwiki_rxH6.'/'
+
+" <hr>, horizontal rule
+execute 'syntax match wikiHR /'.g:vimwiki_rxHR.'/'
+
+" Tables. Each line starts and ends with '||'; each cell is separated by '||'
+execute 'syntax match wikiTable /'.g:vimwiki_rxTable.'/'
+
+" Bulleted list items start with whitespace(s), then '*'
+" syntax match wikiList /^\s\+\(\*\|[1-9]\+0*\.\).*$/ contains=@wikiText
+" highlight only bullets and digits.
+execute 'syntax match wikiList /'.g:vimwiki_rxListBullet.'/'
+execute 'syntax match wikiList /'.g:vimwiki_rxListNumber.'/'
+
+" Treat all other lines that start with spaces as PRE-formatted text.
+execute 'syntax match wikiPre /'.g:vimwiki_rxPre1.'/'
+
+
+
+
+hi def link wikiH1 Title
+hi def link wikiH2 wikiH1
+hi def link wikiH3 wikiH2
+hi def link wikiH4 wikiH3
+hi def link wikiH5 wikiH4
+hi def link wikiH6 wikiH5
+hi def link wikiHR wikiH6
+
+hi def wikiBold term=bold cterm=bold gui=bold
+hi def wikiItalic term=italic cterm=italic gui=italic
+
+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 Type
+hi def link wikiTable PreProc
+hi def link wikiEmoticons Constant
+hi def link wikiDelText Comment
+hi def link wikiInsText Constant
+hi def link wikiSuperScript Constant
+hi def link wikiSubScript Constant
+hi def link wikiTodo Todo
+
+let b:current_syntax="vimwiki"
+
+syntax\vimwiki_default.vim [[[1
+54
+" Vim syntax file
+" Language: Wiki (vimwiki default)
+" Author: Maxim Kim (habamax at gmail dot com)
+" Home: http://code.google.com/p/vimwiki/
+" Filenames: *.wiki
+" Last Change: [15.09.2008 - 12:07]
+" Version: 0.5
+
+" text: *strong*
+let g:vimwiki_rxBold = '\*[^*]\+\*'
+
+" text: _emphasis_
+let g:vimwiki_rxItalic = '_[^_]\+_'
+
+" 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 = '^!\{1}.*$'
+let g:vimwiki_rxH2 = '^!\{2}.*$'
+let g:vimwiki_rxH3 = '^!\{3}.*$'
+let g:vimwiki_rxH4 = '^!\{4}.*$'
+let g:vimwiki_rxH5 = '^!\{5}.*$'
+let g:vimwiki_rxH6 = '^!\{6}.*$'
+
+" <hr>, 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 '*'
+" syntax match wikiList /^\s\+\(\*\|[1-9]\+0*\.\).*$/ contains=@wikiText
+" highlight only bullets and digits.
+" let g:vimwiki_rxList = '^\s\+\(\*\|#\)'
+let g:vimwiki_rxListBullet = '^\s\+\*'
+let g:vimwiki_rxListNumber = '^\s\+#'
+
+" Treat all other lines that start with spaces as PRE-formatted text.
+let g:vimwiki_rxPre1 = '^\s\+[^[:blank:]*#].*$'
+
+syntax region wikiPre start=/^{{{\s*$/ end=/^}}}\s*$/
+syntax sync match wikiPreSync grouphere wikiPre /^{{{\s*$/
+
+" vim:tw=0:
+syntax\vimwiki_google.vim [[[1
+53
+" Vim syntax file
+" Language: Wiki
+" Author: Maxim Kim (habamax at gmail dot com)
+" Home: http://code.google.com/p/vimwiki/
+" Filenames: *.wiki
+" Last Change: [15.09.2008 - 12:07]
+" Version: 0.5
+
+" text: *strong*
+let g:vimwiki_rxBold = '\*[^*]\+\*'
+
+" text: _emphasis_
+let g:vimwiki_rxItalic = '_[^_]\+_'
+
+" 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*$'
+
+" <hr>, 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 '*'
+" syntax match wikiList /^\s\+\(\*\|[1-9]\+0*\.\).*$/ contains=@wikiText
+" highlight only bullets and digits.
+let g:vimwiki_rxListBullet = '^\s\+\*'
+let g:vimwiki_rxListNumber = '^\s\+#'
+
+" Treat all other lines that start with spaces as PRE-formatted text.
+let g:vimwiki_rxPre1 = '^\s\+[^[:blank:]*#].*$'
+
+syntax region wikiPre start=/^{{{\s*$/ end=/^}}}\s*$/
+syntax sync match wikiPreSync grouphere wikiPre /^{{{\s*$/
+
+" vim:tw=0:
+syntax\vimwiki_media.vim [[[1
+52
+" Vim syntax file
+" Language: Wiki (MediaWiki)
+" Author: Maxim Kim (habamax at gmail dot com)
+" Home: http://code.google.com/p/vimwiki/
+" Filenames: *.wiki
+" Last Change: [15.09.2008 - 12:07]
+" Version: 0.5
+
+" text: '''strong'''
+let g:vimwiki_rxBold = "'''[^']\\+'''"
+
+" text: ''emphasis''
+let g:vimwiki_rxItalic = "''[^']\\+''"
+
+" 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*$'
+
+" <hr>, 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*#\+'
+
+" Treat all other lines that start with spaces as PRE-formatted text.
+let g:vimwiki_rxPre1 = '^\s\+[^[:blank:]*#].*$'
+
+syntax region wikiPre start=/^{{{\s*$/ end=/^}}}\s*$/
+syntax sync match wikiPreSync grouphere wikiPre /^{{{\s*$/
+
+" vim:tw=0:
Please sign in to comment.
Something went wrong with that request. Please try again.