2 " Language: gnuplot 3.7 pl0
3 " Maintainer: John Hoelzel johnh51@bigfoot.com
4 " Last Change: Mon Nov 20 13:11:31 PST 2000
5 " Filenames: *.gpi *.gih scripts: #!*gnuplot
6 " URL: http://bigfoot.com/~johnh51/vim/syntax/gnuplot.vim
9 " For version 5.x: Clear all syntax items
10 " For version 6.x: Quit when a syntax file was already loaded
13 elseif exists("b:current_syntax")
17 " some shortened names to make demo files look clean... jeh.
20 syn keyword gnuplotStatement cd call clear exit set plot splot help
21 syn keyword gnuplotStatement load pause quit fit rep[lot] quit if
22 syn keyword gnuplotStatement FIT_LIMIT FIT_MAXITER FIT_START_LAMBDA FIT_LAMBDA_FACTOR FIT_LOG FIT_SCRIPT
23 syn keyword gnuplotStatement print pwd reread reset save show test ! functions var
24 syn keyword gnuplotConditional if
26 " integer number, or floating point number without a dot and with "f".
28 syn match gnuplotNumber "\<[0-9]\+\(u\=l\=\|lu\|f\)\>"
29 " floating point number, with dot, optional exponent
30 syn match gnuplotFloat "\<[0-9]\+\.[0-9]*\(e[-+]\=[0-9]\+\)\=[fl]\=\>"
31 " floating point number, starting with a dot, optional exponent
32 syn match gnuplotFloat "\.[0-9]\+\(e[-+]\=[0-9]\+\)\=[fl]\=\>"
33 " floating point number, without dot, with exponent
34 syn match gnuplotFloat "\<[0-9]\+e[-+]\=[0-9]\+[fl]\=\>"
36 syn match gnuplotNumber "\<0x[0-9a-f]\+\(u\=l\=\|lu\)\>"
38 " flag an octal number with wrong digits by not hilighting
39 syn match gnuplotOctalError "\<0[0-7]*[89]"
42 syn keyword gnuplotType using tit[le] notit[le] wi[th] steps fs[teps]
43 syn keyword gnuplotType title notitle t
45 syn keyword gnuplotType with w
48 syn keyword gnuplotType li[nes] l
50 syn keyword gnuplotType linespoints via
53 syn keyword gnuplotType abs acos acosh arg asin asinh atan atanh atan2 besj0 besj1 besy0 besy1
55 syn keyword gnuplotType ceil column cos cosh erf erfc exp floor gamma
56 syn keyword gnuplotType ibeta inverf igamma imag invnorm int lgamma
57 syn keyword gnuplotType log log10 norm rand real sgn sin sinh sqrt tan
58 syn keyword gnuplotType tanh valid
60 " comment out items rarely used - if they slow you up too much.
61 syn keyword gnuplotType xdata timefmt grid noytics ytics fs
62 syn keyword gnuplotType logscale time notime mxtics style
63 syn keyword gnuplotType axes x1y2 unique acsplines
64 syn keyword gnuplotType size origin multiplot xtics xra[nge] yra[nge] square nosquare
65 syn keyword gnuplotType binary matrix index every thru using smooth
66 syn keyword gnuplotType angles degrees arrow noarrow autoscale noautoscale radians
67 " autoscale args = x y xy z t ymin ... - too much?
68 syn keyword gnuplotType linear cubicspline bspline order level[s] auto disc[rete] incr[emental] from to head nohead graph nocontour base both nosurface table out[put] data
69 syn keyword gnuplotType bar border noborder boxwidth
70 syn keyword gnuplotType clabel noclabel clip noclip cntrp[aram] contour
71 syn keyword gnuplotType dgrid3d nodgrid3d dummy encoding format
72 syn keyword gnuplotType function grid hidden[3d] isosample[s] key nokey nohidden[3d]
73 syn keyword gnuplotType defaults offset nooffset trianglepattern undefined noundefined altdiagonal bentover noaltdiagonal nobentover nogrid
74 syn keyword gnuplotType left right top bottom outside below samplen spacing width box nobox linestyle ls linetype lt linewidth lw
75 syn keyword gnuplotType label nolabel logscale nolog[scale] missing center font locale
76 syn keyword gnuplotType mapping margin bmargin lmargin rmargin tmargin spherical cylindrical cartesian
77 syn keyword gnuplotType linestyle nolinestyle linetype lt linewidth lw pointtype pt pointsize ps
78 syn keyword gnuplotType nooffsets data candlesticks financebars linespoints lp vector nosurface
79 syn keyword gnuplotType term[inal] linux aed767 aed512 gpic
80 syn keyword gnuplotType regis tek410x tek40 vttek kc-tek40xx
81 syn keyword gnuplotType km-tek40xx selanar bitgraph xlib x11 X11
82 syn keyword gnuplotType aifm cgm dumb fig gif small large size
83 syn keyword gnuplotType transparent hp2623a hp2648 hp500c pcl5
84 syn keyword gnuplotType hpljii hpdj hppj imagen mif pbm png
85 syn keyword gnuplotType postscript enhanced_postscript qms table
86 syn keyword gnuplotType tgif tkcanvas epson-180dpi epson-60dpi
87 syn keyword gnuplotType epson-lx800 nec-cp6 okidata starc
88 syn keyword gnuplotType tandy-60dpi latex emtex pslatex pstex
89 syn keyword gnuplotType eepic tpic pstricks texdraw mf metafont
90 syn keyword gnuplotType timestamp notimestamp
91 syn keyword gnuplotType variables version
92 syn keyword gnuplotType x2data y2data ydata zdata
93 syn keyword gnuplotType reverse writeback noreverse nowriteback
94 syn keyword gnuplotType axis mirror autofreq nomirror rotate autofreq norotate
95 syn keyword gnuplotType update
96 syn keyword gnuplotType multiplot nomultiplot mxtics nomxtics mytics
98 syn keyword gnuplotType nomytics mztics nomztics mx2tics nomx2tics
99 syn keyword gnuplotType my2tics nomy2tics offsets origin output
100 syn keyword gnuplotType para[metric] nopara[metric] pointsize polar nopolar
101 syn keyword gnuplotType xrange yrange zrange x2range y2range rrange
102 syn keyword gnuplotType trange urange vrange sample[s] size
103 syn keyword gnuplotType bezier boxerrorbars boxes bargraph bar[s]
104 syn keyword gnuplotType boxxyerrorbars csplines dots fsteps histeps impulses
105 syn keyword gnuplotType lines linesp[oints] points poiinttype sbezier splines steps
106 " w lt lw ls = optional
107 syn keyword gnuplotType vectors xerr[orbars] xyerr[orbars] yerr[orbars] financebars candlesticks vector
108 syn keyword gnuplotType errorbars surface
109 syn keyword gnuplotType tics ticslevel ticscale time timefmt view
110 syn keyword gnuplotType tm_hour tm_mday tm_min tm_mon tm_sec tm_wday tm_yday tm_year
111 syn keyword gnuplotType xdata xdtics noxdtics ydtics noydtics zdtics
112 syn keyword gnuplotType nozdtics x2dtics nox2dtics y2dtics noy2dtics
113 syn keyword gnuplotType xlab[el] ylab[el] zlab[el] x2label y2label xmtics
114 syn keyword gnuplotType noxmtics ymtics noymtics zmtics nozmtics x2mtics
115 syn keyword gnuplotType nox2mtics y2mtics noy2mtics xtics noxtics ytics
116 syn keyword gnuplotType noytics ztics noztics x2tics nox2tics y2tics
117 syn keyword gnuplotType noy2tics zero nozero zeroaxis nozeroaxis xzeroaxis
118 syn keyword gnuplotType noxzeroaxis yzeroaxis noyzeroaxis x2zeroaxis
119 syn keyword gnuplotType nox2zeroaxis y2zeroaxis noy2zeroaxis angles
122 syn region gnuplotComment start="#" end="$"
123 syn region gnuplotComment start=+"+ skip=+\\"+ end=+"+
124 syn region gnuplotComment start=+'+ end=+'+
126 " Define the default highlighting.
127 " For version 5.7 and earlier: only when not done already
128 " For version 5.8 and later: only when an item doesn't have highlighting yet
129 if version >= 508 || !exists("did_gnuplot_syntax_inits")
131 let did_gnuplot_syntax_inits = 1
132 command -nargs=+ HiLink hi link <args>
134 command -nargs=+ HiLink hi def link <args>
137 HiLink gnuplotStatement Statement
138 HiLink gnuplotConditional Conditional
139 HiLink gnuplotNumber Number
140 HiLink gnuplotFloat Float
141 HiLink gnuplotOctalError Error
142 HiLink gnuplotType Type
143 HiLink gnuplotComment Comment
148 let b:current_syntax = "gnuplot"