xref: /vim-8.2.3635/runtime/syntax/gnuplot.vim (revision 071d4279)
1*071d4279SBram Moolenaar" Vim syntax file
2*071d4279SBram Moolenaar" Language:	gnuplot 3.8i.0
3*071d4279SBram Moolenaar" Maintainer:	John Hoelzel [email protected]
4*071d4279SBram Moolenaar" Last Change:	Mon May 26 02:33:33 UTC 2003
5*071d4279SBram Moolenaar" Filenames:	*.gpi  *.gih   scripts: #!*gnuplot
6*071d4279SBram Moolenaar" URL:		http://johnh51.get.to/vim/syntax/gnuplot.vim
7*071d4279SBram Moolenaar"
8*071d4279SBram Moolenaar
9*071d4279SBram Moolenaar" thanks to "David Necas (Yeti)" <[email protected]> for heads up - working on more changes .
10*071d4279SBram Moolenaar" *.gpi      = GnuPlot Input - what I use because there is no other guideline. jeh 11/2000
11*071d4279SBram Moolenaar" *.gih      = makes using cut/pasting from gnuplot.gih easier ...
12*071d4279SBram Moolenaar" #!*gnuplot = for Linux bash shell scripts of gnuplot commands.
13*071d4279SBram Moolenaar"	       emacs used a suffix of '<gp?>'
14*071d4279SBram Moolenaar" gnuplot demo files show no preference.
15*071d4279SBram Moolenaar" I will post mail and newsgroup comments on a standard suffix in 'URL' directory.
16*071d4279SBram Moolenaar
17*071d4279SBram Moolenaar" For version 5.x: Clear all syntax items
18*071d4279SBram Moolenaar" For version 6.x: Quit when a syntax file was already loaded
19*071d4279SBram Moolenaarif version < 600
20*071d4279SBram Moolenaar  syntax clear
21*071d4279SBram Moolenaarelseif exists("b:current_syntax")
22*071d4279SBram Moolenaar  finish
23*071d4279SBram Moolenaarendif
24*071d4279SBram Moolenaar
25*071d4279SBram Moolenaar" some shortened names to make demo files look clean... jeh. 11/2000
26*071d4279SBram Moolenaar" demos -> 3.8i ... jeh. 5/2003 - a work in progress...
27*071d4279SBram Moolenaar
28*071d4279SBram Moolenaar" commands
29*071d4279SBram Moolenaar
30*071d4279SBram Moolenaarsyn keyword gnuplotStatement	cd call clear exit set unset plot splot help
31*071d4279SBram Moolenaarsyn keyword gnuplotStatement	load pause quit fit rep[lot] if
32*071d4279SBram Moolenaarsyn keyword gnuplotStatement	FIT_LIMIT FIT_MAXITER FIT_START_LAMBDA
33*071d4279SBram Moolenaarsyn keyword gnuplotStatement	FIT_LAMBDA_FACTOR FIT_LOG FIT_SCRIPT
34*071d4279SBram Moolenaarsyn keyword gnuplotStatement	print pwd reread reset save show test ! functions var
35*071d4279SBram Moolenaarsyn keyword gnuplotConditional	if
36*071d4279SBram Moolenaar" if is cond + stmt - ok?
37*071d4279SBram Moolenaar
38*071d4279SBram Moolenaar" numbers fm c.vim
39*071d4279SBram Moolenaar
40*071d4279SBram Moolenaar"	integer number, or floating point number without a dot and with "f".
41*071d4279SBram Moolenaarsyn case    ignore
42*071d4279SBram Moolenaarsyn match   gnuplotNumber	"\<[0-9]\+\(u\=l\=\|lu\|f\)\>"
43*071d4279SBram Moolenaar"	floating point number, with dot, optional exponent
44*071d4279SBram Moolenaarsyn match   gnuplotFloat	"\<[0-9]\+\.[0-9]*\(e[-+]\=[0-9]\+\)\=[fl]\=\>"
45*071d4279SBram Moolenaar"	floating point number, starting with a dot, optional exponent
46*071d4279SBram Moolenaarsyn match   gnuplotFloat	"\.[0-9]\+\(e[-+]\=[0-9]\+\)\=[fl]\=\>"
47*071d4279SBram Moolenaar"	floating point number, without dot, with exponent
48*071d4279SBram Moolenaarsyn match   gnuplotFloat	"\<[0-9]\+e[-+]\=[0-9]\+[fl]\=\>"
49*071d4279SBram Moolenaar"	hex number
50*071d4279SBram Moolenaarsyn match   gnuplotNumber	"\<0x[0-9a-f]\+\(u\=l\=\|lu\)\>"
51*071d4279SBram Moolenaarsyn case    match
52*071d4279SBram Moolenaar"	flag an octal number with wrong digits by not hilighting
53*071d4279SBram Moolenaarsyn match   gnuplotOctalError	"\<0[0-7]*[89]"
54*071d4279SBram Moolenaar
55*071d4279SBram Moolenaar" plot args
56*071d4279SBram Moolenaar
57*071d4279SBram Moolenaarsyn keyword gnuplotType		u[sing] tit[le] notit[le] wi[th] steps fs[teps]
58*071d4279SBram Moolenaarsyn keyword gnuplotType		title notitle t
59*071d4279SBram Moolenaarsyn keyword gnuplotType		with w
60*071d4279SBram Moolenaarsyn keyword gnuplotType		li[nes] l
61*071d4279SBram Moolenaar" t - too much?  w - too much?  l - too much?
62*071d4279SBram Moolenaarsyn keyword gnuplotType		linespoints via
63*071d4279SBram Moolenaar
64*071d4279SBram Moolenaar" funcs
65*071d4279SBram Moolenaar
66*071d4279SBram Moolenaarsyn keyword gnuplotFunc		abs acos acosh arg asin asinh atan atanh atan2
67*071d4279SBram Moolenaarsyn keyword gnuplotFunc		besj0 besj1 besy0 besy1
68*071d4279SBram Moolenaarsyn keyword gnuplotFunc		ceil column cos cosh erf erfc exp floor gamma
69*071d4279SBram Moolenaarsyn keyword gnuplotFunc		ibeta inverf igamma imag invnorm int lgamma
70*071d4279SBram Moolenaarsyn keyword gnuplotFunc		log log10 norm rand real sgn sin sinh sqrt tan
71*071d4279SBram Moolenaarsyn keyword gnuplotFunc		lambertw
72*071d4279SBram Moolenaarsyn keyword gnuplotFunc		tanh valid
73*071d4279SBram Moolenaarsyn keyword gnuplotFunc		tm_hour tm_mday tm_min tm_mon tm_sec
74*071d4279SBram Moolenaarsyn keyword gnuplotFunc		tm_wday tm_yday tm_year
75*071d4279SBram Moolenaar
76*071d4279SBram Moolenaar" set vars
77*071d4279SBram Moolenaar
78*071d4279SBram Moolenaarsyn keyword gnuplotType		xdata timefmt grid noytics ytics fs
79*071d4279SBram Moolenaarsyn keyword gnuplotType		logscale time notime mxtics nomxtics style mcbtics
80*071d4279SBram Moolenaarsyn keyword gnuplotType		nologscale
81*071d4279SBram Moolenaarsyn keyword gnuplotType		axes x1y2 unique acs[plines]
82*071d4279SBram Moolenaarsyn keyword gnuplotType		size origin multiplot xtics xr[ange] yr[ange] square nosquare ratio noratio
83*071d4279SBram Moolenaarsyn keyword gnuplotType		binary matrix index every thru sm[ooth]
84*071d4279SBram Moolenaarsyn keyword gnuplotType		all angles degrees radians
85*071d4279SBram Moolenaarsyn keyword gnuplotType		arrow noarrow autoscale noautoscale arrowstyle
86*071d4279SBram Moolenaar" autoscale args = x y xy z t ymin ... - too much?
87*071d4279SBram Moolenaar" needs code to: using title vs autoscale t
88*071d4279SBram Moolenaarsyn keyword gnuplotType		x y z zcb
89*071d4279SBram Moolenaarsyn keyword gnuplotType		linear  cubicspline  bspline order level[s]
90*071d4279SBram Moolenaarsyn keyword gnuplotType		auto disc[rete] incr[emental] from to head nohead
91*071d4279SBram Moolenaarsyn keyword gnuplotType		graph base both nosurface table out[put] data
92*071d4279SBram Moolenaarsyn keyword gnuplotType		bar border noborder boxwidth
93*071d4279SBram Moolenaarsyn keyword gnuplotType		clabel noclabel clip noclip cntrp[aram]
94*071d4279SBram Moolenaarsyn keyword gnuplotType		contour nocontour
95*071d4279SBram Moolenaarsyn keyword gnuplotType		dgrid3d nodgrid3d dummy encoding format
96*071d4279SBram Moolenaar" set encoding args not included - yet.
97*071d4279SBram Moolenaarsyn keyword gnuplotType		function grid nogrid hidden[3d] nohidden[3d] isosample[s] key nokey
98*071d4279SBram Moolenaarsyn keyword gnuplotType		historysize nohistorysize
99*071d4279SBram Moolenaarsyn keyword gnuplotType		defaults offset nooffset trianglepattern undefined noundefined altdiagonal bentover noaltdiagonal nobentover
100*071d4279SBram Moolenaarsyn keyword gnuplotType		left right top bottom outside below samplen spacing width height box nobox linestyle ls linetype lt linewidth lw
101*071d4279SBram Moolenaarsyn keyword gnuplotType		Left Right autotitles noautotitles enhanced noenhanced
102*071d4279SBram Moolenaarsyn keyword gnuplotType		isosamples
103*071d4279SBram Moolenaarsyn keyword gnuplotType		label nolabel logscale nolog[scale] missing center font locale
104*071d4279SBram Moolenaarsyn keyword gnuplotType		mapping margin bmargin lmargin rmargin tmargin spherical cylindrical cartesian
105*071d4279SBram Moolenaarsyn keyword gnuplotType		linestyle nolinestyle linetype lt linewidth lw pointtype pt pointsize ps
106*071d4279SBram Moolenaarsyn keyword gnuplotType		mouse nomouse
107*071d4279SBram Moolenaarsyn keyword gnuplotType		nooffsets data candlesticks financebars linespoints lp vector nosurface
108*071d4279SBram Moolenaarsyn keyword gnuplotType		term[inal] linux aed767 aed512 gpic
109*071d4279SBram Moolenaarsyn keyword gnuplotType		regis tek410x tek40 vttek kc-tek40xx
110*071d4279SBram Moolenaarsyn keyword gnuplotType		km-tek40xx selanar bitgraph xlib x11 X11
111*071d4279SBram Moolenaar" x11 args
112*071d4279SBram Moolenaarsyn keyword gnuplotType		aifm cgm dumb fig gif small large size nofontlist winword6 corel dxf emf
113*071d4279SBram Moolenaarsyn keyword gnuplotType		hpgl
114*071d4279SBram Moolenaar" syn keyword gnuplotType	transparent hp2623a hp2648 hp500c pcl5				      why jeh
115*071d4279SBram Moolenaarsyn keyword gnuplotType		hp2623a hp2648 hp500c pcl5
116*071d4279SBram Moolenaarsyn match gnuplotType		"\<transparent\>"
117*071d4279SBram Moolenaarsyn keyword gnuplotType		hpljii hpdj hppj imagen mif pbm png svg
118*071d4279SBram Moolenaarsyn keyword gnuplotType		postscript enhanced_postscript qms table
119*071d4279SBram Moolenaar" postscript editing values?
120*071d4279SBram Moolenaarsyn keyword gnuplotType		tgif tkcanvas epson-180dpi epson-60dpi
121*071d4279SBram Moolenaarsyn keyword gnuplotType		epson-lx800 nec-cp6 okidata starc
122*071d4279SBram Moolenaarsyn keyword gnuplotType		tandy-60dpi latex emtex pslatex pstex epslatex
123*071d4279SBram Moolenaarsyn keyword gnuplotType		eepic tpic pstricks texdraw mf metafont mpost mp
124*071d4279SBram Moolenaarsyn keyword gnuplotType		timestamp notimestamp
125*071d4279SBram Moolenaarsyn keyword gnuplotType		variables version
126*071d4279SBram Moolenaarsyn keyword gnuplotType		x2data y2data ydata zdata
127*071d4279SBram Moolenaarsyn keyword gnuplotType		reverse writeback noreverse nowriteback
128*071d4279SBram Moolenaarsyn keyword gnuplotType		axis mirror autofreq nomirror rotate autofreq norotate
129*071d4279SBram Moolenaarsyn keyword gnuplotType		update
130*071d4279SBram Moolenaarsyn keyword gnuplotType		multiplot nomultiplot mytics
131*071d4279SBram Moolenaarsyn keyword gnuplotType		nomytics mztics nomztics mx2tics nomx2tics
132*071d4279SBram Moolenaarsyn keyword gnuplotType		my2tics nomy2tics offsets origin output
133*071d4279SBram Moolenaarsyn keyword gnuplotType		para[metric] nopara[metric] pointsize polar nopolar
134*071d4279SBram Moolenaarsyn keyword gnuplotType		zrange x2range y2range rrange cbrange
135*071d4279SBram Moolenaarsyn keyword gnuplotType		trange urange vrange sample[s] size
136*071d4279SBram Moolenaarsyn keyword gnuplotType		bezier boxerrorbars boxes bargraph bar[s]
137*071d4279SBram Moolenaarsyn keyword gnuplotType		boxxy[errorbars] csplines dots fsteps histeps impulses
138*071d4279SBram Moolenaarsyn keyword gnuplotType		line[s] linesp[oints] points poiinttype sbezier splines steps
139*071d4279SBram Moolenaar" w lt lw ls	      = optional
140*071d4279SBram Moolenaarsyn keyword gnuplotType		vectors xerr[orbars] xyerr[orbars] yerr[orbars] financebars candlesticks vector
141*071d4279SBram Moolenaarsyn keyword gnuplotType		errorb[ars surface
142*071d4279SBram Moolenaarsyn keyword gnuplotType		filledcurve[s] pm3d   x1 x2 y1 y2 xy closed
143*071d4279SBram Moolenaarsyn keyword gnuplotType		at pi front
144*071d4279SBram Moolenaarsyn keyword gnuplotType		errorlines xerrorlines yerrorlines xyerrorlines
145*071d4279SBram Moolenaarsyn keyword gnuplotType		tics ticslevel ticscale time timefmt view
146*071d4279SBram Moolenaarsyn keyword gnuplotType		xdata xdtics noxdtics ydtics noydtics
147*071d4279SBram Moolenaarsyn keyword gnuplotType		zdtics nozdtics x2dtics nox2dtics y2dtics noy2dtics
148*071d4279SBram Moolenaarsyn keyword gnuplotType		xlab[el] ylab[el] zlab[el] cblab[el] x2label y2label xmtics
149*071d4279SBram Moolenaarsyn keyword gnuplotType		xmtics noxmtics ymtics noymtics zmtics nozmtics
150*071d4279SBram Moolenaarsyn keyword gnuplotType		x2mtics nox2mtics y2mtics noy2mtics
151*071d4279SBram Moolenaarsyn keyword gnuplotType		cbdtics nocbdtics cbmtics nocbmtics cbtics nocbtics
152*071d4279SBram Moolenaarsyn keyword gnuplotType		xtics noxtics ytics noytics
153*071d4279SBram Moolenaarsyn keyword gnuplotType		ztics noztics x2tics nox2tics
154*071d4279SBram Moolenaarsyn keyword gnuplotType		y2tics noy2tics zero nozero zeroaxis nozeroaxis
155*071d4279SBram Moolenaarsyn keyword gnuplotType		xzeroaxis noxzeroaxis yzeroaxis noyzeroaxis
156*071d4279SBram Moolenaarsyn keyword gnuplotType		x2zeroaxis nox2zeroaxis y2zeroaxis noy2zeroaxis
157*071d4279SBram Moolenaarsyn keyword gnuplotType		angles one two fill empty solid pattern
158*071d4279SBram Moolenaarsyn keyword gnuplotType		default
159*071d4279SBram Moolenaarsyn keyword gnuplotType		scansautomatic flush b[egin] noftriangles implicit
160*071d4279SBram Moolenaar" b too much? - used in demo
161*071d4279SBram Moolenaarsyn keyword gnuplotType		palette positive negative ps_allcF nops_allcF maxcolors
162*071d4279SBram Moolenaarsyn keyword gnuplotType		push fontfile pop
163*071d4279SBram Moolenaarsyn keyword gnuplotType		rgbformulae defined file color model gradient colornames
164*071d4279SBram Moolenaarsyn keyword gnuplotType		RGB HSV CMY YIQ XYZ
165*071d4279SBram Moolenaarsyn keyword gnuplotType		colorbox vertical horizontal user bdefault
166*071d4279SBram Moolenaarsyn keyword gnuplotType		loadpath fontpath decimalsign in out
167*071d4279SBram Moolenaar
168*071d4279SBram Moolenaar" comments + strings
169*071d4279SBram Moolenaarsyn region gnuplotComment	start="#" end="$"
170*071d4279SBram Moolenaarsyn region gnuplotComment	start=+"+ skip=+\\"+ end=+"+
171*071d4279SBram Moolenaarsyn region gnuplotComment	start=+'+	     end=+'+
172*071d4279SBram Moolenaar
173*071d4279SBram Moolenaar" Define the default highlighting.
174*071d4279SBram Moolenaar" For version 5.7 and earlier: only when not done already
175*071d4279SBram Moolenaar" For version 5.8 and later: only when an item doesn't have highlighting yet
176*071d4279SBram Moolenaarif version >= 508 || !exists("did_gnuplot_syntax_inits")
177*071d4279SBram Moolenaar  if version < 508
178*071d4279SBram Moolenaar    let did_gnuplot_syntax_inits = 1
179*071d4279SBram Moolenaar    command -nargs=+ HiLink hi link <args>
180*071d4279SBram Moolenaar  else
181*071d4279SBram Moolenaar    command -nargs=+ HiLink hi def link <args>
182*071d4279SBram Moolenaar  endif
183*071d4279SBram Moolenaar
184*071d4279SBram Moolenaar  HiLink gnuplotStatement	Statement
185*071d4279SBram Moolenaar  HiLink gnuplotConditional	Conditional
186*071d4279SBram Moolenaar  HiLink gnuplotNumber		Number
187*071d4279SBram Moolenaar  HiLink gnuplotFloat		Float
188*071d4279SBram Moolenaar  HiLink gnuplotOctalError	Error
189*071d4279SBram Moolenaar  HiLink gnuplotFunc		Type
190*071d4279SBram Moolenaar  HiLink gnuplotType		Type
191*071d4279SBram Moolenaar  HiLink gnuplotComment	Comment
192*071d4279SBram Moolenaar
193*071d4279SBram Moolenaar  delcommand HiLink
194*071d4279SBram Moolenaarendif
195*071d4279SBram Moolenaar
196*071d4279SBram Moolenaarlet b:current_syntax = "gnuplot"
197*071d4279SBram Moolenaar
198*071d4279SBram Moolenaar" vim: ts=8
199