From 2957fddd9d13e6c11acaf1f8a40a1d163a7c27ab Mon Sep 17 00:00:00 2001 From: Samir Benmendil Date: Tue, 23 Aug 2016 09:18:50 +0100 Subject: [PATCH] vim: add bbcode syntax and snippet file --- vim/syntax/bbcode.vim | 54 ++++++++++++++++++++++++++++++++ vim/ultisnips/bbcode.snippets | 58 +++++++++++++++++++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 vim/syntax/bbcode.vim create mode 100644 vim/ultisnips/bbcode.snippets diff --git a/vim/syntax/bbcode.vim b/vim/syntax/bbcode.vim new file mode 100644 index 0000000..2ea90c6 --- /dev/null +++ b/vim/syntax/bbcode.vim @@ -0,0 +1,54 @@ +" bbcode.vim +" @Author: Thomas Link (mailto:micathom AT gmail com?subject=[vim]) +" @Website: http://www.vim.org/account/profile.php?user_id=4037 +" @License: GPL (see http://www.gnu.org/licenses/gpl.txt) +" @Created: 2007-11-15. +" @Last Change: 2007-11-17. +" @Revision: 0.2.50 + +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif +if version < 508 + command! -nargs=+ HiLink hi link +else + command! -nargs=+ HiLink hi def link +endif + +syn case ignore + +syn region bbcodeTag matchgroup=Delimiter start=/\[\z(.\{-}\)\(=.\{-}\)\?\]/ end=/\[\/\z1\]/ +syn region bbcodeBold matchgroup=Delimiter start=/\[b\]/ end=/\[\/b\]/ +syn region bbcodeItalic matchgroup=Delimiter start=/\[i\]/ end=/\[\/i\]/ +syn region bbcodeUnderline matchgroup=Delimiter start=/\[u\]/ end=/\[\/u\]/ +syn region bbcodeStrikethrough matchgroup=Delimiter start=/\[s\]/ end=/\[\/s\]/ +syn region bbcodeUrl matchgroup=Delimiter start=/\[url\(=.\{-}\)\?\]/ end=/\[\/url\]/ +syn region bbcodeQuote matchgroup=Delimiter start=/\[quote\(=.\{-}\)\?\]/ end=/\[\/quote\]/ +syn region bbcodeCode matchgroup=Delimiter start=/\[code\(=.\{-}\)\?\]/ end=/\[\/code\]/ +syn region bbcodeList matchgroup=Delimiter start=/\[list\(=.\{-}\)\?\]/ end=/\[\/list\]/ + \ transparent +syn match bbcodeItem /\[\*\]/ + +if exists('loaded_viki') && loaded_viki >= 304 + runtime syntax/texmath.vim + syn region bbcodeTex matchgroup=Delimiter start=/\[tex\(=.\{-}\)\?\]/ end=/\[\/tex\]/ + \ contains=@texmathMath transparent +endif + +HiLink bbcodeTag Statement +HiLink bbcodeUrl underlined +HiLink bbcodeQuote Comment +HiLink bbcodeCode PreProc +HiLink bbcodeStrikethrough Ignore +HiLink bbcodeDelimiter Delimiter +HiLink bbcodeItem Delimiter +" HiLink bbcodeTex Identifier + +hi bbcodeBold term=bold,underline cterm=bold,underline gui=bold +hi bbcodeItalic term=italic cterm=italic gui=italic +hi bbcodeUnderline term=underline cterm=underline gui=underline + +delcommand HiLink +let b:current_syntax = 'bbcode' diff --git a/vim/ultisnips/bbcode.snippets b/vim/ultisnips/bbcode.snippets new file mode 100644 index 0000000..9033e7e --- /dev/null +++ b/vim/ultisnips/bbcode.snippets @@ -0,0 +1,58 @@ +snippet b "Bold" w +[b]$1[/b]$0 +endsnippet + +snippet u "Underlined" w +[u]$1[/u]$0 +endsnippet + +snippet i "Italic" w +[i]$1[/i]$0 +endsnippet + +snippet s "Strike-through" w +[s]$1[/s]$0 +endsnippet + +snippet em "Emphasise" w +[em]$1[/em]$0 +endsnippet + +snippet color "Color" w +[color=${1:red}]$2[/color]$0 +endsnippet + +snippet h "Heading" w +[h]$1[/h]$0 +endsnippet + +snippet url "URL" w +[url=${1:http://example.com}]$2[/url]$0 +endsnippet + +snippet img "Image" w +[img=${1:Alt Text}]${2:http://example.com/image.png}[/img] +endsnippet + +snippet email "Email" w +[email=${1:me@rmz.io}]$2[/email]$0 +endsnippet + +snippet quote "Quote" w +[quote=${1:user}] +$VISUAL +$0 +[/quote] +endsnippet + +snippet code "Code" w +[code] +$0 +[/code] +endsnippet + +snippet list "List" w +[list=${1:a|1}] +[*]$0[/*] +[/list] +endsnippet -- 2.48.1