commit ec767467f7b2969f15cc96a80fa2a1e53ac3aa88 Author: gryf Date: Tue May 30 20:16:59 2017 +0200 Added syntax file diff --git a/syntax/openui-opl.vim b/syntax/openui-opl.vim new file mode 100644 index 0000000..2fda554 --- /dev/null +++ b/syntax/openui-opl.vim @@ -0,0 +1,71 @@ +" Vim syntax file +" Language: OpenUI/OPL +" Maintainer: Roman 'gryf' Dobosz +" $Id: opl.vim,v 1.0 2011/01/09 17:34:11 vimboss Exp $ + +" Open UI Language +if exists("b:current_syntax") + finish +endif + +syn region OPLString start=+"+ end=+"+ contains=@Spell +syn region OPLSString start=+'+ end=+'+ contains=@Spell +syn match OPLNumber "\<\d\+\>" display +syn match OPLFloat "\<\d\+\.\d\+\>" +"syn match OPLFloat "\.\d\+\>" + +syn keyword OPLCommentTodo TODO FIXME XXX TBD +syn match OPLLineComment "\/\/.*" contains=@Spell,OPLCommentTodo +syn region OPLComment start="/\*" end="\*/" contains=@Spell,OPLCommentTodo + +syn keyword OPLConditional if else when goto +syn keyword OPLRepeat for while +syn keyword OPLConstant TRUE FALSE true false NULL + +syn keyword OPLType OuiBooleanT OuiCharT OuiDecimalT OuiFloatT OuiIntegerT +syn keyword OPLType OuiLongT OuiPointerT OuiShortT OuiStringT +syn keyword OPLType array bool char const constant enum float inst +syn keyword OPLType int long message record short string + +syn keyword OPLStatement class of return const var module on message +syn keyword OPLStatement initially instance private public type var +syn keyword OPLStatement variable when while + +syn keyword OPLOperator and in not div + +syn keyword OPLStatement class function nextgroup=OPLFunction skipwhite +syn match OPLFunction "[a-zA-Z_][a-zA-Z0-9_]*" display contained +syn match OPLSpecial "::\~\?\zs\h\w*\ze([^)]*\()\s*\(const\)\?\)\?" +syn match OPLKeyword "\^\w*\~\?" + +" Highlight Class and Function names +syn match OPLCustomParen "(" "contains=Paren,cCppParen +syn match OPLCustomFunction "\w\+\s*(" contains=OPLCustomParen +"syn match OPLCustomScope "::" +"syn match OPLCustomClass "\w\+\s*::" contains=OPLCustomScope + +" Folding +syn region OPLFold start="{" end="}" transparent fold +"syn sync fromstart +setlocal foldmethod=syntax +setlocal nofoldenable + +" Define the default highliting +hi def link OPLComment Comment +hi def link OPLLineComment Comment +hi def link OPLNumber Number +hi def link OPLFloat Float +hi def link OPLFunction Function +hi def link OPLConstant Constant +hi def link OPLStatement Statement +hi def link OPLString String +hi def link OPLSString String +hi def link OPLType Type +hi def link OPLConditional Conditional +hi def link OPLCommentTodo Todo +hi def link OPLSpecial Special +hi def link OPLKeyword Keyword +hi def link OPLCustomFunction Special + +let b:current_syntax = "openui-opl" +" vim: ts=8