mgl.vim (3724B)
1 " Vim syntax file 2 " Language: MGL 3 " Version: 1.0 4 " Last Change: 2006 Feb 21 5 " Maintainer: Gero Kuhlmann <gero@gkminix.han.de> 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 10 if exists("b:current_syntax") 11 finish 12 endif 13 14 15 syn sync lines=250 16 17 syn keyword mglBoolean true false 18 syn keyword mglConditional if else then 19 syn keyword mglConstant nil 20 syn keyword mglPredefined maxint 21 syn keyword mglLabel case goto label 22 syn keyword mglOperator to downto in of with 23 syn keyword mglOperator and not or xor div mod 24 syn keyword mglRepeat do for repeat while to until 25 syn keyword mglStatement procedure function break continue return restart 26 syn keyword mglStatement program begin end const var type 27 syn keyword mglStruct record 28 syn keyword mglType integer string char boolean char ipaddr array 29 30 31 " String 32 if !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 35 else 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 42 end 43 syn match mglStringEscape contained "''" 44 syn match mglStringEscapeGPC contained '""' 45 46 47 if 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 "[][]" 57 endif 58 59 syn match mglNumber "-\=\<\d\+\>" 60 syn match mglHexNumber "\$[0-9a-fA-F]\+\>" 61 syn match mglCharacter "\#[0-9]\+\>" 62 syn match mglIpAddr "[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\>" 63 64 syn region mglComment start="(\*" end="\*)" 65 syn region mglComment start="{" end="}" 66 syn region mglComment start="//" end="$" 67 68 if !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 75 endif 76 77 78 syn region mglPreProc start="(\*\$" end="\*)" 79 syn region mglPreProc start="{\$" end="}" 80 81 syn keyword mglException try except raise 82 syn keyword mglPredefined exception 83 84 85 " Define the default highlighting. 86 " Only when an item doesn't have highlighting yet 87 88 hi def link mglBoolean Boolean 89 hi def link mglComment Comment 90 hi def link mglConditional Conditional 91 hi def link mglConstant Constant 92 hi def link mglException Exception 93 hi def link mglFunction Function 94 hi def link mglLabel Label 95 hi def link mglMatrixDelimiter Identifier 96 hi def link mglNumber Number 97 hi def link mglHexNumber Number 98 hi def link mglCharacter Number 99 hi def link mglIpAddr Number 100 hi def link mglOperator Operator 101 hi def link mglPredefined mglFunction 102 hi def link mglPreProc PreProc 103 hi def link mglRepeat Repeat 104 hi def link mglStatement Statement 105 hi def link mglString String 106 hi def link mglStringEscape Special 107 hi def link mglStringEscapeGPC Special 108 hi def link mglStringError Error 109 hi def link mglStruct mglStatement 110 hi def link mglSymbolOperator mglOperator 111 hi def link mglType Type 112 113 114 115 let b:current_syntax = "mgl" 116 117 " vim: ts=8 sw=2