home *** CD-ROM | disk | FTP | other *** search
- " Vim syntax file
- " Language: MGL
- " Version: 1.0
- " Last Change: 2006 Feb 21
- " Maintainer: Gero Kuhlmann <gero@gkminix.han.de>
- "
- " $Id: mgl.vim,v 1.1 2006/02/21 22:08:20 vimboss Exp $
- "
- if version < 600
- syntax clear
- elseif exists("b:current_syntax")
- finish
- endif
-
-
- syn sync lines=250
-
- syn keyword mglBoolean true false
- syn keyword mglConditional if else then
- syn keyword mglConstant nil
- syn keyword mglPredefined maxint
- syn keyword mglLabel case goto label
- syn keyword mglOperator to downto in of with
- syn keyword mglOperator and not or xor div mod
- syn keyword mglRepeat do for repeat while to until
- syn keyword mglStatement procedure function break continue return restart
- syn keyword mglStatement program begin end const var type
- syn keyword mglStruct record
- syn keyword mglType integer string char boolean char ipaddr array
-
-
- " String
- if !exists("mgl_one_line_string")
- syn region mglString matchgroup=mglString start=+'+ end=+'+ contains=mglStringEscape
- syn region mglString matchgroup=mglString start=+"+ end=+"+ contains=mglStringEscapeGPC
- else
- "wrong strings
- syn region mglStringError matchgroup=mglStringError start=+'+ end=+'+ end=+$+ contains=mglStringEscape
- syn region mglStringError matchgroup=mglStringError start=+"+ end=+"+ end=+$+ contains=mglStringEscapeGPC
- "right strings
- syn region mglString matchgroup=mglString start=+'+ end=+'+ oneline contains=mglStringEscape
- syn region mglString matchgroup=mglString start=+"+ end=+"+ oneline contains=mglStringEscapeGPC
- end
- syn match mglStringEscape contained "''"
- syn match mglStringEscapeGPC contained '""'
-
-
- if exists("mgl_symbol_operator")
- syn match mglSymbolOperator "[+\-/*=\%]"
- syn match mglSymbolOperator "[<>]=\="
- syn match mglSymbolOperator "<>"
- syn match mglSymbolOperator ":="
- syn match mglSymbolOperator "[()]"
- syn match mglSymbolOperator "\.\."
- syn match mglMatrixDelimiter "(."
- syn match mglMatrixDelimiter ".)"
- syn match mglMatrixDelimiter "[][]"
- endif
-
- syn match mglNumber "-\=\<\d\+\>"
- syn match mglHexNumber "\$[0-9a-fA-F]\+\>"
- syn match mglCharacter "\#[0-9]\+\>"
- syn match mglIpAddr "[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\>"
-
- syn region mglComment start="(\*" end="\*)"
- syn region mglComment start="{" end="}"
- syn region mglComment start="//" end="$"
-
- if !exists("mgl_no_functions")
- syn keyword mglFunction dispose new
- syn keyword mglFunction get load print select
- syn keyword mglFunction odd pred succ
- syn keyword mglFunction chr ord abs sqr
- syn keyword mglFunction exit
- syn keyword mglOperator at timeout
- endif
-
-
- syn region mglPreProc start="(\*\$" end="\*)"
- syn region mglPreProc start="{\$" end="}"
-
- syn keyword mglException try except raise
- syn keyword mglPredefined exception
-
-
- " Define the default highlighting.
- " For version 5.7 and earlier: only when not done already
- " For version 5.8 and later: only when an item doesn't have highlighting yet
- if version >= 508 || !exists("did_mgl_syn_inits")
- if version < 508
- let did_mgl_syn_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
-
- HiLink mglBoolean Boolean
- HiLink mglComment Comment
- HiLink mglConditional Conditional
- HiLink mglConstant Constant
- HiLink mglException Exception
- HiLink mglFunction Function
- HiLink mglLabel Label
- HiLink mglMatrixDelimiter Identifier
- HiLink mglNumber Number
- HiLink mglHexNumber Number
- HiLink mglCharacter Number
- HiLink mglIpAddr Number
- HiLink mglOperator Operator
- HiLink mglPredefined mglFunction
- HiLink mglPreProc PreProc
- HiLink mglRepeat Repeat
- HiLink mglStatement Statement
- HiLink mglString String
- HiLink mglStringEscape Special
- HiLink mglStringEscapeGPC Special
- HiLink mglStringError Error
- HiLink mglStruct mglStatement
- HiLink mglSymbolOperator mglOperator
- HiLink mglType Type
-
- delcommand HiLink
- endif
-
-
- let b:current_syntax = "mgl"
-
- " vim: ts=8 sw=2
-