Signed-off-by: Jean Privat <jean@pryen.org>
<keyword>redef</keyword>
<keyword>var</keyword>
<keyword>package</keyword>
<keyword>redef</keyword>
<keyword>var</keyword>
<keyword>package</keyword>
+ <keyword>module</keyword>
<keyword>type</keyword>
<keyword>universal</keyword>
<keyword>type</keyword>
<keyword>universal</keyword>
+ <keyword>enum</keyword>
</context>
<context id="module-handlers" style-ref="module-handler">
</context>
<context id="module-handlers" style-ref="module-handler">
include "number.lang"
string delim "\"" "\"" escape "\\"
string delim "'" "'" escape "\\"
include "number.lang"
string delim "\"" "\"" escape "\\"
string delim "'" "'" escape "\\"
-keyword = "abort|abstract|as|assert|break|continue|do|else|end|extern|for|if|import|in|interface|intern|intrude|is|isa|isset|new|label|loop|private|protected|readable|return|super|then|while|false|null|nullable|redef|self|true|and|not|or|fun|var|type|init|class|package|special|universal|writable"
+keyword = "abort|abstract|as|assert|break|continue|do|else|end|enum|extern|for|if|import|in|interface|intern|intrude|is|isa|isset|new|label|loop|private|protected|readable|return|super|then|while|false|null|nullable|redef|self|true|and|not|or|fun|var|type|init|class|package|module|special|universal|writable"
type = '[[:upper:]]([[:word:]]*)'
include "symbols.lang"
type = '[[:upper:]]([[:word:]]*)'
include "symbols.lang"
syn match Error "\<end\>"
" Declarations, definitions and blocks
syn match Error "\<end\>"
" Declarations, definitions and blocks
-syn region NITPackageDecl matchgroup=NITDefine start="\<\(import\|package\)\>\s*" matchgroup=NONE end="\ze\(\s\|:\|(\|$\)" oneline
-syn region NITClassBlock matchgroup=NITDefine start="\<\(class\|universal\|interface\)\>" matchgroup=NITDefine end="\<end\>" contains=ALL fold
+syn region NITModuleDecl matchgroup=NITDefine start="\<\(import\|module\|package\)\>\s*" matchgroup=NONE end="\ze\(\s\|:\|(\|$\)" oneline
+syn region NITClassBlock matchgroup=NITDefine start="\<\(class\|enum\|universal\|interface\)\>" matchgroup=NITDefine end="\<end\>" contains=ALL fold
syn region NITFunctionDecl matchgroup=NITDefine start="\<fun\>\s*" matchgroup=NONE end="\ze\(\<do\>\|\s\|:\|(\|$\)" oneline
syn region NITTypeDecl matchgroup=NITDefine start="\<type\>\s*" matchgroup=NONE end="\ze\(\<do\>\|\s\|:\|(\|$\)" oneline contained containedin=NITClassBlock
syn region NITAttrDecl matchgroup=NITDefine start="\<var\>\s*\ze_" matchgroup=NONE end="\ze\(\<do\>\|\s\|:\|(\|$\)" oneline contained containedin=NITClassBlock
syn region NITFunctionDecl matchgroup=NITDefine start="\<fun\>\s*" matchgroup=NONE end="\ze\(\<do\>\|\s\|:\|(\|$\)" oneline
syn region NITTypeDecl matchgroup=NITDefine start="\<type\>\s*" matchgroup=NONE end="\ze\(\<do\>\|\s\|:\|(\|$\)" oneline contained containedin=NITClassBlock
syn region NITAttrDecl matchgroup=NITDefine start="\<var\>\s*\ze_" matchgroup=NONE end="\ze\(\<do\>\|\s\|:\|(\|$\)" oneline contained containedin=NITClassBlock
" Define the default highlighting.
hi def link NITDefine Define
" Define the default highlighting.
hi def link NITDefine Define
-hi def link NITPackageDecl Identifier
+hi def link NITModuleDecl Identifier
hi def link NITFunctionDecl Function
hi def link NITTypeDecl Function
hi def link NITAttrDecl Function
hi def link NITFunctionDecl Function
hi def link NITTypeDecl Function
hi def link NITAttrDecl Function