Commit graph

33 commits

Author SHA1 Message Date
e64256b65f Add ast parsing for for loops
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-11 14:00:45 +01:00
a099c74b1b Re-arrange TemplateAstExpr
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-11 10:36:40 +01:00
018ba3cd2c Add for loop parsing
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-11 10:34:17 +01:00
3f549690c1 Fix combinatorial explosion on backtracking broken if chains
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-09 16:21:23 +01:00
b0620a00d5 Fix issue with repeating {{ else }} blocks
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-09 16:02:55 +01:00
462355b6f2 Fix invalid indices when content is not long enough
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-09 15:20:07 +01:00
e0e84ede1c Add a noop if no whitespace is emitted to have something to jump to
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-09 13:34:27 +01:00
59f92e31fe Allow trimming of whitespace
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-09 13:24:40 +01:00
587cfdea53 Add parsing of whitespace trimming
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-09 13:14:58 +01:00
6a233e978f Patch in content of previous block if it exists
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-09 13:08:15 +01:00
ae379df9db Also fix the jump if its the last one
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-09 13:04:16 +01:00
ff308649b9 Add if else if chains
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-09 12:51:49 +01:00
ef02e94591 Add tests for if/else if/else/if
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-09 11:40:12 +01:00
c9314a3d9b Split up if chains more
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-08 21:22:57 +01:00
383f543119 Move EndBlock to own element
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-08 20:10:33 +01:00
08b480705b Also emit TokenKind in debug
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-08 20:05:54 +01:00
13eb4ca1d0 Add else parsing
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-08 20:02:33 +01:00
8afc2d1bde Add parsing for conditionals (cont.)
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-08 15:06:29 +01:00
974086a877 Add parsing of simple conditionals
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-07 11:49:40 +01:00
ffb5c92b89 Rename snapshot file as well
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-07 11:23:14 +01:00
d2e0405033 Rename library to nomo
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-07 10:07:47 +01:00
d691fb9198 Add parsing of if/end
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-06 20:53:57 +01:00
10a33dc935 Allow identifiers to contain underscore
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-06 15:45:39 +01:00
d3e6410ec0 Setup a testing bench
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-06 13:56:39 +01:00
4470af3926 Add proper impl for templating
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-06 12:56:16 +01:00
1ee7611981 Use custom Arc backed input
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-06 12:42:11 +01:00
1ea15f0e49 Add first working pipeline of parse -> ast -> instr -> render
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-06 11:03:48 +01:00
f5050e369e Add ast parsing
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-06 08:25:17 +01:00
c5a2179b9e Capture whitespace around interpolations
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-05 20:34:10 +01:00
4177649202 Use resume_after_cut instead of resume_after to simplify code
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-05 19:58:19 +01:00
b07bef7904 Properly recover from errors
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-05 17:33:19 +01:00
f4e8137e17 Add initial parsing
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-05 08:45:42 +01:00
31e102a4ee Initial Commit
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-03-04 17:29:18 +01:00