Commit Graph
29 Commits
Author SHA1 Message Date
Jonathan Kelley 343c48f5ad fix: viewBox translation by not accidentally stringifying literals (#3527)
* fix: don't double stringify lits

* also split off namespaces in translation
2025-01-08 16:12:48 -08:00
Evan Almloff d64df87aba Escape HTML as we translate to rsx (#3038) 2024-10-08 07:02:02 -05:00
Jonathan Kelley 828cc502f1 Fix: #2604, Fix: #2240, Fix: #2341, Fix #1355 - Better error handling and and spaces handling in autofmt (#2736)
* add new autofmt sample
* Feat: implement rustfmt::skip support for rsx
* generally improve error handling with better expect messages
* wip: nested rsx formatting and expression formatting
* nested rsx formatting works
* collapse autofmt crate
* cast indent through macros
* use proper whitespace
* no more eating comments!
* Use proper error handling
2024-07-30 18:36:13 -07:00
Evan Almloff 34bdcd15cf Switch to a pool of dynamic values for hot reloading (#2705)
* create the dynamic value pool

* assign ids to dynamic formatted segments

* separate the rendering and literal pools

* rsx output compiles again

* more examples compiling with new rsx expansion

* update template body explanation

* all workspace examples compile

* fix formatted segments in keys

* start hot reload diffing

* fix component literal hot reloading

* start integrate new hot reloading with the CLI

* simple hot reloads working

* Fix hot reloading blocks with components

* implement hot reloading for if chains

* Fix hot reloading after a template requires a full rebuild

* Fix hot reloading any attribute values

* remove unsafe from hot reload utils

* Fix hot reloading empty rsx

* add more hot reloading tests

* reorganize hot reload module

* fix web hydration

* fix empty rsx nodes in autoformatting

* fix tests

* remove path sorting logic from core

* make template names more consistent in debug mode

* fix quote_as_hot_reload_literal for explicitly typed literals

* fix can_be_shorthand for string literals

* fix formatted single dynamic expression

* Fix usize component properties and playwright tests

* remove default implementation for TemplateBody

* add a bunch more comments for diffing, scoring and why this scoring system is optimal
2024-07-30 17:16:27 +00:00
88af3e7eff Hotreloading of for/if/body, formatted strings, literals, component props, nested rsx, light CLI rewrite, cli TUI (#2258)
Hotreload the contents of for loops, if chains, component bodies, props, attributes, and any literals discovered in rsx!
Add a TUI renderer to the CLI.
Improve the CLI build system to be async and parallel.
Refactor RSX to allow partial expansion of expressions.
Merge autofmt implementations for consistency.
Merge the representation of elements and components under the hood.
Add a diagnostics system for rsx for improved error messages.
Drop interprocess and move to websockets for communication between the CLI and the server.
Assign IDs to nodes and attributes in a stable way to be used in non compiler contexts.
Add hotreloading to any body of component/for loop/if chain/etc.

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
Co-authored-by: Liam Mitchell <liamkarlmitchell@gmail.com>
2024-07-17 19:11:18 -07:00
Evan AlmloffandJonathan Kelley 2523581cf4 Autocomplete rsx (#2421)
* autocomplete rsx

* hide the completions module

* fix autocomplete for identifiers that start with a raw identifier

* add field completion hints for props

* remove extra import

* Revert "add field completion hints for props"

This reverts commit 194899c73783e0f9b5d601d53365746d838f2048.

* fix autocomplete inside raw expressions

* fix autofmt

* feat: just use regular ifmt if it's compatible

reuses the tokens for ifmt so RA provides its HIR lowering on simple formatted strings

* fix merging ifmt strings

* add a better error message for components called like functions

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-05-22 07:24:50 -05:00
Jonathan Kelley eb79e61642 Add a ton of comments to rsx/hotreload, add snapshot testing, refactor a bit to simplify the crate (#2130)
Merge dynamic context and dynamic mapping, clean up the rsx hotreload logic, and add location data to the Rsx objects
2024-03-24 13:31:26 -07:00
Jonathan Kelley ae352f8958 Feat: reject invalid keys 2024-03-07 16:03:00 -08:00
Evan Almloff e5df83ceec Merge branch 'master' into pr/atty303/1349 2024-01-06 08:52:37 -06:00
Evan Almloff f6acaba061 fix compilation 2024-01-04 17:04:56 -06:00
Jonathan Kelley 8df7a7685e Merge branch 'master' into many_optional_attributes 2024-01-04 10:18:57 -08:00
Evan Almloff bc557906fe fix formatting 2024-01-03 15:18:37 -06:00
Evan Almloff afb258b658 Fix elements and attributes mapping for dx translate 2024-01-03 15:18:27 -06:00
Evan Almloff 77d53df532 Merge branch 'master' into pr/atty303/1349 2023-10-31 13:39:20 -05:00
Leonard 2d1234c3d1 Include README and Dioxus logo in package docs (#1536)
* Include README in docs.rs and add Dioxus logo

* Update README.md
2023-10-10 10:52:48 -05: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 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 8f67d0aafd make creating rsx nodes from macros possible 2023-06-29 12:52:27 -07:00
Evan Almloff 209a55da69 allow raw elements if they include a dash 2023-03-19 20:37:40 -05:00
Jonathan Kelley 2a9eb90154 fix: generate brace in rosetta 2023-01-10 18:14:16 -08:00
Jonathan Kelley 4fdbce9a70 chore: clean up readmes 2022-12-29 16:17:03 -05:00
Jonathan Kelley 04ca284704 chore: add svg collection 2022-12-29 02:21:32 -05:00
Jonathan Kelley ecb154db6f chore: rename method 2022-12-29 00:56:23 -05:00
Jonathan Kelley 1389766596 chore: take domtree by reference 2022-12-29 00:55:04 -05:00
Jonathan Kelley bc707db832 chore: make clippy happy and limit workspace checks 2022-12-29 00:46:02 -05:00
Jonathan Kelley bc3cf6501c feat: complete html to rsx rosetta 2022-12-28 16:22:20 -05:00