Jonathan Kelley
be99e29e5f
Fixes to autofmt, make it more aggressive ( #2230 )
...
* fix: fmt unterminated if, be more aggressive with line splits
* Fix: Handle long exprs in for/if statements
2024-04-03 15:27:36 -07:00
Jonathan Kelley
d8942a255b
Fix #2104 : fmt incorrectly using 1-indexing for columns ( #2106 )
...
* Fix #2104 : fmt incorrectly using 1-indexing for columns
* Clippy...
2024-03-18 18:23:45 -07:00
Jonathan Kelley
f1e8faffb5
fix tests
2024-01-10 23:17:01 -08:00
Jonathan Kelley
2876a7deb2
Merge branch 'master' into feat/inline-attributes-fmt
2024-01-08 20:00:14 -08:00
Evan Almloff
e5df83ceec
Merge branch 'master' into pr/atty303/1349
2024-01-06 08:52:37 -06:00
Jonathan Kelley
8df7a7685e
Merge branch 'master' into many_optional_attributes
2024-01-04 10:18:57 -08:00
marc2332
ce5d7bd11b
rename to split-line-attributes
2023-12-09 16:51:41 +01:00
marc2332
52cb5ff951
feat: --inline-attributes option for autofmt
2023-12-09 11:16:26 +01:00
Alex Parrill
52fb080193
Use indentation settings in dx fmt and vscode extension
...
Adds the ability to specify an indent string to public autofmt methods - either
a sequence of spaces or a tab character.
Get the indentation style and size from rustfmt for dx fmt, or from the editor
settings for the vscode extension.
Closes #1595
2023-11-01 17:24:18 -04:00
Evan Almloff
5b65c4cfb4
implement spreading props in the rsx macro
2023-09-22 10:04:34 -05:00
Evan Almloff
9e167dfdb7
Merge branch 'many_optional_attributes' into pr/atty303/1349
2023-09-22 09:32:05 -05:00
Evan Almloff
ab2b9fb34e
fix autoformatting
2023-09-19 09:39:53 -05:00
Evan Almloff
d297e2baa2
Add optional attributes
2023-09-18 19:50:02 -05:00
Evan Almloff
1a17ca988c
fix double quotes in autoformatting
2023-09-14 16:19:21 -05:00
Evan Almloff
8c47dfaf78
clean up attribute parsing
2023-09-14 14:08:39 -05:00
Koji AGAWA
d573f5dfd5
feat: props spread
2023-08-13 16:45:17 +09:00
Evan Almloff
b6ea722d94
fix some edge cases around multiline attributes
2023-07-19 16:59:20 -07:00
Evan Almloff
8f67d0aafd
make creating rsx nodes from macros possible
2023-06-29 12:52:27 -07:00
Evan Almloff
d9e0b9a918
fix autoformatting raw strings
2023-06-02 12:03:56 -05:00
Evan Almloff
7be8ec3467
Fix html to rsx conversions
2023-04-24 16:07:50 -05:00
Evan Almloff
b6c7d44a27
fix clippy
2023-01-27 20:35:46 -06:00
Jonathan Kelley
b81eca0433
fix: short expr lists should not eat the final exprs
2023-01-16 17:25:55 -08:00
Jonathan Kelley
aa0f6812fa
fix ci around autofmt
2023-01-14 00:42:43 -08:00
Jonathan Kelley
ac6035cb2a
feat: parse entire file instead of hunting for verbtain
2023-01-13 16:46:34 -08:00
Jonathan Kelley
6cd87796f2
feat: allow ifchains and for loops
2023-01-13 10:51:12 -08:00
Jonathan Kelley
8ec5cbcc20
fix ci
2023-01-12 22:54:50 -08:00
Jonathan Kelley
293ef9c690
fix: only flow exprs with indent in mind
2023-01-12 17:02:41 -08:00
Jonathan Kelley
1940855e39
feat: implement comments in zero children nodes
2023-01-10 17:47:58 -08:00
Jonathan Kelley
74421d47fd
fix comments being eaten in autofmt
2023-01-07 14:09:32 -08:00
Jonathan Kelley
c240aebfa1
chore: start instead of flart
2022-12-26 09:58:41 -05:00
Jonathan Kelley
182f11d0f3
chore: update with master
2022-12-19 16:17:59 -08:00
Jonathan Kelley
09b38574db
Merge branch 'master' into jk/autofmt-fixues
2022-12-19 12:19:51 -08:00
Demonthos
047ed1e553
Subtree memorization / reactive templates ( #488 )
...
This commit adds subtree memoization to Dioxus.
Subtree memoization is basically a compile-time step that drastically
reduces the amount of work the diffing engine needs to do at runtime by
extracting non-changing nodes out into a static "template." Templates
are then understood by the various renderers in the ecosystem as a
faster way of rendering the same items.
For example, in the web, templates are simply a set of DOM Nodes created
once and then cloned later. This is the same pattern frameworks like Lithtml
and SolidJS use to achieve near-perfect performance.
Subtree memoization adds an additional level of complexity to Dioxus. The RSX
macro needs to be much smarter to identify changing/nonchanging nodes and
generate a mapping between the Template and its runtime counterparts.
This commit represents a working starter point for this work, adding support
for templates for the web, desktop, liveview, ssr, and native-core renderers.
In the future we will try to shrink code generation, generally improve
performance, and simplify our implementation.
2022-09-30 12:03:06 -07:00
Jonathan Kelley
181a51a63b
wip: add whitespace parsing to rsx
2022-09-30 10:51:53 -07:00
Jonathan Kelley
5313fc0cc6
fix: trailing commas with key
2022-09-28 17:06:11 -07:00
Jonathan Kelley
a37458b9fa
chore: fixes to autoformat to prevent double rendering of expr line
2022-09-28 16:47:10 -07:00
Jon Kelley
d9546d9504
Renderers are now packages, not features. ( #387 )
...
* feat: use synchronous router design
* feat: function to get router out of dom
* chore: restructure workspace to use renderers as packages, not features
2022-07-09 15:15:20 -04:00
Jonathan Kelley
fa9ebe17cc
feat: fix autoformatting around one liners
2022-07-05 17:49:16 -04:00
Jonathan Kelley
64d669e934
chore: add todo list to autofmt crate
2022-07-05 13:31:26 -04:00
Jonathan Kelley
2634755620
fix: handle comments around attributes better
2022-07-05 02:06:54 -04:00
Jonathan Kelley
4471ccba49
fix: even better comment handling
2022-07-05 01:53:08 -04:00
Jonathan Kelley
47f3cc2529
fix: correct comment handling for first line
2022-07-05 00:30:09 -04:00
Jonathan Kelley
150d824561
feat: more advanced comment handling
2022-07-05 00:22:06 -04:00
Jon Kelley
3a30b36f68
fix: some edge cases around autoformatting ( #485 )
...
* wip: remove comment support from autofmt
* fix: some edge cases around autoformatting
* fix: revert readme
* fix: failing test
2022-07-04 21:11:03 -04:00
Jonathan Kelley
0aec375371
wip: clean up formatting package
2022-06-28 17:33:11 -04:00
Jonathan Kelley
bd936d3af2
feat: more cleanup
2022-06-28 17:29:10 -04:00
Jonathan Kelley
fa756ba245
feat: manual props
2022-06-28 17:16:26 -04:00
Jonathan Kelley
5bab835843
fix: allow keys
2022-06-28 15:35:46 -04:00
Jonathan Kelley
1e4af430a8
wip: eliminate warnings
2022-06-28 15:15:09 -04:00
Jonathan Kelley
a825cdcf58
feat: simple support for comments
2022-06-28 15:01:51 -04:00