summaryrefslogtreecommitdiff
path: root/runtime/syntax/crm.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/crm.vim')
-rw-r--r--runtime/syntax/crm.vim61
1 files changed, 61 insertions, 0 deletions
diff --git a/runtime/syntax/crm.vim b/runtime/syntax/crm.vim
new file mode 100644
index 000000000..4a1e3bc41
--- /dev/null
+++ b/runtime/syntax/crm.vim
@@ -0,0 +1,61 @@
+" Vim syntax file
+" Language: CRM114
+" Maintainer: Nikolai Weibull <source@pcppopper.org>
+" URL: http://www.pcppopper.org/vim/syntax/pcp/crm/
+" Latest Revision: 2004-05-22
+" arch-tag: a3d3eaaf-4700-44ff-b332-f6c42c036883
+
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+" Todo
+syn keyword crmTodo contained TODO FIXME XXX NOTE
+
+" Comments
+syn region crmComment matchgroup=crmComment start='#' end='$' end='\\#' contains=crmTodo
+
+" Variables
+syn match crmVariable ':[*#@]:[^:]\{-1,}:'
+
+" Special Characters
+syn match crmSpecial '\\\%(x\x\x\|o\o\o\o\|[]nrtabvf0>)};/\\]\)'
+
+" Statements
+syn keyword crmStatement insert noop accept alius alter classify eval exit
+syn keyword crmStatement fail fault goto hash intersect isolate input learn
+syn keyword crmStatement liaf match output syscall trap union window
+
+" Regexes
+syn region crmRegex matchgroup=crmRegex start='/' skip='\\/' end='/' contains=crmVariable
+
+" Labels
+syn match crmLabel '^\s*:[[:graph:]]\+:'
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_crm_syn_inits")
+ if version < 508
+ let did_crm_syn_inits = 1
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
+
+ HiLink crmTodo Todo
+ HiLink crmComment Comment
+ HiLink crmVariable Identifier
+ HiLink crmSpecial SpecialChar
+ HiLink crmStatement Statement
+ HiLink crmRegex String
+ HiLink crmLabel Label
+
+ delcommand HiLink
+endif
+
+let b:current_syntax = "crm"
+
+" vim: set sts=2 sw=2: