From 029f72b1a93430b24b88eb3a72c6114d9f149737 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 10 Apr 2024 22:09:20 +0200 Subject: Adding upstream version 2:9.1.0016. Signed-off-by: Daniel Baumann --- runtime/syntax/flexwiki.vim | 133 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 runtime/syntax/flexwiki.vim (limited to 'runtime/syntax/flexwiki.vim') diff --git a/runtime/syntax/flexwiki.vim b/runtime/syntax/flexwiki.vim new file mode 100644 index 0000000..3b5f7ff --- /dev/null +++ b/runtime/syntax/flexwiki.vim @@ -0,0 +1,133 @@ +" Vim syntax file +" Language: FlexWiki, http://www.flexwiki.com/ +" Maintainer: George V. Reilly +" Home: http://www.georgevreilly.com/vim/flexwiki/ +" Other Home: http://www.vim.org/scripts/script.php?script_id=1529 +" Author: George V. Reilly +" Filenames: *.wiki +" Last Change: Wed Apr 26 11:00 PM 2006 P +" Version: 0.3 + +" Note: The horrible regexps were reverse-engineered from +" FlexWikiCore\EngineSource\Formatter.cs, with help from the Regex Analyzer +" in The Regulator, http://regulator.sourceforge.net/ .NET uses Perl-style +" regexes, which use a different syntax than Vim (fewer \s). +" The primary test case is FlexWiki\FormattingRules.wiki + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" A WikiWord (unqualifiedWikiName) +syntax match flexwikiWord /\%(_\?\([A-Z]\{2,}[a-z0-9]\+[A-Za-z0-9]*\)\|\([A-Z][a-z0-9]\+[A-Za-z0-9]*[A-Z]\+[A-Za-z0-9]*\)\)/ +" A [bracketed wiki word] +syntax match flexwikiWord /\[[[:alnum:]\s]\+\]/ + +" text: "this is a link (optional tooltip)":http://www.microsoft.com +" TODO: check URL syntax against RFC +syntax match flexwikiLink `\("[^"(]\+\((\([^)]\+\))\)\?":\)\?\(https\?\|ftp\|gopher\|telnet\|file\|notes\|ms-help\):\(\(\(//\)\|\(\\\\\)\)\+[A-Za-z0-9:#@%/;$~_?+-=.&\-\\\\]*\)` + +" text: *strong* +syntax match flexwikiBold /\(^\|\W\)\zs\*\([^ ].\{-}\)\*/ +" '''bold''' +syntax match flexwikiBold /'''\([^'].\{-}\)'''/ + +" text: _emphasis_ +syntax match flexwikiItalic /\(^\|\W\)\zs_\([^ ].\{-}\)_/ +" ''italic'' +syntax match flexwikiItalic /''\([^'].\{-}\)''/ + +" ``deemphasis`` +syntax match flexwikiDeEmphasis /``\([^`].\{-}\)``/ + +" text: @code@ +syntax match flexwikiCode /\(^\|\s\|(\|\[\)\zs@\([^@]\+\)@/ + +" text: -deleted text- +syntax match flexwikiDelText /\(^\|\s\+\)\zs-\([^ , horizontal rule +syntax match flexwikiHR /^----.*$/ + +" Formatting can be turned off by ""enclosing it in pairs of double quotes"" +syntax match flexwikiEscape /"".\{-}""/ + +" Tables. Each line starts and ends with '||'; each cell is separated by '||' +syntax match flexwikiTable /||/ + +" Bulleted list items start with one or tabs, followed by whitespace, then '*' +" Numeric list items start with one or tabs, followed by whitespace, then '1.' +" Eight spaces at the beginning of the line is equivalent to the leading tab. +syntax match flexwikiList /^\(\t\| \{8}\)\s*\(\*\|1\.\).*$/ contains=@flexwikiText + +" Treat all other lines that start with spaces as PRE-formatted text. +syntax match flexwikiPre /^[ \t]\+[^ \t*1].*$/ + + +" Link FlexWiki syntax items to colors +hi def link flexwikiH1 Title +hi def link flexwikiH2 flexwikiH1 +hi def link flexwikiH3 flexwikiH2 +hi def link flexwikiH4 flexwikiH3 +hi def link flexwikiH5 flexwikiH4 +hi def link flexwikiH6 flexwikiH5 +hi def link flexwikiHR flexwikiH6 + +hi def flexwikiBold term=bold cterm=bold gui=bold +hi def flexwikiItalic term=italic cterm=italic gui=italic + +hi def link flexwikiCode Statement +hi def link flexwikiWord Underlined + +hi def link flexwikiEscape Todo +hi def link flexwikiPre PreProc +hi def link flexwikiLink Underlined +hi def link flexwikiList Type +hi def link flexwikiTable Type +hi def link flexwikiEmoticons Constant +hi def link flexwikiDelText Comment +hi def link flexwikiDeEmphasis Comment +hi def link flexwikiInsText Constant +hi def link flexwikiSuperScript Constant +hi def link flexwikiSubScript Constant +hi def link flexwikiCitation Constant + +hi def link flexwikiSingleLineProperty Identifier + +let b:current_syntax="FlexWiki" + +" vim:tw=0: -- cgit v1.2.3