@xano/xanoscript-language-server 11.6.4 → 11.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lexer/control.js CHANGED
@@ -302,6 +302,13 @@ export const PipeToken = createUniqToken({
302
302
  label: "|",
303
303
  });
304
304
 
305
+ // ..
306
+ export const DoubleDotToken = createUniqToken({
307
+ name: "DoubleDotToken",
308
+ pattern: /\.\./,
309
+ label: "..",
310
+ });
311
+
305
312
  // ,
306
313
  export const CommaToken = createUniqToken({
307
314
  name: "CommaToken",
@@ -471,6 +478,7 @@ export const JsonSearchToken = createUniqToken({
471
478
  });
472
479
 
473
480
  export const ControlTokens = [
481
+ DoubleDotToken,
474
482
  JsonNotBetweenToken,
475
483
  JsonNotContainsToken,
476
484
  JsonNotILikeToken,
@@ -626,6 +634,7 @@ export function mapTokenToType(token) {
626
634
  case Question.name:
627
635
  case ColonToken.name:
628
636
  case PipeToken.name:
637
+ case DoubleDotToken.name:
629
638
  case CommaToken.name:
630
639
  return "punctuation";
631
640
  default:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xano/xanoscript-language-server",
3
- "version": "11.6.4",
3
+ "version": "11.6.5",
4
4
  "description": "Language Server Protocol implementation for XanoScript",
5
5
  "type": "module",
6
6
  "main": "server.js",
@@ -76,6 +76,20 @@ describe("varFn", () => {
76
76
  expect(parser.errors).to.be.empty;
77
77
  });
78
78
 
79
+ it("varFn allows range expressions", () => {
80
+ const parser = parse(`var $numbers {
81
+ value = (1..100)
82
+ }`);
83
+ expect(parser.errors).to.be.empty;
84
+ });
85
+
86
+ it("varFn allows range expressions with variables", () => {
87
+ const parser = parse(`var $numbers {
88
+ value = ($var.start..$end_var)
89
+ }`);
90
+ expect(parser.errors).to.be.empty;
91
+ });
92
+
79
93
  it("varFn accepts a system env variable", () => {
80
94
  const parser = parse(`var $user {
81
95
  value = $env.$remote_ip
@@ -3,6 +3,7 @@ import {
3
3
  AndTestToken,
4
4
  ColonToken,
5
5
  Divide,
6
+ DoubleDotToken,
6
7
  GreaterThan,
7
8
  GreaterThanOrEq,
8
9
  IsEqual,
@@ -263,6 +264,7 @@ export function expressionTestFn($) {
263
264
  { ALT: () => $.CONSUME(Multiply) }, // "*"
264
265
  { ALT: () => $.CONSUME(Divide) }, // "/"
265
266
  { ALT: () => $.CONSUME(Modulus) }, // "%"
267
+ { ALT: () => $.CONSUME(DoubleDotToken) }, // ".."
266
268
  { ALT: () => $.CONSUME(NullishCoalescingToken) }, // "??"
267
269
  { ALT: () => $.CONSUME(AndTestToken) }, // "&&"
268
270
  { ALT: () => $.CONSUME(OrTestToken) }, // "||"