mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 09:44:31 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			118 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			118 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" 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 $
 | 
						|
"
 | 
						|
" quit when a syntax file was already loaded
 | 
						|
if 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.
 | 
						|
" Only when an item doesn't have highlighting yet
 | 
						|
 | 
						|
hi def link mglBoolean		Boolean
 | 
						|
hi def link mglComment		Comment
 | 
						|
hi def link mglConditional		Conditional
 | 
						|
hi def link mglConstant		Constant
 | 
						|
hi def link mglException		Exception
 | 
						|
hi def link mglFunction		Function
 | 
						|
hi def link mglLabel		Label
 | 
						|
hi def link mglMatrixDelimiter	Identifier
 | 
						|
hi def link mglNumber		Number
 | 
						|
hi def link mglHexNumber		Number
 | 
						|
hi def link mglCharacter		Number
 | 
						|
hi def link mglIpAddr		Number
 | 
						|
hi def link mglOperator		Operator
 | 
						|
hi def link mglPredefined		mglFunction
 | 
						|
hi def link mglPreProc		PreProc
 | 
						|
hi def link mglRepeat		Repeat
 | 
						|
hi def link mglStatement		Statement
 | 
						|
hi def link mglString		String
 | 
						|
hi def link mglStringEscape	Special
 | 
						|
hi def link mglStringEscapeGPC	Special
 | 
						|
hi def link mglStringError		Error
 | 
						|
hi def link mglStruct		mglStatement
 | 
						|
hi def link mglSymbolOperator	mglOperator
 | 
						|
hi def link mglType		Type
 | 
						|
 | 
						|
 | 
						|
 | 
						|
let b:current_syntax = "mgl"
 | 
						|
 | 
						|
" vim: ts=8 sw=2
 |