1238a5649SBram Moolenaar" Vim syntax file 2238a5649SBram Moolenaar" Language: MGL 3238a5649SBram Moolenaar" Version: 1.0 4238a5649SBram Moolenaar" Last Change: 2006 Feb 21 5238a5649SBram Moolenaar" Maintainer: Gero Kuhlmann <[email protected]> 6238a5649SBram Moolenaar" 75c73622aSBram Moolenaar" $Id: mgl.vim,v 1.1 2006/02/21 22:08:20 vimboss Exp $ 8238a5649SBram Moolenaar" 989bcfda6SBram Moolenaar" quit when a syntax file was already loaded 1089bcfda6SBram Moolenaarif exists("b:current_syntax") 11238a5649SBram Moolenaar finish 12238a5649SBram Moolenaarendif 13238a5649SBram Moolenaar 14238a5649SBram Moolenaar 15238a5649SBram Moolenaarsyn sync lines=250 16238a5649SBram Moolenaar 17238a5649SBram Moolenaarsyn keyword mglBoolean true false 18238a5649SBram Moolenaarsyn keyword mglConditional if else then 19238a5649SBram Moolenaarsyn keyword mglConstant nil 20238a5649SBram Moolenaarsyn keyword mglPredefined maxint 21238a5649SBram Moolenaarsyn keyword mglLabel case goto label 22238a5649SBram Moolenaarsyn keyword mglOperator to downto in of with 23238a5649SBram Moolenaarsyn keyword mglOperator and not or xor div mod 24238a5649SBram Moolenaarsyn keyword mglRepeat do for repeat while to until 25238a5649SBram Moolenaarsyn keyword mglStatement procedure function break continue return restart 26238a5649SBram Moolenaarsyn keyword mglStatement program begin end const var type 27238a5649SBram Moolenaarsyn keyword mglStruct record 28238a5649SBram Moolenaarsyn keyword mglType integer string char boolean char ipaddr array 29238a5649SBram Moolenaar 30238a5649SBram Moolenaar 31238a5649SBram Moolenaar" String 32238a5649SBram Moolenaarif !exists("mgl_one_line_string") 33238a5649SBram Moolenaar syn region mglString matchgroup=mglString start=+'+ end=+'+ contains=mglStringEscape 34238a5649SBram Moolenaar syn region mglString matchgroup=mglString start=+"+ end=+"+ contains=mglStringEscapeGPC 35238a5649SBram Moolenaarelse 36238a5649SBram Moolenaar "wrong strings 37238a5649SBram Moolenaar syn region mglStringError matchgroup=mglStringError start=+'+ end=+'+ end=+$+ contains=mglStringEscape 38238a5649SBram Moolenaar syn region mglStringError matchgroup=mglStringError start=+"+ end=+"+ end=+$+ contains=mglStringEscapeGPC 39238a5649SBram Moolenaar "right strings 40238a5649SBram Moolenaar syn region mglString matchgroup=mglString start=+'+ end=+'+ oneline contains=mglStringEscape 41238a5649SBram Moolenaar syn region mglString matchgroup=mglString start=+"+ end=+"+ oneline contains=mglStringEscapeGPC 42238a5649SBram Moolenaarend 43238a5649SBram Moolenaarsyn match mglStringEscape contained "''" 44238a5649SBram Moolenaarsyn match mglStringEscapeGPC contained '""' 45238a5649SBram Moolenaar 46238a5649SBram Moolenaar 47238a5649SBram Moolenaarif exists("mgl_symbol_operator") 48238a5649SBram Moolenaar syn match mglSymbolOperator "[+\-/*=\%]" 49238a5649SBram Moolenaar syn match mglSymbolOperator "[<>]=\=" 50238a5649SBram Moolenaar syn match mglSymbolOperator "<>" 51238a5649SBram Moolenaar syn match mglSymbolOperator ":=" 52238a5649SBram Moolenaar syn match mglSymbolOperator "[()]" 53238a5649SBram Moolenaar syn match mglSymbolOperator "\.\." 54238a5649SBram Moolenaar syn match mglMatrixDelimiter "(." 55238a5649SBram Moolenaar syn match mglMatrixDelimiter ".)" 56238a5649SBram Moolenaar syn match mglMatrixDelimiter "[][]" 57238a5649SBram Moolenaarendif 58238a5649SBram Moolenaar 59238a5649SBram Moolenaarsyn match mglNumber "-\=\<\d\+\>" 60238a5649SBram Moolenaarsyn match mglHexNumber "\$[0-9a-fA-F]\+\>" 61238a5649SBram Moolenaarsyn match mglCharacter "\#[0-9]\+\>" 62238a5649SBram Moolenaarsyn match mglIpAddr "[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\>" 63238a5649SBram Moolenaar 64238a5649SBram Moolenaarsyn region mglComment start="(\*" end="\*)" 65238a5649SBram Moolenaarsyn region mglComment start="{" end="}" 66238a5649SBram Moolenaarsyn region mglComment start="//" end="$" 67238a5649SBram Moolenaar 68238a5649SBram Moolenaarif !exists("mgl_no_functions") 69238a5649SBram Moolenaar syn keyword mglFunction dispose new 70238a5649SBram Moolenaar syn keyword mglFunction get load print select 71238a5649SBram Moolenaar syn keyword mglFunction odd pred succ 72238a5649SBram Moolenaar syn keyword mglFunction chr ord abs sqr 73238a5649SBram Moolenaar syn keyword mglFunction exit 74238a5649SBram Moolenaar syn keyword mglOperator at timeout 75238a5649SBram Moolenaarendif 76238a5649SBram Moolenaar 77238a5649SBram Moolenaar 78238a5649SBram Moolenaarsyn region mglPreProc start="(\*\$" end="\*)" 79238a5649SBram Moolenaarsyn region mglPreProc start="{\$" end="}" 80238a5649SBram Moolenaar 81238a5649SBram Moolenaarsyn keyword mglException try except raise 82238a5649SBram Moolenaarsyn keyword mglPredefined exception 83238a5649SBram Moolenaar 84238a5649SBram Moolenaar 85238a5649SBram Moolenaar" Define the default highlighting. 8689bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 87238a5649SBram Moolenaar 88*f37506f6SBram Moolenaarhi def link mglBoolean Boolean 89*f37506f6SBram Moolenaarhi def link mglComment Comment 90*f37506f6SBram Moolenaarhi def link mglConditional Conditional 91*f37506f6SBram Moolenaarhi def link mglConstant Constant 92*f37506f6SBram Moolenaarhi def link mglException Exception 93*f37506f6SBram Moolenaarhi def link mglFunction Function 94*f37506f6SBram Moolenaarhi def link mglLabel Label 95*f37506f6SBram Moolenaarhi def link mglMatrixDelimiter Identifier 96*f37506f6SBram Moolenaarhi def link mglNumber Number 97*f37506f6SBram Moolenaarhi def link mglHexNumber Number 98*f37506f6SBram Moolenaarhi def link mglCharacter Number 99*f37506f6SBram Moolenaarhi def link mglIpAddr Number 100*f37506f6SBram Moolenaarhi def link mglOperator Operator 101*f37506f6SBram Moolenaarhi def link mglPredefined mglFunction 102*f37506f6SBram Moolenaarhi def link mglPreProc PreProc 103*f37506f6SBram Moolenaarhi def link mglRepeat Repeat 104*f37506f6SBram Moolenaarhi def link mglStatement Statement 105*f37506f6SBram Moolenaarhi def link mglString String 106*f37506f6SBram Moolenaarhi def link mglStringEscape Special 107*f37506f6SBram Moolenaarhi def link mglStringEscapeGPC Special 108*f37506f6SBram Moolenaarhi def link mglStringError Error 109*f37506f6SBram Moolenaarhi def link mglStruct mglStatement 110*f37506f6SBram Moolenaarhi def link mglSymbolOperator mglOperator 111*f37506f6SBram Moolenaarhi def link mglType Type 112238a5649SBram Moolenaar 113238a5649SBram Moolenaar 114238a5649SBram Moolenaar 115238a5649SBram Moolenaarlet b:current_syntax = "mgl" 116238a5649SBram Moolenaar 117238a5649SBram Moolenaar" vim: ts=8 sw=2 118