1" Vim syntax file 2" Language: MGL 3" Version: 1.0 4" Last Change: 2006 Feb 21 5" Maintainer: Gero Kuhlmann <[email protected]> 6" 7" $Id: mgl.vim,v 1.1 2006/02/21 22:08:20 vimboss Exp $ 8" 9" quit when a syntax file was already loaded 10if exists("b:current_syntax") 11 finish 12endif 13 14 15syn sync lines=250 16 17syn keyword mglBoolean true false 18syn keyword mglConditional if else then 19syn keyword mglConstant nil 20syn keyword mglPredefined maxint 21syn keyword mglLabel case goto label 22syn keyword mglOperator to downto in of with 23syn keyword mglOperator and not or xor div mod 24syn keyword mglRepeat do for repeat while to until 25syn keyword mglStatement procedure function break continue return restart 26syn keyword mglStatement program begin end const var type 27syn keyword mglStruct record 28syn keyword mglType integer string char boolean char ipaddr array 29 30 31" String 32if !exists("mgl_one_line_string") 33 syn region mglString matchgroup=mglString start=+'+ end=+'+ contains=mglStringEscape 34 syn region mglString matchgroup=mglString start=+"+ end=+"+ contains=mglStringEscapeGPC 35else 36 "wrong strings 37 syn region mglStringError matchgroup=mglStringError start=+'+ end=+'+ end=+$+ contains=mglStringEscape 38 syn region mglStringError matchgroup=mglStringError start=+"+ end=+"+ end=+$+ contains=mglStringEscapeGPC 39 "right strings 40 syn region mglString matchgroup=mglString start=+'+ end=+'+ oneline contains=mglStringEscape 41 syn region mglString matchgroup=mglString start=+"+ end=+"+ oneline contains=mglStringEscapeGPC 42end 43syn match mglStringEscape contained "''" 44syn match mglStringEscapeGPC contained '""' 45 46 47if exists("mgl_symbol_operator") 48 syn match mglSymbolOperator "[+\-/*=\%]" 49 syn match mglSymbolOperator "[<>]=\=" 50 syn match mglSymbolOperator "<>" 51 syn match mglSymbolOperator ":=" 52 syn match mglSymbolOperator "[()]" 53 syn match mglSymbolOperator "\.\." 54 syn match mglMatrixDelimiter "(." 55 syn match mglMatrixDelimiter ".)" 56 syn match mglMatrixDelimiter "[][]" 57endif 58 59syn match mglNumber "-\=\<\d\+\>" 60syn match mglHexNumber "\$[0-9a-fA-F]\+\>" 61syn match mglCharacter "\#[0-9]\+\>" 62syn match mglIpAddr "[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\>" 63 64syn region mglComment start="(\*" end="\*)" 65syn region mglComment start="{" end="}" 66syn region mglComment start="//" end="$" 67 68if !exists("mgl_no_functions") 69 syn keyword mglFunction dispose new 70 syn keyword mglFunction get load print select 71 syn keyword mglFunction odd pred succ 72 syn keyword mglFunction chr ord abs sqr 73 syn keyword mglFunction exit 74 syn keyword mglOperator at timeout 75endif 76 77 78syn region mglPreProc start="(\*\$" end="\*)" 79syn region mglPreProc start="{\$" end="}" 80 81syn keyword mglException try except raise 82syn keyword mglPredefined exception 83 84 85" Define the default highlighting. 86" Only when an item doesn't have highlighting yet 87command -nargs=+ HiLink hi def link <args> 88 89HiLink mglBoolean Boolean 90HiLink mglComment Comment 91HiLink mglConditional Conditional 92HiLink mglConstant Constant 93HiLink mglException Exception 94HiLink mglFunction Function 95HiLink mglLabel Label 96HiLink mglMatrixDelimiter Identifier 97HiLink mglNumber Number 98HiLink mglHexNumber Number 99HiLink mglCharacter Number 100HiLink mglIpAddr Number 101HiLink mglOperator Operator 102HiLink mglPredefined mglFunction 103HiLink mglPreProc PreProc 104HiLink mglRepeat Repeat 105HiLink mglStatement Statement 106HiLink mglString String 107HiLink mglStringEscape Special 108HiLink mglStringEscapeGPC Special 109HiLink mglStringError Error 110HiLink mglStruct mglStatement 111HiLink mglSymbolOperator mglOperator 112HiLink mglType Type 113 114delcommand HiLink 115 116 117let b:current_syntax = "mgl" 118 119" vim: ts=8 sw=2 120