|
2 | 2 | "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", |
3 | 3 | "name": "8xp", |
4 | 4 | "patterns": [ |
| 5 | + { |
| 6 | + "include": "#snippets" |
| 7 | + }, |
5 | 8 | { |
6 | 9 | "include": "#control" |
7 | 10 | }, |
|
28 | 31 | } |
29 | 32 | ], |
30 | 33 | "repository": { |
| 34 | + "snippets": { |
| 35 | + "name": "variable.other.8xp", |
| 36 | + "match": "<[a-z ]+>" |
| 37 | + }, |
31 | 38 | "control": { |
32 | 39 | "patterns": [ |
33 | 40 | { |
34 | 41 | "name": "keyword.control.8xp", |
35 | | - "match": "\\b(If|Then|Else|For|While|Repeat|End|Pause|Lbl|Goto|Wait|IS>|DS<|Menu|Return|Stop|GraphStyle|GraphColor|OpenLib|ExecLib\\b)" |
| 42 | + "match": "(If |Then|Else|For(?=\\()|While |Repeat |End|Pause|Lbl |Goto |Wait |IS>(?=\\()|DS<(?=\\()|Menu(?=\\()|Return|Stop|GraphStyle(?=\\()|GraphColor(?=\\()|OpenLib(?=\\()|ExecLib )" |
36 | 43 | }, |
37 | 44 | { |
38 | 45 | "name": "keyword.control.8xp", |
|
48 | 55 | }, |
49 | 56 | { |
50 | 57 | "name": "keyword.operator.expression.8xp", |
51 | | - "match": "\\b(and|or|not|xor)\\b" |
| 58 | + "match": "( (and|or|xor) |not(?=\\())" |
52 | 59 | } |
53 | 60 | ] |
54 | 61 | }, |
|
60 | 67 | "patterns": [ |
61 | 68 | { |
62 | 69 | "name": "entity.name.function.8xp", |
63 | | - "match": "\\bprgm[A-Zθ][0-9A-Zθ]{0,7}\\b" |
| 70 | + "match": "prgm[A-Zθ][0-9A-Zθ]{0,7}" |
64 | 71 | }, |
65 | 72 | { |
66 | 73 | "name": "entity.name.function.8xp", |
67 | | - "match": "(?<=[^a-z]|Ans|^)(abs|angle|ANOVA|augment|bal|binom[cp]df|checkTmr|X²([cp]df|\\-Test|GOF\\-Test)|conj|cos(h|)(⁻¹|)|cumSum|dayOfWk|dbd|▶Dec|det|dim|▶DMS|e\\^|\\|E|▶Eff|eval|expr|F[cp]df|▶F◀▶D|Fill|Fix|Float|fMax|fMin|fnInt|[fi]Part|▶Frac|gcd|geomet[cp]df|get(Date|Time)|get(Dt|Tm)(Fmt|Str)|getKey|G\\-T|\\|i|identity|imag|inString|int|ΣInt|inv(Binom|Norm|T)|irr|isClockOn|lcm|length|∆List|ln|log(BASE|)|max|mean|median|Med-Med|min|n[CP]r|n\\/d|nDeriv|▶n/d◀▶Un/d|▶Nom|normal[cp]df|npv|piecewise|poisson[cp]df|▶Polar|ΣPrn|prod|[12]\\-PropZ(Int|Test)|pxl\\-Test|P▶Rx|P▶Ry|rand|randBin|randInt|randIntNoRep|randM|randNorm|re\\^θi|real|▶Rect|ref|remainder|round|\\*row|row\\+|\\*row\\+|rowSwap|rref|R▶P[rθ]|seq|setDate|setDtFmt|setTime|setTmFmt|sin|sin⁻¹|sinh|sinh⁻¹|solve|startTmr|stdDev|su[bm]|Σ|tan|tan⁻¹|tanh|tanh⁻¹|t[cp]df|timeCnv|toString|tvm_FV|tvm_I%|tvm_N|tvm_Pmt|tv_PV|uvAxes|uwAxes|variance|vwAxes|xyLine)\\b" |
| 74 | + "match": "(abs|angle|ANOVA|augment|bal|binom[cp]df|checkTmr|X²([cp]df|\\-Test|GOF\\-Test)|conj|cos(h|)(⁻¹|)|cumSum|dayOfWk|dbd|▶Dec|det|dim|▶DMS|e\\^|\\|E|▶Eff|eval|expr|F[cp]df|▶F◀▶D|Fill|Fix|Float|fMax|fMin|fnInt|[fi]Part|▶Frac|gcd|geomet[cp]df|get(Date|Time)|get(Dt|Tm)(Fmt|Str)|getKey|G\\-T|\\|i|identity|imag|inString|int|ΣInt|inv(Binom|Norm|T)|irr|isClockOn|lcm|length|∆List|ln|log(BASE|)|max|mean|median|Med-Med|min|n[CP]r|n\\/d|nDeriv|▶n/d◀▶Un/d|▶Nom|normal[cp]df|npv|piecewise|poisson[cp]df|▶Polar|ΣPrn|prod|[12]\\-PropZ(Int|Test)|pxl\\-Test|P▶Rx|P▶Ry|rand|randBin|randInt|randIntNoRep|randM|randNorm|re\\^θi|real|▶Rect|ref|remainder|round|\\*row|row\\+|\\*row\\+|rowSwap|rref|R▶P[rθ]|seq|setDate|setDtFmt|setTime|setTmFmt|sin|sin⁻¹|sinh|sinh⁻¹|solve|startTmr|stdDev|su[bm]|Σ|tan|tan⁻¹|tanh|tanh⁻¹|t[cp]df|timeCnv|toString|tvm_FV|tvm_I%|tvm_N|tvm_Pmt|tv_PV|uvAxes|uwAxes|variance|vwAxes|xyLine)(?=\\()" |
68 | 75 | }, |
69 | 76 | { |
70 | 77 | "name": "entity.name.function.8xp", |
71 | | - "match": "\\b(Archive|Asm|AsmComp|Asm84CEPrgm|AUTO|AxesOff|AxesOn|a\\+bi|BackgroundOff|BackgroundOn|BorderColor|Boxplot|Circle|CLASSIC|Clear Entries|ClockOff|ClockOn|ClrAllLists|ClrDraw|ClrHome|ClrList|ClrTableCoordOff|CoordOn|CubicReg|DEC|Degree|Depend(Ask|Auto)|DetectAsym(Off|On)|Diagnostic(Off|On)|Disp(Graph|Table|)|Dot\\-(Thick|Thin)|Draw(F|Inv)|Eng|Equ▶String|Exp(Reg|rOff|rOn)|Fn(Off|On)|Full|Func|GarbageCollect|Get|GetCalc|GridDot|GridLine|GridOffHoriz|Horizontal|HistogramIndpnt(Ask|Auto)|Input|Label(Off|On)|Line|(LinReg)(?=\\((a\\+bx|ax\\+b)\\))|((?<=LinReg)\\((a\\+bx|ax\\+b)\\))|LinRegT(Int|Test)|List▶matr|LnReg|Logistic|Manual\\-Fit|MATHPRINT|Matr▶list|ModBoxPlot|Normal|NormProbPlot|Output|Param|Plot[1-3]|Plots(Off|On)|Pmt_(Bgn|End)|Polar|PolarGC|Prompt|Pt\\-(Change|Off|On)|PwrReg|Pxl\\-(Change|Off|On)|(Quad|Quart)Reg|Radian|Real|Recall(GDB|Pic)|RectGC|2\\-SampFTest|2\\-Samp[TZ]Int|2\\-Samp[TZ]Test|Scatter|Sci|Select|Send|Seq|SEQ|Sequential|SetUpEditor|Shade|ShadeX²|ShadeF|ShadeNorm|Shade_t|Simul|SinReg|Sort[AD]|STATWIZARD (OFF|ON)|Store(GDB|Pic)|String▶Equ|Tangent|Text|TextColor|Thick|Thin|Time|TInterval|Trace|T\\-Test|UnArchive|Un\\/d|[12]\\-Var Stats|Vertical|Web|ZBox|ZDecimal|ZFrac1/[2-58]|ZFrac1/10|ZInteger|ZInterval|Zoom In|Zoom Out|ZoomFit|ZoomRcl|ZoomStat|ZoomSto|ZPrevious|ZQuadrant1|ZSquare|ZStandard|Z\\-Test|ZTrig)\\b" |
| 78 | + "match": "(Archive |Asm(?=\\()|AsmComp(?=\\()|Asm84CEPrgm|AUTO|AxesOff|AxesOn|a\\+bi|BackgroundOff|BackgroundOn|BorderColor|Boxplot|Circle(?=\\()|CLASSIC|Clear Entries|ClockOff|ClockOn|ClrAllLists|ClrDraw|ClrHome|ClrList|ClrTableCoordOff|CoordOn|CubicReg|DEC|Degree|Depend(Ask|Auto)|DetectAsym(Off|On)|Diagnostic(Off|On)|Disp(Graph|Table| )|Dot\\-(Thick|Thin)|Draw(F|Inv)|Eng|Equ▶String(?=\\()|Exp(Reg|rOff|rOn)|Fn(Off|On)|Full|Func|GarbageCollect|Get(Calc)?(?=\\()|GridDot|GridLine|GridOffHoriz|Horizontal |HistogramIndpnt(Ask|Auto)|Input |Label(Off|On)|Line(?=\\()|LinReg(?=\\((a\\+bx|ax\\+b)\\))|(?<=LinReg)\\((a\\+bx|ax\\+b)\\)|LinRegT(Int|Test)|List▶matr(?=\\()|LnReg|Logistic |Manual\\-Fit|MATHPRINT|Matr▶list|ModBoxPlot|Normal|NormProbPlot|Output(?=\\()|Param|Plot[1-3](?=\\()|Plots(Off|On)|Pmt_(Bgn|End)|(►)?Polar|PolarGC|Prompt |Pt\\-(Change|Off|On)(?=\\()|PwrReg |Pxl\\-(Change|Off|On)(?=\\()|(Quad|Quart)Reg |Radian|Real|Recall(GDB|Pic) |RectGC|2\\-SampFTest |2\\-SampT(Int|Test) |2\\-SampZ(Int|Test)(?=\\()|Scatter|Sci|Select(?=\\()|Send(?=\\()|Seq|SEQ\\(n(\\+[12])?\\)|Sequential|SetUpEditor |Shade(X²|F|Norm|_t)?(?=\\()|Simul|SinReg |Sort[AD](?=\\()|STATWIZARD (OFF|ON)|Store(GDB|Pic) |String▶Equ(?=\\()|Tangent(?=\\()|Text(?=\\()|TextColor(?=\\()|Thick|Thin|Time|TInterval |Trace|T\\-Test |UnArchive |Un\\/d|[12]\\-Var Stats |Vertical |Web|ZBox|ZDecimal|ZFrac1/[2-58]|ZFrac1/10|ZInteger|ZInterval|Zoom In|Zoom Out|ZoomFit|ZoomRcl|ZoomStat|ZoomSto|ZPrevious|ZQuadrant1|ZSquare|ZStandard|Z\\-Test(?=\\()|ZTrig)" |
72 | 79 | }, |
73 | 80 | { |
74 | 81 | "name": "entity.name.function.8xp", |
75 | | - "match": "(?<=(Goto|Lbl) )[0-9A-Zθ]{1,2}\\b" |
| 82 | + "match": "(?<=(Goto|Lbl) )[0-9A-Zθ]{1,2}" |
76 | 83 | } |
77 | 84 | ] |
78 | 85 | }, |
|
89 | 96 | }, |
90 | 97 | { |
91 | 98 | "name": "variable.parameter.8xp", |
92 | | - "match": "\\b([A-Zθ]|Xmin|Xmax|Xscl|Ymin|Ymax|YScl|Xres|ΔX|ΔY|XFact|YFact|TraceStep|Tmin|Tmax|Tstep|θmin|θmax|θstep|[uvw]|((?<=[uvw])\\((nMin\\)))|nMin|nMax|PlotStart|PlotStep)\\b" |
| 99 | + "match": "([A-Zθ]|Xmin|Xmax|Xscl|Ymin|Ymax|YScl|Xres|ΔX|ΔY|XFact|YFact|TraceStep|Tmin|Tmax|Tstep|θmin|θmax|θstep|[uvw]|((?<=[uvw])\\((nMin\\)))|nMin|nMax|PlotStart|PlotStep)" |
| 100 | + }, |
| 101 | + { |
| 102 | + "name": "variable.parameter.8xp", |
| 103 | + "match": "(ZXmin|ZXmax|ZXscl|ZYmin|ZYmax|ZYscl|ZXres|ZTmin|ZTmax|ZTstep|Zθmin|Zθmax|Zθstep|Z[uvw]|((?<=Z[uvw])\\((nMin\\)))|ZnMin|ZnMax|ZPlotStart|ZPlotStep)" |
93 | 104 | }, |
94 | 105 | { |
95 | 106 | "name": "variable.parameter.8xp", |
96 | | - "match": "\\b(ZXmin|ZXmax|ZXscl|ZYmin|ZYmax|ZYscl|ZXres|ZTmin|ZTmax|ZTstep|Zθmin|Zθmax|Zθstep|Z[uvw]|((?<=Z[uvw])\\((nMin\\)))|ZnMin|ZnMax|ZPlotStart|ZPlotStep)\\b" |
| 107 | + "match": "GDB[0-9]" |
97 | 108 | }, |
98 | 109 | { |
99 | 110 | "name": "variable.parameter.8xp", |
100 | | - "match": "\\bGDB[0-9]\\b" |
| 111 | + "match": "(Pic[0-9]|Image[0-9])" |
101 | 112 | }, |
102 | 113 | { |
103 | 114 | "name": "variable.parameter.8xp", |
104 | | - "match": "\\b(Pic[0-9]|Image[0-9])\\b" |
| 115 | + "match": "(n|x̄|Sx|σx|ȳ|Sy|σy|minX|maxX|minY|maxY|Σx|Σx²|Σy|Σy²|Σxy|RegEQ|[a-e]|r|r²|R²|p|z|t|x²|\\|F|df|ṗ|ṗ1|ṗ2|s|x̄1|x̄2|Sx1|Sx2|Sxp|n1|n2|lower|upper|x1|y1|x2|y2|x3|y3|Q1|Med|Q3)" |
105 | 116 | }, |
106 | 117 | { |
107 | 118 | "name": "variable.parameter.8xp", |
108 | | - "match": "\\b(n|x̄|Sx|σx|ȳ|Sy|σy|minX|maxX|minY|maxY|Σx|Σx²|Σy|Σy²|Σxy|RegEQ|[a-e]|r|r²|R²|p|z|t|x²|\\|F|df|ṗ|ṗ1|ṗ2|s|x̄1|x̄2|Sx1|Sx2|Sxp|n1|n2|lower|upper|x1|y1|x2|y2|x3|y3|Q1|Med|Q3)\\b" |
| 119 | + "match": "(Tbl(Start|Input)|∆Tbl)" |
109 | 120 | }, |
110 | 121 | { |
111 | 122 | "name": "variable.parameter.8xp", |
112 | | - "match": "\\b(TblStart|∆Tbl|TblInput)\\b" |
| 123 | + "match": "Str[0-9]" |
113 | 124 | }, |
114 | 125 | { |
115 | 126 | "name": "variable.parameter.8xp", |
116 | | - "match": "\\bStr[0-9]\\b" |
| 127 | + "match": "Y[0-9]" |
117 | 128 | }, |
118 | 129 | { |
119 | 130 | "name": "variable.parameter.8xp", |
120 | | - "match": "\\bY[0-9]\\b" |
| 131 | + "match": "[XY][1-6]T" |
121 | 132 | }, |
122 | 133 | { |
123 | 134 | "name": "variable.parameter.8xp", |
124 | | - "match": "\\b[XY][1-6]T\\b" |
| 135 | + "match": "r[1-6]" |
125 | 136 | }, |
126 | 137 | { |
127 | 138 | "name": "variable.parameter.8xp", |
128 | | - "match": "\\br[1-6]\\b" |
| 139 | + "match": "\\|L[A-Zθ][0-9A-Zθ]{0,4}" |
129 | 140 | }, |
130 | 141 | { |
131 | 142 | "name": "variable.parameter.8xp", |
132 | | - "match": "\\B\\|L[A-Zθ][0-9A-Zθ]{0,4}\\b" |
| 143 | + "match": "\\[[A-J]\\]" |
133 | 144 | } |
134 | 145 | ] |
135 | 146 | }, |
136 | 147 | "constants": { |
137 | 148 | "patterns": [ |
138 | 149 | { |
139 | 150 | "name": "constant.language.8xp", |
140 | | - "match": "\\b(CENTER|LEFT|RIGHT)\\b" |
| 151 | + "match": "(CENTER|LEFT|RIGHT)" |
141 | 152 | }, |
142 | 153 | { |
143 | 154 | "name": "constant.language.8xp", |
144 | | - "match": "\\b(BLUE|RED|BLACK|MAGENTA|GREEN|ORANGE|BROWN|NAVY|LTBLUE|YELLOW|WHITE|LTGRAY|MEDGRAY|GRAY|DARKGRAY)\\b" |
| 155 | + "match": "(BLUE|RED|BLACK|MAGENTA|GREEN|ORANGE|BROWN|NAVY|LTBLUE|YELLOW|WHITE|LTGRAY|MEDGRAY|GRAY|DARKGRAY)" |
145 | 156 | } |
146 | 157 | ] |
147 | 158 | }, |
|
0 commit comments