neovim

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

esterel.vim (3053B)


      1 " Vim syntax file
      2 " Language:			ESTEREL
      3 " Maintainer:		Maurizio Tranchero <maurizio.tranchero@polito.it> - <maurizio.tranchero@gmail.com>
      4 " Credits:			Luca Necchi	<luca.necchi@polito.it>, Nikos Andrikos <nick.andrik@gmail.com>
      5 " First Release:	Tue May 17 23:49:39 CEST 2005
      6 " Last Change:		Tue May  6 13:29:56 CEST 2008
      7 " Version:			0.8
      8 
      9 " quit when a syntax file was already loaded
     10 if exists("b:current_syntax")
     11  finish
     12 endif
     13 
     14 " case is significant
     15 syn case ignore
     16 " Esterel Regions
     17 syn region esterelModule					start=/module/		end=/end module/	contains=ALLBUT,esterelModule
     18 syn region esterelLoop						start=/loop/		end=/end loop/		contains=ALLBUT,esterelModule
     19 syn region esterelAbort						start=/abort/		end=/when/			contains=ALLBUT,esterelModule
     20 syn region esterelAbort						start=/weak abort/	end=/when/			contains=ALLBUT,esterelModule
     21 syn region esterelEvery						start=/every/		end=/end every/		contains=ALLBUT,esterelModule
     22 syn region esterelIf						start=/if/			end=/end if/		contains=ALLBUT,esterelModule
     23 syn region esterelConcurrent	transparent start=/\[/			end=/\]/			contains=ALLBUT,esterelModule
     24 syn region esterelIfThen					start=/if/			end=/then/			oneline
     25 " Esterel Keywords
     26 syn keyword esterelIO			input output inputoutput constant
     27 syn keyword esterelBoolean		and or not xor xnor nor nand
     28 syn keyword esterelExpressions	mod pre
     29 syn keyword esterelStatement	nothing halt
     30 syn keyword esterelStatement	module signal sensor end
     31 syn keyword esterelStatement	every do loop abort weak
     32 syn keyword esterelStatement	emit present await
     33 syn keyword esterelStatement	pause when immediate
     34 syn keyword esterelStatement	if then else case
     35 syn keyword esterelStatement	var in  run  suspend
     36 syn keyword esterelStatement	repeat times combine with
     37 syn keyword esterelStatement	assert sustain
     38 " check what it is the following
     39 syn keyword esterelStatement	relation						
     40 syn keyword esterelFunctions	function procedure task
     41 syn keyword esterelSysCall		call trap exit exec
     42 " Esterel Types
     43 syn keyword esterelType 		integer float bolean
     44 " Esterel Comment
     45 syn match esterelComment		"%.*$"
     46 " Operators and special characters
     47 syn match esterelSpecial		":"
     48 syn match esterelSpecial		"<="
     49 syn match esterelSpecial		">="
     50 syn match esterelSpecial		"+"
     51 syn match esterelSpecial		"-"
     52 syn match esterelSpecial		"="
     53 syn match esterelSpecial		";"
     54 syn match esterelSpecial		"/"
     55 syn match esterelSpecial		"?"
     56 syn match esterelOperator		"\["
     57 syn match esterelOperator		"\]"
     58 syn match esterelOperator		":="
     59 syn match esterelOperator		"||"
     60 syn match esterelStatement		"\<\(if\|else\)\>"
     61 syn match esterelNone			"\<else\s\+if\>$"
     62 syn match esterelNone			"\<else\s\+if\>\s"
     63 
     64 " Class Linking
     65 
     66 hi def link esterelStatement		Statement
     67 hi def link esterelType			Type
     68 hi def link esterelComment		Comment
     69 hi def link esterelBoolean		Number
     70 hi def link esterelExpressions	Number
     71 hi def link esterelIO			String
     72 hi def link esterelOperator		Type
     73 hi def link esterelSysCall		Type
     74 hi def link esterelFunctions		Type
     75 hi def link esterelSpecial		Special
     76 
     77 
     78 let b:current_syntax = "esterel"