xref: /vim-8.2.3635/runtime/syntax/gp.vim (revision f37506f6)
1071d4279SBram Moolenaar" Vim syntax file
26be7f873SBram Moolenaar" Language:	gp (version 2.5)
318144c84SBram Moolenaar" Maintainer:	Karim Belabas <[email protected]>
46be7f873SBram Moolenaar" Last change:	2012 Jan 08
518144c84SBram Moolenaar" URL:		http://pari.math.u-bordeaux.fr
6071d4279SBram Moolenaar
789bcfda6SBram Moolenaar" quit when a syntax file was already loaded
889bcfda6SBram Moolenaarif exists("b:current_syntax")
9071d4279SBram Moolenaar  finish
10071d4279SBram Moolenaarendif
11071d4279SBram Moolenaar
126be7f873SBram Moolenaarlet s:cpo_save = &cpo
136be7f873SBram Moolenaarset cpo&vim
146be7f873SBram Moolenaar
1518144c84SBram Moolenaar" control statements
16071d4279SBram Moolenaarsyntax keyword gpStatement	break return next
17071d4279SBram Moolenaarsyntax keyword gpConditional	if
186be7f873SBram Moolenaarsyntax keyword gpRepeat		until while for fordiv forell forprime
196be7f873SBram Moolenaarsyntax keyword gpRepeat		forsubgroup forstep forvec
2018144c84SBram Moolenaar" storage class
21a7241f5fSBram Moolenaarsyntax keyword gpScope		my local global
2218144c84SBram Moolenaar" defaults
236be7f873SBram Moolenaarsyntax keyword gpInterfaceKey	breakloop colors compatible
246be7f873SBram Moolenaarsyntax keyword gpInterfaceKey	datadir debug debugfiles debugmem
256be7f873SBram Moolenaarsyntax keyword gpInterfaceKey	echo factor_add_primes factor_proven format
266be7f873SBram Moolenaarsyntax keyword gpInterfaceKey	graphcolormap graphcolors
276be7f873SBram Moolenaarsyntax keyword gpInterfaceKey	help histfile histsize
286be7f873SBram Moolenaarsyntax keyword gpInterfaceKey	lines linewrap log logfile new_galois_format
2918144c84SBram Moolenaarsyntax keyword gpInterfaceKey	output parisize path prettyprinter primelimit
306be7f873SBram Moolenaarsyntax keyword gpInterfaceKey	prompt prompt_cont psfile
316be7f873SBram Moolenaarsyntax keyword gpInterfaceKey	readline realprecision recover
326be7f873SBram Moolenaarsyntax keyword gpInterfaceKey	secure seriesprecision simplify strictmatch
336be7f873SBram Moolenaarsyntax keyword gpInterfaceKey	TeXstyle timer
34071d4279SBram Moolenaar
35071d4279SBram Moolenaarsyntax match gpInterface	"^\s*\\[a-z].*"
36071d4279SBram Moolenaarsyntax keyword gpInterface	default
37071d4279SBram Moolenaarsyntax keyword gpInput		read input
38071d4279SBram Moolenaar
39071d4279SBram Moolenaar" functions
40071d4279SBram Moolenaarsyntax match gpFunRegion "^\s*[a-zA-Z][_a-zA-Z0-9]*(.*)\s*=\s*[^ \t=]"me=e-1 contains=gpFunction,gpArgs
41071d4279SBram Moolenaarsyntax match gpFunRegion "^\s*[a-zA-Z][_a-zA-Z0-9]*(.*)\s*=\s*$" contains=gpFunction,gpArgs
42071d4279SBram Moolenaarsyntax match gpArgs contained "[a-zA-Z][_a-zA-Z0-9]*"
43071d4279SBram Moolenaarsyntax match gpFunction contained "^\s*[a-zA-Z][_a-zA-Z0-9]*("me=e-1
44071d4279SBram Moolenaar
45071d4279SBram Moolenaar" String and Character constants
46071d4279SBram Moolenaar" Highlight special (backslash'ed) characters differently
47071d4279SBram Moolenaarsyntax match  gpSpecial contained "\\[ent\\]"
48071d4279SBram Moolenaarsyntax region gpString  start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=gpSpecial
49071d4279SBram Moolenaar
50071d4279SBram Moolenaar"comments
51071d4279SBram Moolenaarsyntax region gpComment	start="/\*"  end="\*/" contains=gpTodo
52071d4279SBram Moolenaarsyntax match  gpComment "\\\\.*" contains=gpTodo
53071d4279SBram Moolenaarsyntax keyword gpTodo contained	TODO
54071d4279SBram Moolenaarsyntax sync ccomment gpComment minlines=10
55071d4279SBram Moolenaar
56071d4279SBram Moolenaar"catch errors caused by wrong parenthesis
57071d4279SBram Moolenaarsyntax region gpParen		transparent start='(' end=')' contains=ALLBUT,gpParenError,gpTodo,gpFunction,gpArgs,gpSpecial
58071d4279SBram Moolenaarsyntax match gpParenError	")"
59071d4279SBram Moolenaarsyntax match gpInParen contained "[{}]"
60071d4279SBram Moolenaar
61071d4279SBram Moolenaar
62*f37506f6SBram Moolenaarhi def link gpConditional		Conditional
63*f37506f6SBram Moolenaarhi def link gpRepeat		Repeat
64*f37506f6SBram Moolenaarhi def link gpError		Error
65*f37506f6SBram Moolenaarhi def link gpParenError		gpError
66*f37506f6SBram Moolenaarhi def link gpInParen		gpError
67*f37506f6SBram Moolenaarhi def link gpStatement		Statement
68*f37506f6SBram Moolenaarhi def link gpString		String
69*f37506f6SBram Moolenaarhi def link gpComment		Comment
70*f37506f6SBram Moolenaarhi def link gpInterface		Type
71*f37506f6SBram Moolenaarhi def link gpInput		Type
72*f37506f6SBram Moolenaarhi def link gpInterfaceKey		Statement
73*f37506f6SBram Moolenaarhi def link gpFunction		Function
74*f37506f6SBram Moolenaarhi def link gpScope		Type
75071d4279SBram Moolenaar" contained ones
76*f37506f6SBram Moolenaarhi def link gpSpecial		Special
77*f37506f6SBram Moolenaarhi def link gpTodo			Todo
78*f37506f6SBram Moolenaarhi def link gpArgs			Type
79071d4279SBram Moolenaar
80071d4279SBram Moolenaarlet b:current_syntax = "gp"
816be7f873SBram Moolenaarlet &cpo = s:cpo_save
826be7f873SBram Moolenaarunlet s:cpo_save
83071d4279SBram Moolenaar" vim: ts=8
84