@@ -326,6 +326,7 @@ <h1><a href="https://github.com/dy/subscript" class="logo-link" target="_blank"
326326 literal : 'feature/literal.js' ,
327327 access : 'feature/access.js' ,
328328 group : 'feature/group.js' ,
329+ seq : 'feature/seq.js' ,
329330
330331 // Operators (from subscript.js and justin.js)
331332 assign : 'feature/op/assignment.js' ,
@@ -380,7 +381,7 @@ <h1><a href="https://github.com/dy/subscript" class="logo-link" target="_blank"
380381 // Control flow foundations (needed by group via loop)
381382 'control' , 'block' , 'destruct' , 'loop' ,
382383 // Expression features
383- 'group' , 'access' ,
384+ 'seq' , ' group', 'access' ,
384385 // Justin additions
385386 'comment' , 'identity' , 'nullish' , 'pow' , 'unary' ,
386387 'literal' , 'ternary' , 'arrow' , 'spread' , 'optional' ,
@@ -392,7 +393,7 @@ <h1><a href="https://github.com/dy/subscript" class="logo-link" target="_blank"
392393
393394// UI feature groups (maps to internal IDs)
394395const FEATURES = [
395- { cat : 'Core' , items : [ 'number' , 'string' , 'group' , 'access' ] } ,
396+ { cat : 'Core' , items : [ 'number' , 'string' , 'group' , 'seq' , ' access'] } ,
396397 { cat : 'Operators' , items : [ 'assign' , 'arithmetic' , 'logical' , 'bit' , 'cmp' , 'equality' , 'increment' , 'pow' ] } ,
397398 { cat : 'Advanced Ops' , items : [ 'ternary' , 'arrow' , 'optional' , 'spread' , 'unary' , 'identity' , 'nullish' ] } ,
398399 { cat : 'Literals' , items : [ 'literal' , 'collection' , 'template' , 'regex' , 'unit' , 'comment' ] } ,
@@ -402,7 +403,7 @@ <h1><a href="https://github.com/dy/subscript" class="logo-link" target="_blank"
402403
403404const DESC = {
404405 // Core
405- number : '123, 1.5' , string : '"x", \'y\'' , group : '()' , access : 'a.b, a[i]' ,
406+ number : '123, 1.5' , string : '"x", \'y\'' , group : '()' , seq : ', ;' , access : 'a.b, a[i]' ,
406407 // Operators
407408 assign : '=, +=' , arithmetic : '+-*/%' , logical : '&& || !' , bit : '& | ^ ~' ,
408409 cmp : '< > <= >=' , equality : '== !=' , increment : '++ --' , pow : '**' ,
@@ -424,7 +425,8 @@ <h1><a href="https://github.com/dy/subscript" class="logo-link" target="_blank"
424425const TIPS = {
425426 number : 'Decimal numbers<br><code>42</code> <code>3.14</code> <code>1e3</code> <code>0xFF</code> <code>0b101</code>' ,
426427 string : 'String literals<br><code>"hello"</code> <code>\'world\'</code> with escapes' ,
427- group : 'Grouping & sequences<br><code>(a + b)</code> <code>a, b</code> <code>a; b</code>' ,
428+ group : 'Grouping<br><code>(a + b)</code>' ,
429+ seq : 'Sequences<br><code>a, b</code> <code>a; b</code>' ,
428430 access : 'Property access<br><code>a.b</code> <code>a[i]</code> <code>fn()</code>' ,
429431 assign : 'Assignment operators<br><code>=</code> <code>+=</code> <code>-=</code> <code>*=</code> <code>/=</code>' ,
430432 arithmetic : 'Math operators<br><code>+ - * / %</code> unary: <code>+x</code> <code>-x</code>' ,
@@ -658,15 +660,15 @@ <h1><a href="https://github.com/dy/subscript" class="logo-link" target="_blank"
658660
659661const PRESETS = {
660662 // Minimal: just numbers and basic arithmetic
661- minimal : [ 'number' , 'string' , 'group' , 'arithmetic' ] ,
663+ minimal : [ 'number' , 'string' , 'seq' , ' group', 'arithmetic' ] ,
662664 // Expressions: subscript.js features
663- expr : [ 'number' , 'string' , 'assign' , 'logical' , 'bit' , 'cmp' , 'equality' , 'arithmetic' , 'increment' , 'group' , 'access' ] ,
665+ expr : [ 'number' , 'string' , 'assign' , 'logical' , 'bit' , 'cmp' , 'equality' , 'arithmetic' , 'increment' , 'seq' , ' group', 'access' ] ,
664666 // Justin: JSON + expressions (no statements)
665- justin : [ 'number' , 'string' , 'assign' , 'logical' , 'bit' , 'cmp' , 'equality' , 'arithmetic' , 'increment' , 'group' , 'access' ,
667+ justin : [ 'number' , 'string' , 'assign' , 'logical' , 'bit' , 'cmp' , 'equality' , 'arithmetic' , 'increment' , 'seq' , ' group', 'access' ,
666668 'comment' , 'identity' , 'nullish' , 'pow' , 'unary' , 'literal' , 'ternary' , 'arrow' , 'spread' , 'optional' ,
667669 'collection' , 'template' ] ,
668670 // Jessie: practical JS subset with statements
669- jessie : [ 'number' , 'string' , 'assign' , 'logical' , 'bit' , 'cmp' , 'equality' , 'arithmetic' , 'increment' , 'group' , 'access' ,
671+ jessie : [ 'number' , 'string' , 'assign' , 'logical' , 'bit' , 'cmp' , 'equality' , 'arithmetic' , 'increment' , 'seq' , ' group', 'access' ,
670672 'comment' , 'identity' , 'nullish' , 'pow' , 'unary' , 'literal' , 'ternary' , 'arrow' , 'spread' , 'optional' ,
671673 'collection' , 'template' , 'regex' , 'block' , 'var' , 'function' , 'destruct' , 'if' , 'loop' , 'try' , 'switch' , 'asi' ] ,
672674 // Full: all features
0 commit comments