649 lines
8.9 KiB
Scheme
649 lines
8.9 KiB
Scheme
; highlights.scm
|
|
(comment) @comment @spell
|
|
|
|
(identifier) @variable
|
|
|
|
[
|
|
"-"
|
|
"+"
|
|
"~"
|
|
"!"
|
|
"$"
|
|
"|"
|
|
"**"
|
|
"*"
|
|
"/"
|
|
"%"
|
|
"=="
|
|
"!="
|
|
"<"
|
|
"<="
|
|
">"
|
|
">="
|
|
"<<"
|
|
">>"
|
|
"&"
|
|
"^"
|
|
"&&"
|
|
"||"
|
|
"="
|
|
","
|
|
"."
|
|
] @operator
|
|
|
|
[
|
|
"eq"
|
|
"ne"
|
|
] @keyword.operator
|
|
|
|
(ternary_expression
|
|
[
|
|
"?"
|
|
":"
|
|
] @keyword.conditional.ternary)
|
|
|
|
"sum" @function.builtin
|
|
|
|
[
|
|
"for"
|
|
"in"
|
|
"do"
|
|
"while"
|
|
] @keyword.repeat
|
|
|
|
[
|
|
(c_break)
|
|
(c_cd)
|
|
(c_clear)
|
|
"evaluate"
|
|
"fit"
|
|
"help"
|
|
"load"
|
|
"lower"
|
|
"print"
|
|
(c_replot)
|
|
(c_reread)
|
|
"reset"
|
|
"splot"
|
|
"cmd"
|
|
"test"
|
|
"undefine"
|
|
"vfill"
|
|
] @keyword
|
|
|
|
(c_pause
|
|
"pause" @keyword
|
|
"mouse" @variable.member
|
|
_? @attribute
|
|
(","
|
|
_ @attribute)?)
|
|
|
|
(c_plot
|
|
"plot" @keyword)
|
|
|
|
(c_show
|
|
"show" @keyword
|
|
"plot"? @attribute)
|
|
|
|
(c_stats
|
|
"stats" @keyword
|
|
("name"
|
|
(_))? @variable.member)
|
|
|
|
[
|
|
"via"
|
|
"inverse"
|
|
"sample"
|
|
] @keyword.function
|
|
|
|
[
|
|
"if"
|
|
"else"
|
|
] @keyword.conditional
|
|
|
|
(plot_element
|
|
"axes"? @variable.member)
|
|
|
|
(cntrparam
|
|
"auto"? @variable.member)
|
|
|
|
(colorbox
|
|
"origin"? @attribute)
|
|
|
|
(contourfill
|
|
"auto"? @variable.member)
|
|
|
|
(format
|
|
_? @attribute
|
|
(_)
|
|
_? @attribute)
|
|
|
|
(key
|
|
"auto"? @variable.member)
|
|
|
|
(style ; TODO: complete
|
|
[
|
|
"arrow"
|
|
"boxplot"
|
|
("data"
|
|
[
|
|
(_)
|
|
"spiderplot" @attribute
|
|
])
|
|
"fs"
|
|
"function"
|
|
"line"
|
|
"circle"
|
|
"rectangle"
|
|
"ellipse"
|
|
"parallelaxis"
|
|
; (spiderplot) ; TODO: complete
|
|
"textbox"
|
|
("watchpoint"
|
|
"labels" @attribute
|
|
(_)?)
|
|
] @variable.member)
|
|
|
|
(terminal
|
|
"name" @variable.member)
|
|
|
|
; TODO: complete terminals in grammar and then simplify its options here
|
|
(t_cairolatex
|
|
[
|
|
"eps"
|
|
"pdf"
|
|
"png"
|
|
"standalone"
|
|
"input"
|
|
"blacktext"
|
|
"colortext"
|
|
"colourtext"
|
|
("header"
|
|
(_))
|
|
"mono"
|
|
"color"
|
|
"background"
|
|
"rounded"
|
|
"butt"
|
|
]* @attribute)
|
|
|
|
; (t_canvas)
|
|
; (t_cgm)
|
|
; (t_context)
|
|
; (t_domterm)
|
|
; (t_dumb)
|
|
; (t_dxf)
|
|
; (t_emf)
|
|
; (t_epscairo)
|
|
; (t_epslatex)
|
|
; (t_fig)
|
|
; (t_gif)
|
|
; (t_hpgl)
|
|
; (t_jpeg)
|
|
; (t_lua)
|
|
; (t_pc15)
|
|
; (t_pdfcairo)
|
|
; (t_png)
|
|
; (t_pngcairo)
|
|
; (t_postscript)
|
|
; (t_pslatex)
|
|
; (t_pstricks)
|
|
; (t_qt)
|
|
; (t_sixelgd)
|
|
; (t_svg [(font_spec)]* @attribute)
|
|
; (t_tek4xxx)
|
|
; (t_texdraw)
|
|
; (t_tikz)
|
|
; (t_tkcanvas)
|
|
(plot_style
|
|
[
|
|
"lines"
|
|
"points"
|
|
"lp"
|
|
"financebars"
|
|
"dots"
|
|
"impulses"
|
|
"labels"
|
|
"surface"
|
|
"steps"
|
|
"fsteps"
|
|
"histeps"
|
|
"arrows"
|
|
"vectors"
|
|
"sectors"
|
|
"contourfill"
|
|
"errorbar"
|
|
"errorlines"
|
|
"parallelaxes"
|
|
"boxes"
|
|
"boxerrorbars"
|
|
"boxxyerror"
|
|
"isosurface"
|
|
"boxplot"
|
|
"candlesticks"
|
|
"circles"
|
|
"zerrorfill"
|
|
"ellipses"
|
|
"filledcurves"
|
|
"fillsteps"
|
|
"histograms"
|
|
"image"
|
|
"spiderplot"
|
|
"pm3d"
|
|
"rgbalpha"
|
|
"rgbimage"
|
|
"polygons"
|
|
"table"
|
|
"mask"
|
|
] @attribute)
|
|
|
|
[
|
|
"tc"
|
|
"fc"
|
|
"fs"
|
|
"lc"
|
|
"ls"
|
|
"lw"
|
|
"lt"
|
|
"pt"
|
|
"ps"
|
|
"pi"
|
|
"pn"
|
|
"dt"
|
|
"as"
|
|
"start"
|
|
"cycles"
|
|
"saturation"
|
|
"interval"
|
|
"format"
|
|
"keywidth"
|
|
"samplen"
|
|
"columns"
|
|
"title"
|
|
"notitle"
|
|
"every"
|
|
"index"
|
|
"using"
|
|
"with"
|
|
"frac"
|
|
"cb"
|
|
"arg"
|
|
"prefix"
|
|
"output"
|
|
"primary"
|
|
"specular"
|
|
"spec2"
|
|
"firstlinetype"
|
|
"width"
|
|
"height"
|
|
"expand"
|
|
"array"
|
|
"dx"
|
|
"dy"
|
|
"dz"
|
|
"filetype"
|
|
"center"
|
|
"record"
|
|
] @variable.member
|
|
|
|
; Workaround because formatter cannot handle 300 list nodes
|
|
[
|
|
(angles)
|
|
(clip)
|
|
(colorsequence)
|
|
(contour)
|
|
(encoding)
|
|
(mapping)
|
|
(xdata)
|
|
(theta)
|
|
"wall"
|
|
"on"
|
|
"off"
|
|
"opaque"
|
|
"inside"
|
|
"outside"
|
|
"margin"
|
|
"cen"
|
|
"lef"
|
|
"rig"
|
|
"top"
|
|
"bot"
|
|
"lr"
|
|
"a"
|
|
"maxcols"
|
|
"maxrows"
|
|
"autojustify"
|
|
"overlap"
|
|
"spread"
|
|
"wrap"
|
|
"swarm"
|
|
"range"
|
|
"label"
|
|
"mixed"
|
|
"triangles"
|
|
"insidecolor"
|
|
"noinsidecolor"
|
|
"cycle"
|
|
"tics"
|
|
"ztics"
|
|
"cbtics"
|
|
"user"
|
|
"front"
|
|
"back"
|
|
"bdefault"
|
|
"time"
|
|
"palette"
|
|
"terminal"
|
|
"onecolor"
|
|
"invert"
|
|
"reverse"
|
|
"writeback"
|
|
"extend"
|
|
"restore"
|
|
"linear"
|
|
"cubicspline"
|
|
"bspline"
|
|
"points"
|
|
"order"
|
|
"levels"
|
|
"sorted"
|
|
"autofreq"
|
|
"add"
|
|
"inout"
|
|
"axis"
|
|
"mirror"
|
|
"type"
|
|
"rowsfirst"
|
|
"columnsfirst"
|
|
"downwards"
|
|
"upwards"
|
|
"prevnext"
|
|
"gray"
|
|
"color"
|
|
"gamma"
|
|
"defined"
|
|
"cubehelix"
|
|
"model"
|
|
"maxcolors"
|
|
"file"
|
|
"colormap"
|
|
"rgbformulae"
|
|
"viridis"
|
|
"positive"
|
|
"negative"
|
|
"nops_allcF"
|
|
"ps_allcF"
|
|
"quiet"
|
|
"full"
|
|
"trip"
|
|
"numbers"
|
|
"small"
|
|
"large"
|
|
"fullwidth"
|
|
"append"
|
|
"bind"
|
|
"errors"
|
|
"session"
|
|
"behind"
|
|
"polar"
|
|
"layerdefault"
|
|
"locale"
|
|
"axes"
|
|
"fix"
|
|
"keepfix"
|
|
"noextend"
|
|
"head"
|
|
"fixed"
|
|
"filled"
|
|
"nofilled"
|
|
"absolute"
|
|
"at"
|
|
"relative"
|
|
"enhanced"
|
|
"border"
|
|
"noborder"
|
|
"rgbcolor"
|
|
"empty"
|
|
"black"
|
|
"bgnd"
|
|
"nodraw"
|
|
"size"
|
|
"new"
|
|
"first"
|
|
"second"
|
|
"screen"
|
|
"graph"
|
|
"character"
|
|
"trianglepattern"
|
|
"undefined"
|
|
"noundefined"
|
|
"altdiagonal"
|
|
"bentover"
|
|
"vertical"
|
|
"horizontal"
|
|
"square"
|
|
"ratio"
|
|
"noratio"
|
|
"solid"
|
|
"transparent"
|
|
"pattern"
|
|
"from"
|
|
"to_rto"
|
|
"length"
|
|
"angle"
|
|
"columnheaders"
|
|
"fortran"
|
|
"nofpe_trap"
|
|
"missing"
|
|
"separator"
|
|
"commentschars"
|
|
"log"
|
|
"rangelimited"
|
|
"offset"
|
|
"nooffset"
|
|
"scale"
|
|
"font"
|
|
"point"
|
|
"nopoint"
|
|
"boxed"
|
|
"noboxed"
|
|
"hypertext"
|
|
"defaults"
|
|
"keyentry"
|
|
"splines"
|
|
"qnorm"
|
|
"gauss"
|
|
"cauchy"
|
|
"exp"
|
|
"box"
|
|
"hann"
|
|
"implicit"
|
|
"explicit"
|
|
"rotate"
|
|
"by"
|
|
"parallel"
|
|
"norotate"
|
|
"map"
|
|
"projection"
|
|
"equal"
|
|
"azimuth"
|
|
"nohidden3d"
|
|
"nocontours"
|
|
"nosurface"
|
|
"colornames"
|
|
"functions"
|
|
"variables"
|
|
"version"
|
|
"nologfile"
|
|
"logfile"
|
|
"fit_out"
|
|
"errorvariables"
|
|
"covariancevariables"
|
|
"errorscaling"
|
|
"prescale"
|
|
"maxiter"
|
|
"limit"
|
|
"limit_abs"
|
|
"start-lambda"
|
|
"lambda-factor"
|
|
"script"
|
|
"clip"
|
|
"fontscale"
|
|
"lighting"
|
|
"depthorder"
|
|
"interpolate"
|
|
"corners2color"
|
|
"flush"
|
|
"scanorder"
|
|
"hidden3d"
|
|
"clipcb"
|
|
"layout"
|
|
"margins"
|
|
"spacing"
|
|
"smooth"
|
|
"binary"
|
|
"skip"
|
|
"bins"
|
|
"binrange"
|
|
"binwidth"
|
|
"binvalue"
|
|
"mask"
|
|
"convexhull"
|
|
"concavehull"
|
|
"volatile"
|
|
"zsort"
|
|
"nonuniform"
|
|
"sparse"
|
|
"matrix"
|
|
] @attribute
|
|
|
|
[
|
|
"x1"
|
|
"x2"
|
|
"y1"
|
|
"y2"
|
|
"y"
|
|
"r"
|
|
"z"
|
|
"xy"
|
|
"xz"
|
|
"yz"
|
|
"xyz"
|
|
"x1y1"
|
|
"x2y2"
|
|
"x1y2"
|
|
"x2y1"
|
|
"columnheader"
|
|
"seconds"
|
|
"minutes"
|
|
"hours"
|
|
"days"
|
|
"weeks"
|
|
"months"
|
|
"years"
|
|
"cm"
|
|
"in"
|
|
"discrete"
|
|
"incremental"
|
|
"default"
|
|
"long"
|
|
"nogrid"
|
|
"unique"
|
|
"frequency"
|
|
"fnormal"
|
|
"cumulative"
|
|
"cnormal"
|
|
"csplines"
|
|
"acsplines"
|
|
"mcsplines"
|
|
"path"
|
|
"bezier"
|
|
"sbezier"
|
|
"unwrap"
|
|
"kdensity"
|
|
"closed"
|
|
"between"
|
|
"above"
|
|
"below"
|
|
"variable"
|
|
"pixels"
|
|
"RGB"
|
|
"CMY"
|
|
"HSV"
|
|
"base"
|
|
"begin"
|
|
"center"
|
|
"end"
|
|
"ftriangles"
|
|
"clip1in"
|
|
"clip4in"
|
|
"c2c"
|
|
"retrace"
|
|
"whitespace"
|
|
"tab"
|
|
"comma"
|
|
"push"
|
|
"pop"
|
|
"flipx"
|
|
"flipy"
|
|
"flipz"
|
|
] @variable.member
|
|
|
|
(colorspec
|
|
"palette" @attribute)
|
|
|
|
(datafile_modifiers
|
|
"origin"? @variable.member)
|
|
|
|
((datafile_modifiers
|
|
filetype: (identifier) @variable.member)
|
|
(#any-of? @variable.member
|
|
"avs" "bin" "edf" "ehf" "gif" "gpbin" "jpeg" "jpg" "png" "raw" "rgb" "auto"))
|
|
|
|
(macro) @function.macro
|
|
|
|
(datablock) @function.macro
|
|
|
|
(function
|
|
name: (identifier) @function)
|
|
|
|
((function
|
|
name: (identifier) @function.builtin)
|
|
(#any-of? @function.builtin
|
|
"abs" "acos" "acosh" "airy" "arg" "asin" "asinh" "atan" "atan2" "atanh" "besj0" "besj1" "besjn"
|
|
"besy0" "besy1" "besyn" "besi0" "besi1" "besin" "cbrt" "ceil" "conj" "cos" "cosh" "EllipticK"
|
|
"EllipticE" "EllipticPi" "erf" "erfc" "exp" "expint" "floor" "gamma" "ibeta" "inverf" "igamma"
|
|
"imag" "int" "invnorm" "invibeta" "invigamma" "LambertW" "lambertw" "lgamma" "lnGamma" "log"
|
|
"log10" "norm" "rand" "real" "round" "sgn" "sin" "sinh" "sqrt" "SynchrotronF" "tan" "tanh"
|
|
"uigamma" "voigt" "zeta" "cerf" "cdawson" "faddeva" "erfi" "FresnelC" "FresnelS" "VP" "VP_fwhm"
|
|
"Ai" "Bi" "BesselH1" "BesselH2" "BesselJ" "BesselY" "BesselI" "BesselK" "gprintf" "sprintf"
|
|
"strlen" "strstrt" "substr" "strptime" "srtftime" "system" "trim" "word" "words" "time"
|
|
"timecolumn" "tm_hour" "tm_mday" "tm_min" "tm_mon" "tm_sec" "tm_wday" "tm_week" "tm_yday"
|
|
"tm_year" "weekday_iso" "weekday_cdc" "column" "columnhead" "exists" "hsv2rgb" "index" "palette"
|
|
"rgbcolor" "stringcolumn" "valid" "value" "voxel"))
|
|
|
|
((identifier) @variable.builtin
|
|
(#match? @variable.builtin
|
|
"^\\w+_(records|headers|outofrange|invalid|blank|blocks|columns|column_header|index_(min|max)(_x|_y)?|(min|max)(_x|_y)?|mean(_err)?(_x|_y)?|stddev(_err)?(_x|_y)?)$"))
|
|
|
|
((identifier) @variable.builtin
|
|
(#match? @variable.builtin
|
|
"^\\w+_(sdd(_x|_y)?|(lo|up)_quartile(_x|_y)?|median(_x|_y)?|sum(sq)?(_x|_y)?|skewness(_err)?(_x|_y)?)$"))
|
|
|
|
((identifier) @variable.builtin
|
|
(#match? @variable.builtin
|
|
"^\\w+_(kurtosis(_err)?(_x|_y)?|adev(_x|_y)?|correlation|slope(_err)?|intercept(_err)?|sumxy|pos(_min|_max)_y|size(_x|_y))$"))
|
|
|
|
((identifier) @variable.builtin
|
|
(#match? @variable.builtin "^((GPVAL|MOUSE|FIT)_\\w+|GNUTERM|NaN|VoxelDistance|GridDistance|pi)$"))
|
|
|
|
(array_def
|
|
"array" @keyword.function)
|
|
|
|
(array
|
|
(identifier) @function)
|
|
|
|
(number) @number
|
|
|
|
(string_literal) @string
|