# FEATURES A master list of the features for our new modeling language: - [ ] documentation - [ ] overview - [ ] who - [x] what - [x] why - [x] easy example - [ ] the language - [x] spaces and comments - [x] patterns - [x] sequences - [x] alternations - [x] groups - [x] quantifiers - [x] behaviors - [x] system - [x] behavior - [ ] interactions - [ ] system item selectors - [ ] `sys1:pattern` - [ ] `sys1:a -> sys2:b` (ordering) - [ ] `sys1:a -> sys2:b -> sys3:b` (chained ordering) - [ ] `sys1:a == sys2:b` (joining) - [ ] `expr -> sys1:a` (conditionals) - [ ] triggers - [ ] `WHEN pattern { ... }` - [ ] `WHEN expr { ... }` - [ ] expressions and code blocks - [ ] properties - [ ] global scope - [ ] pattern scope - [ ] local scope - [ ] predefined variables - [ ] `global` - [ ] `this` - [ ] `parent` - [ ] `previous` - [ ] parser API - [ ] generator API - [ ] code parser - [x] spaces and comments - [ ] error handling - [x] patterns - [x] sequences - [x] alternations - [x] groups - [x] quantifiers - [x] behaviors - [x] system - [x] behavior - [x] interactions - [x] system item selectors - [x] `sys1:pattern` - [x] `sys1:a -> sys2:b` (ordering) - [x] `sys1:a -> sys2:b -> sys3:b` (chained ordering) - [x] `sys1:a == sys2:b` (joining) - [x] `expr -> sys1:a` (conditionals) - [x] triggers - [x] `WHEN pattern { ... }` - [x] `WHEN expr { ... }` - [ ] expressions and code blocks - [ ] properties - [ ] global scope - [ ] pattern scope - [ ] local scope - [ ] special functions - [ ] `COUNT(pattern)` - [ ] special variables - [ ] `global` - [ ] `this` - [ ] `parent` - [ ] `previous` - [ ] includes - [ ] event trace generator - [ ] patterns - [ ] sequences - [ ] alternations - [ ] groups - [ ] quantifiers - [ ] behaviors - [ ] system - [ ] behavior - [ ] interactions - [ ] system item selectors - [ ] `sys1` - [ ] `sys1:pattern` - [ ] `sys1:a -> sys2:b` (ordering) - [ ] `sys1:a -> sys2:b -> sys3:b` (chained ordering) - [ ] `sys1:a == sys2:b` (joining) - [ ] `expr -> sys1:a` (conditionals) - [ ] triggers - [ ] `WHEN pattern { ... }` - [ ] `WHEN expr { ... }` - [ ] expressions and code blocks - [ ] properties - [ ] global scope - [ ] pattern scope - [ ] local scope - [ ] special functions - [ ] `COUNT(pattern)` - [ ] special variables - [ ] `global` - [ ] `this` - [ ] `parent` - [ ] `previous` - [ ] code editor - [ ] syntax highlighting - [ ] interactive error reporting from parser - [ ] completion - [ ] basic completion - [ ] docs in completion - [ ] context-based completion - [ ] trace visualizer - [ ] visual code editor - [ ] configurable layout - [ ] files - [ ] new (tabs / splits using configurable layout) - [ ] open examples? - [ ] close - [ ] save (localStorage? )