|
| 1 | +" Vim syntax file |
| 2 | +" Language: Wikidot Syntax |
| 3 | +" Maintainer: Ammon Smith <ammon.i.smith@gmail.com> |
| 4 | +" Filenames: *.wikidot |
| 5 | +" Last Change: 2019 January |
| 6 | + |
| 7 | +if exists("b:current_syntax") |
| 8 | + finish |
| 9 | +endif |
| 10 | + |
| 11 | +if !exists('main_syntax') |
| 12 | + let main_syntax = 'wikidot' |
| 13 | +endif |
| 14 | + |
| 15 | +unlet! b:current_syntax |
| 16 | + |
| 17 | +syntax match wikidotComment '\[!--.*--\]' |
| 18 | +syntax match wikidotElement '\[\[\([^\]]\|\n\)\+\]\]' |
| 19 | +syntax match wikidotLink '\(\[\[\[\([^\]]\|\n\)\+\]\]\]\|\[\w\+:\/\/\w\+\.\w\+.*\]\)' |
| 20 | +syntax match wikidotBullet '^\s*\* ' |
| 21 | +syntax match wikidotTable '||\~\?' |
| 22 | +syntax match wikidotSeparator '-\{4,}' |
| 23 | +syntax match wikidotColor '##\(#\?\w\+|\)\?' |
| 24 | + |
| 25 | +syntax region wikidotBold matchgroup=wikidotBold start='\*\*' end='\*\*' |
| 26 | +syntax region wikidotItalic matchgroup=wikidotItalic start='//' end='//' |
| 27 | +syntax region wikidotUnderline matchgroup=wikidotUnderline start='__' end='__' |
| 28 | +syntax region wikidotBoldUnderline matchgroup=wikidotBoldUnderline start='\(\*\*__\|__\*\*\)' end='\(\*\*__\|__\*\*\)' |
| 29 | +syntax region wikidotBoldItalic matchgroup=wikidotBoldItalic start='\(\*\*\/\/\|\/\/\*\*\)' end='\(\*\*\/\/\|\/\/\*\*\)' |
| 30 | + |
| 31 | +syntax region wikidotH1 matchgroup=wikidotH1 start='^\s*+' end='$' keepend oneline contains=wikidotComment,wikidotLink,wikidotColor |
| 32 | +syntax region wikidotH2 matchgroup=wikidotH2 start='^\s*++' end='$' keepend oneline contains=wikidotComment,wikidotLink,wikidotColor |
| 33 | +syntax region wikidotH3 matchgroup=wikidotH3 start='^\s*+++' end='$' keepend oneline contains=wikidotComment,wikidotLink,wikidotColor |
| 34 | +syntax region wikidotH4 matchgroup=wikidotH4 start='^\s*++++' end='$' keepend oneline contains=wikidotComment,wikidotLink,wikidotColor |
| 35 | +syntax region wikidotH5 matchgroup=wikidotH5 start='^\s*+++++' end='$' keepend oneline contains=wikidotComment,wikidotLink,wikidotColor |
| 36 | +syntax region wikidotH6 matchgroup=wikidotH6 start='^\s*++++++' end='$' keepend oneline contains=wikidotComment,wikidotLink,wikidotColor |
| 37 | + |
| 38 | +highlight def Bold term=bold cterm=bold gui=bold |
| 39 | +highlight def Italic term=italic cterm=italic gui=italic |
| 40 | +highlight def Underline term=underline cterm=underline gui=underline |
| 41 | +highlight def BoldItalic term=bold,italic cterm=bold,italic gui=bold,italic |
| 42 | +highlight def BoldUnderline term=bold,underline cterm=bold,underline gui=bold,underline |
| 43 | +highlight def ItalicUnderline term=italic,underline cterm=italic,underline gui=italic,underline |
| 44 | + |
| 45 | +highlight default link wikidotComment Comment |
| 46 | +highlight default link wikidotElement Structure |
| 47 | +highlight default link wikidotLink String |
| 48 | +highlight default link wikidotBullet Statement |
| 49 | +highlight default link wikidotTable Statement |
| 50 | +highlight default link wikidotSeparator PreProc |
| 51 | +highlight default link wikidotColor Statement |
| 52 | + |
| 53 | +highlight default link wikidotBold Bold |
| 54 | +highlight default link wikidotItalic Italic |
| 55 | +highlight default link wikidotUnderline Underline |
| 56 | +highlight default link wikidotBoldItalic BoldItalic |
| 57 | +highlight default link wikidotBoldUnderline BoldUnderline |
| 58 | +highlight default link wikidotItalicUnderline ItalicUnderline |
| 59 | + |
| 60 | +highlight default link wikidotH1 Title |
| 61 | +highlight default link wikidotH2 Title |
| 62 | +highlight default link wikidotH3 Title |
| 63 | +highlight default link wikidotH4 Title |
| 64 | +highlight default link wikidotH5 Title |
| 65 | +highlight default link wikidotH6 Title |
| 66 | + |
| 67 | +let b:current_syntax = "wikidot" |
| 68 | +if main_syntax ==# 'wikidot' |
| 69 | + unlet main_syntax |
| 70 | +endif |
| 71 | + |
| 72 | +" vim:set sw=2: |
0 commit comments