# Todo - [x] Env shorthand - [x] String interpolation - [x] Aliases - [x] Env vars - [x] Sub commands - [x] Floats - [x] Tests - [x] Decl requires $ but shouldn't - [x] alias highlighting at call site - [x] refactor into subcrates - [x] subcommand alias - [x] type inference from successful parse (eg not `List` but `List`) - [x] parsing tables - [x] Block params - [x] Ranges - [x] Column path - [x] ...rest without calling it rest - [x] Iteration (`each`) over tables - [x] Row conditions - [x] Simple completions - [ ] Detecting `$it` currently only looks at top scope but should find any free `$it` in the expression (including subexprs) - [ ] Signature needs to make parameters visible in scope before block is parsed - [ ] Value serialization - [ ] Handling rows with missing columns during a cell path - [ ] Error shortcircuit (stopping on first error) - [ ] ctrl-c support - [ ] operator overflow - [ ] finish operator type-checking - [ ] Source - [ ] Autoenv - [ ] Externals - [ ] let [first, rest] = [1, 2, 3] (design question: how do you pattern match a table?) ## Maybe: - [ ] default param values? - [ ] Unary not?