-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO.norg
57 lines (53 loc) · 1.86 KB
/
TODO.norg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
* Now
- (x) Documentation
- (x) string concatenation/interpolation
- (x) some way to de-quotify values?
- (x) re-quotify value
- (x) analog + digital clock example
- (x) error handling try
- (x) Scoped catch on try
- (x) `do` expression
- (x) `let` expression
- (x) `h` declarations
- ( ) `has-class`
- ( ) `add-class` & `remove-class` should use self if id is not specified?
- ( ) Update `--cssx-text` on update
* Later
- ( ) keyboard events
- ( ) Tail recursion optimization
- ( ) Additional events
- ( ) Improve parser error messages
- ( ) Improve eval error messages
- ( ) filter for on update on specific properties
- ( ) FFI interface to declare functions
* Maybe
- ( ) `--cssx-use-properties: --parent-prop;` to trigger nested property update
- ( ) Evaluate `calc`
- ( ) *server-side css*? Why the fuck not!?
* Done
- (x) Hydrate existing elements instead of re-creating
- (x) `load-cssx` functions
- (x) `get-variable`
- (x) `update-variable`
- (x) Use css units for `delay` function
- (x) Specify node type - `button(id)` or `button#id`
- (x) attributes
- (x) `--cssx-text` (and maybe `--cssx-html`?)
- (x) dom tests
- (x) `attr` function
- (x) `set-attr` should allow specifying id?
- (x) `set-attr` + remove attribute?
- (x) `pair` parsing
- (x) `selector` parsing
- (x) `map` data structure
- (x) component system (with variables. `instance(button#my-btn)`)
- (x) More complex selector support for cssx-children
- (x) `add-element` & `remove-element`
- (x) conditionals
- (x) on update
- (x) access child from an instance (update checkbox)
- (x) access instance from child (delete task)
- (x) focus blur events
- (x) Refactor eval to return EvalValue
- (x) Functions. `--my-func: func(if(get-var(--x), get-var(--y), ""))`.
- (x) Function calls. `call(get-var(--my-func), --x: 6, --y: 2)`