From afa29b83fc158c782f91bc8dd6ea4fd5b55bddaa Mon Sep 17 00:00:00 2001
From: JesseBrault0709 <62299747+JesseBrault0709@users.noreply.github.com>
Date: Mon, 13 May 2024 09:27:26 +0200
Subject: [PATCH] Created web-views/todo.md
---
web-views/todo.md | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
create mode 100644 web-views/todo.md
diff --git a/web-views/todo.md b/web-views/todo.md
new file mode 100644
index 0000000..b590584
--- /dev/null
+++ b/web-views/todo.md
@@ -0,0 +1,19 @@
+# TODO and general notes
+
+## TODO
+- [ ] Think about syntax for scriptlets. What semantic differences o we want between `${}`, `<%= %>`, and `<% %>`.
+- [ ] Can the DollarScriptlet instead not include the dollar, more like React?
+- [ ] Think about namespaces. This could ease having to write imports, because the namespace would automatically be
+ mapped to a star import. Syntax could be something like ``.
+- [ ] Think about how GString are currently done. Do we need to even parse them as such, between element/component tags?
+ Could we instead just have the `writer` variable take individual values? This would simplify implementation logic
+ for differentiating between closures/scriplets that take an `out` (left-shiftable) param and ones that don't take any.
+ - This could also make differentiating lazy/eager closures/scriptlets easier.
+- [ ] Check that the lexer/parser can handle `-` dashes in component names/types, so that we can support `data-`, etc.
+- [ ] Think more about how to compile templates and components alongside each other. Perhaps we just need to bite
+ the bullet and use a custom Groovy `CompilationUnit` or `CompilerConfiguration` or whatnot to identify `.wvc` files.
+
+## Syntax ideas
+- Perhaps we could have a lambda- or closure-like factory at the beginning of a component for creating it. This could
+ bypass the resolve mechanism and just instantiate the component directly via constructor (with some protocol).
+ Something like: `` or ``. Could also have `<{ new Component() } />`.