diff options
author | Lars-Dominik Braun <lars@6xq.net> | 2017-07-09 14:39:58 +0200 |
---|---|---|
committer | Lars-Dominik Braun <lars@6xq.net> | 2017-07-09 14:39:58 +0200 |
commit | 58e98cc43952385dd165885d04eb2260f3ddc38e (patch) | |
tree | b714a5e49f35cbcb2d783474a8cd3bae1f87a137 /elan.vim | |
parent | 5518d226faa8bf8f624cdb7e804927d6c13453e7 (diff) | |
download | eumel-tools-58e98cc43952385dd165885d04eb2260f3ddc38e.tar.gz eumel-tools-58e98cc43952385dd165885d04eb2260f3ddc38e.tar.bz2 eumel-tools-58e98cc43952385dd165885d04eb2260f3ddc38e.zip |
Add ELAN vim syntax file/pygments lexer and README
Diffstat (limited to 'elan.vim')
-rw-r--r-- | elan.vim | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/elan.vim b/elan.vim new file mode 100644 index 0000000..56f03d6 --- /dev/null +++ b/elan.vim @@ -0,0 +1,51 @@ +" Vim syntax file +" Copy to ~/.vim/syntax/ and enable with :set filetype=elan +" Language: ELAN +" Maintainer: Lars-Dominik Braun <lars+eumel@6xq.net> +" Latest Revision: 2017-02-26 + +if exists("b:current_syntax") + finish +endif + +syn keyword elanStatement PROC ENDPROC OP PACKET LEAVE WITH END LET DEFINES +syn keyword elanConditional IF ELSE FI THEN SELECT OF ELIF +syn keyword elanRepeat FOR FROM UPTO REP PER WHILE UNTIL +syn keyword elanBoolean TRUE FALSE +syn keyword elanType DATASPACE INT TEXT BOOL THESAURUS FILE REAL +syn match elanOperator ":=" +syn match elanOperator "::" +syn match elanOperator "\*" +syn match elanOperator "<>" +syn keyword elanOperator AND OR CAND COR NOT XOR +syn keyword elanOperator DIV MUL ISUB INCR DECR MOD SUB LENGTH CAT LIKE CONTAINS +syn keyword elanStorageClass VAR CONST BOUND ROW +syn keyword elanStructure STRUCT TYPE +syn keyword elanLabel CASE OTHERWISE +syn match elanNumber "-\=\<\d\+\>" +syn match elanFloat "\d\+\.\d\+" + +syn region elanComment start=+(\*+ end=+\*)+ +" XXX: tried to fix strings containing numbers that are not escapes, like "2", +syn region elanString start=+"+rs=s+1 end=+"+re=e-1 contains=elanStringEscape +"syn match elanStringEscape contained +"[0-9]\+"+ + + +hi def link elanBoolean Boolean +hi def link elanConditional Conditional +hi def link elanRepeat Repeat +hi def link elanType Type +hi def link elanComment Comment +hi def link elanOperator Operator +hi def link elanString String +hi def link elanStringEscape Special +hi def link elanStorageClass StorageClass +hi def link elanStructure Structure +hi def link elanLabel Label +hi def link elanStatement Statement +hi def link elanNumber Number +hi def link elanFloat Float + +let b:current_syntax = "elan" + + |