neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

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