pub const HIGHLIGHTS_QUERY: &str = "; highlights.scm\n(comment) @comment @spell\n\n\"variable\" @variable.parameter\n\n; built-in named values (palette presets, special color names)\n; TODO: decide and collapse (bgnd & background same)\n; black/viridis constant?\n[\n \"viridis\"\n \"black\"\n \"bgnd\"\n \"background\"\n] @variable.parameter.builtin\n\n(identifier) @variable\n\n[\n \"[\"\n \"]\"\n \"(\"\n \")\"\n \"{\"\n \"}\"\n] @punctuation.bracket\n\n(operator) @operator\n\n[\n \"=\"\n \",\"\n \":\"\n] @operator\n\n(keyword_op) @keyword.operator\n\n(ternary_op) @keyword.conditional.ternary\n\n; TODO: collapse\n[\n \"for\"\n \"in\"\n \"do\"\n \"while\"\n] @keyword.repeat\n\n; -----------------------------------------------------------------------\n; Commands\n\"cmd\" @keyword\n\n; TODO: decide and collapse\n[\n \"newhistogram\"\n \"newspiderplot\"\n \"keyentry\"\n] @keyword\n\n; TODO: decide inverse, sample\n[\n \"inverse\"\n \"sample\"\n \"kw_fn\"\n] @keyword.function\n\n\"kw_cond\" @keyword.conditional\n\n; TODO: decide and collapse\n[\n \"front\"\n \"back\"\n \"depthorder\"\n \"clip\"\n \"font\"\n \"filled\"\n \"nofilled\"\n \"parallel\"\n ; coordinate systems (first/second/graph/screen/character/polar) \u{2014} alias \"coord\"\n \"coord\"\n] @keyword.directive\n\n; on/off toggle flags ({no}X) \u{2014} alias \"flag\" (@keyword.modifier)\n\"flag\" @keyword.directive\n\n; enumerated VALUES / modes (alias \"mod\") \u{2014} @constant\n; TODO: decide, constant?\n\"mod\" @constant\n\n; plot/splot ELEMENT modifiers (alias \"attr\") \u{2014} @property\n; (title/notitle/with/using/index/every/axes/smooth in a plot command;\n; distinct from set-option names which are @variable.member)\n\"attr\" @property\n\n; -----------------------------------------------------------------------\n; TODO: decide and collapse\n[\n ; Terminal output path\n \"name\"\n ; Style attribute shorthands (K constants + datafile keywords)\n \"sa\"\n \"dt\"\n \"fc\"\n \"fs\"\n \"lc\"\n \"lt\"\n \"ps\"\n \"pt\"\n \"tc\"\n \"skip\"\n \"expand\"\n \"title\"\n ; set/show argument keywords (all key(\"...\", n, \"arg\") aliases)\n \"arg\"\n] @variable.member\n\n\n; -----------------------------------------------------------------------\n; Option keywords\n; TODO: decide and collapse\n[\n ; coordinate systems / axes\n \"unit\"\n \"axes_opts\"\n ; time units (set xdata time / timefmt)\n \"seconds\"\n \"minutes\"\n \"hours\"\n \"days\"\n \"weeks\"\n \"months\"\n \"years\"\n ; smooth subtypes still emitted as own token (value-modes csplines/bezier/\u{2026} \u{2192} \"mod\")\n \"kdensity\"\n \"closed\"\n \"between\"\n \"above\"\n \"below\"\n ; plot / datafile misc\n \"pixels\"\n \"whiskerbars\"\n \"beginning\"\n \"long\"\n ; positioning / key\n \"base\"\n \"begin\"\n \"center\"\n \"end\"\n ; pm3d / 3d options\n \"clip1in\"\n \"clip4in\"\n \"c2c\"\n \"retrace\"\n ; data separators\n \"whitespace\"\n \"tab\"\n \"comma\"\n ; palette stack\n \"push\"\n \"pop\"\n ; flip binary axes\n \"flipx\"\n \"flipy\"\n \"flipz\"\n ; binary datafile modifiers\n \"binary\"\n \"format\"\n \"filetype\"\n \"record\"\n \"array\"\n \"origin\"\n \"dx\"\n \"dy\"\n \"width\"\n \"level\"\n \"matrix\"\n \"nonuniform\"\n \"sparse\"\n \"volatile\"\n \"noautoscale\"\n \"zsort\"\n \"mask\"\n \"transpose\"\n ; endian options (binary)\n \"endian\"\n \"little\"\n \"big\"\n \"swap\"\n \"swab\"\n \"middle\"\n \"pdp\"\n ; fit modifiers\n \"unitweights\"\n \"errors\"\n ; pause endconditions\n \"mouse\"\n \"keypress\"\n \"button1\"\n \"button2\"\n \"button3\"\n \"close\"\n \"any\"\n ; history command options\n \"append\"\n \"quiet\"\n \"numbers\"\n \"trim\"\n \"full\"\n ; pixmap\n ; coordinate axis-family prefix (the coord systems first/second/graph/screen/\n ; character/polar are aliased to (coord) -> @keyword.directive below)\n \"axis\"\n ; position direction aliases\n \"cen\"\n \"lef\"\n \"rig\"\n ; geometry / arrow options\n \"angle\"\n \"length\"\n \"head\"\n \"inout\"\n ; offset / scale\n \"offset\"\n \"nooffset\"\n \"scale\"\n ; orientation\n ; angle units\n ; contour / palette / axis\n \"range\"\n \"missing\"\n \"interpolate\"\n \"autofreq\"\n \"autojustify\"\n ; rotation\n \"rotate\"\n ; border / extend / range modifiers\n \"restore\"\n ; pm3d\n \"scanorder\"\n \"position\"\n ; histogram subtypes\n ; smooth additions\n ; key/label placement\n ; fill pattern\n \"pattern\"\n ; 3d / surface\n \"s\"\n ; data / fit extras\n \"variables\"\n \"logfile\"\n \"nologfile\"\n \"datablocks\"\n \"commentschars\"\n \"functions\"\n ; misc\n ; coordinate planes / walls\n \"version\"\n ; colorspec\n \"rgbcolor\"\n ; tics\n ; set size\n ; set fit\n \"maxiter\"\n \"default\"\n ; label / style\n ; set view\n \"map\"\n ; set theta direction\n ; palette model / presets / cubehelix options\n \"model\"\n ; pm3d / lighting\n \"corners2color\"\n \"primary\"\n \"specular\"\n \"spec2\"\n ; dgrid3d subtype (gauss/\u{2026} value-modes \u{2192} \"mod\")\n \"splines\"\n ; contour / cntrparam\n ; tics axes / modifiers\n \"add\"\n ; text / font / encoding\n \"fontscale\"\n \"utf8\"\n ; fill / size style\n \"empty\"\n ; layout / spacing / multiplot\n \"layout\"\n \"spacing\"\n \"frac\"\n ; color names in style contexts\n \"cb\"\n ; filledcurves axis coordinate (x1, x2, y1, y2 etc.)\n \"coordinate\"\n ; watch-label / surface options\n \"point\"\n ; tics keyword (grid / paxis \u{2014} covers xtics, ytics, ztics contexts)\n \"tics\"\n ; histogram fill style\n ; jitter options\n ; key command options\n ; paxis label keyword (key(\"label\",3) with default aka=\"label\")\n \"label\"\n ; polar coordinate system and grid option\n ; polar grid axis ranges\n \"theta\"\n \"r\"\n ; ellipses style\n \"units\"\n ; stats output prefix\n \"prefix\"\n ; palette formula option\n ; pm3d z-clip\n \"z\"\n ; grid mode\n ; datafile option\n ; textbox / multiplot margins (anonymous \"margins\" string)\n \"margins\"\n ; datafile lc/fc palette shorthand\n \"palette\"\n ; set fit quiet / results / verbose / brief\n \"fit_out\"\n] @variable.member\n\n; -----------------------------------------------------------------------\n; Presentation / style attributes\n; TODO: decide and collapse\n[\n \"size\"\n \"monochrome\"\n \"color\"\n \"transparent\"\n ; palette colour models (set palette model)\n \"RGB\"\n \"CMY\"\n \"HSV\"\n \"nobackground\"\n \"separator\"\n (hull)\n \"units_opt\"\n ; fill / line style modes\n \"solid\"\n \"dashed\"\n ; page orientation\n \"landscape\"\n \"portrait\"\n ; terminal options\n \"animate\"\n \"input\"\n \"colortext\"\n \"blacktext\"\n ; point type names (ps/tikz terminals)\n \"texpoints\"\n \"normalpoints\"\n \"mpoints\"\n \"smallpoints\"\n \"tinypoints\"\n \"pspoints\"\n \"nopspoints\"\n ; key alignment (capitalised)\n ; layer / style misc\n\n \"st_opt\"\n \"plt_st\"\n] @attribute\n\n\n; binary filetype= value (png/jpg/gif/bin parsed as identifier in field)\n(binary_options\n filetype: (identifier) @attribute)\n\n; -----------------------------------------------------------------------\n; Macro / datablock identifiers\n(macro) @function.macro\n\n(datablock) @module\n\n[\n (datablock_start)\n (datablock_end)\n] @label\n\n; -----------------------------------------------------------------------\n; Functions\n(function\n name: (identifier) @function)\n\n((function\n name: (identifier) @function.builtin)\n (#any-of? @function.builtin\n \"abs\" \"acos\" \"acosh\" \"airy\" \"arg\" \"asin\" \"asinh\" \"atan\" \"atan2\" \"atanh\" \"besj0\" \"besj1\" \"besjn\"\n \"besy0\" \"besy1\" \"besyn\" \"besi0\" \"besi1\" \"besin\" \"cbrt\" \"ceil\" \"conj\" \"cos\" \"cosh\" \"EllipticK\"\n \"EllipticE\" \"EllipticPi\" \"erf\" \"erfc\" \"exp\" \"expint\" \"floor\" \"gamma\" \"ibeta\" \"inverf\" \"igamma\"\n \"imag\" \"int\" \"invnorm\" \"invibeta\" \"invigamma\" \"LambertW\" \"lambertw\" \"lgamma\" \"lnGamma\" \"log\"\n \"log10\" \"norm\" \"rand\" \"real\" \"round\" \"sgn\" \"sin\" \"sinh\" \"sqrt\" \"SynchrotronF\" \"tan\" \"tanh\"\n \"uigamma\" \"voigt\" \"zeta\" \"cerf\" \"cdawson\" \"faddeva\" \"erfi\" \"FresnelC\" \"FresnelS\" \"VP\" \"VP_fwhm\"\n \"Ai\" \"Bi\" \"BesselH1\" \"BesselH2\" \"BesselJ\" \"BesselY\" \"BesselI\" \"BesselK\" \"gprintf\" \"sprintf\"\n \"strlen\" \"strstrt\" \"substr\" \"strptime\" \"srtftime\" \"system\" \"trim\" \"word\" \"words\" \"time\"\n \"timecolumn\" \"tm_hour\" \"tm_mday\" \"tm_min\" \"tm_mon\" \"tm_sec\" \"tm_wday\" \"tm_week\" \"tm_yday\"\n \"tm_year\" \"weekday_iso\" \"weekday_cdc\" \"column\" \"columnhead\" \"exists\" \"hsv2rgb\" \"index\" \"palette\"\n \"rgbcolor\" \"stringcolumn\" \"valid\" \"value\" \"voxel\"))\n\n; -----------------------------------------------------------------------\n; Built-in variables (stats output, GPVAL_*, etc.)\n((identifier) @variable.builtin\n (#match? @variable.builtin\n \"^\\\\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)?)$\"))\n\n((identifier) @variable.builtin\n (#match? @variable.builtin\n \"^\\\\w+_(sdd(_x|_y)?|(lo|up)_quartile(_x|_y)?|median(_x|_y)?|sum(sq)?(_x|_y)?|skewness(_err)?(_x|_y)?)$\"))\n\n((identifier) @variable.builtin\n (#match? @variable.builtin\n \"^\\\\w+_(kurtosis(_err)?(_x|_y)?|adev(_x|_y)?|correlation|slope(_err)?|intercept(_err)?|sumxy|pos_(min|max)_y|size(_x|_y))$\"))\n\n((identifier) @variable.builtin\n (#match? @variable.builtin\n \"^((GPVAL|MOUSE|FIT)_\\\\w+|GNUTERM|NaN|Inf|VoxelDistance|GridDistance|pi|ARG\\\\w+)$\"))\n\n; -----------------------------------------------------------------------\n; Array definitions\n(def_array\n \"array\" @keyword.function)\n\n(array\n (identifier) @function)\n\n; -----------------------------------------------------------------------\n; Literals\n(number) @number\n\n(string_literal) @string\n\n(escape_sequence) @string.escape\n\n(format_specifier) @string.special\n";Expand description
The syntax highlighting query for this grammar.