Commit Graph
47 Commits
Author SHA1 Message Date
Jonathan Kelley 88c693b2e4 fix: don't eat comments in more situations (#4423)
* fix: don't eat comments in more situations

* clippy...
2025-07-15 14:39:35 -07:00
Jonathan Kelley 4963aa3118 fix autofmt: don't panic when writing blocks out without a srcfile (#2854)
* fix: don't panic when writing blocks out
* also fix serialization for hotreload
* fix windows line endings
2024-08-16 21:55:30 -07:00
Jonathan Kelley c21b44a4e6 fix collapsing of multiline components and rsx!{} calls (#2849) 2024-08-15 17:03:58 -07: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
opensource-inemar-net e73484795a This fixes issue (#2724) 2024-07-28 12:06:09 -07: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
Jonathan Kelley 30f6986283 Fix clippy 2024-07-02 12:39:32 -07:00
Jonathan Kelley 1404d26455 Switch to using refs instead of owned for autofmt write block out (#2573) 2024-07-02 12:27:11 -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 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
marc2332 ce5d7bd11b rename to split-line-attributes 2023-12-09 16:51:41 +01:00
marc2332 c10cefffb6 fix: Disabling short-children inlining when inline attributes is disabled 2023-12-09 11:46:30 +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
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 beb56b93a0 more clippy fixes 2023-07-20 09:06:12 -07:00
Evan Almloff 330950140c fix clippy 2023-07-19 18:16:32 -07:00
Evan Almloff b6ea722d94 fix some edge cases around multiline attributes 2023-07-19 16:59:20 -07:00
Evan Almloff 6639011a3e fix autofmt 2023-07-19 13:43:04 -07:00
Evan Almloff 3d8d8a1b6f half-build-times 2023-07-19 10:19:23 -07:00
Evan Almloff d9e0b9a918 fix autoformatting raw strings 2023-06-02 12:03:56 -05:00
Evan Almloff b6c7d44a27 fix clippy 2023-01-27 20:35:46 -06:00
Jonathan Kelley 4e4e101eee fix: dont choke on emojji n exprs 2023-01-17 16:24:29 -08:00
Jonathan Kelley 61b8a25ad8 make clippy happy 2023-01-17 10:51:23 -08:00
Jonathan Kelley b81eca0433 fix: short expr lists should not eat the final exprs 2023-01-16 17:25:55 -08:00
Jonathan Kelley b6e4db1f2f fix: immediate exprs 2023-01-16 16:36:50 -08:00
Jonathan Kelley 0b110075ef chore: remvoe todos hiding in autofmt 2023-01-13 17:05:45 -08:00
Jonathan Kelley ea032eeb8e clean up macro crate a little bit 2023-01-13 16:52:37 -08:00
Jonathan Kelley ac6035cb2a feat: parse entire file instead of hunting for verbtain 2023-01-13 16:46:34 -08:00
Jonathan Kelley 983789e4c5 handle weird trailing whitespace in autofmt 2023-01-12 16:55:13 -08:00
Jonathan Kelley cc8b910cf3 fix emoji support in autofmt 2023-01-12 16:29:31 -08:00
Jonathan Kelley 1940855e39 feat: implement comments in zero children nodes 2023-01-10 17:47:58 -08:00
Jonathan Kelley 5c63ae4b5d chore: dont panic 2022-12-29 01:02:07 -05:00
Jonathan Kelley bc3cf6501c feat: complete html to rsx rosetta 2022-12-28 16:22:20 -05:00
Jonathan Kelley 14bc007c15 wip: refactor out translation into its own crate 2022-12-28 11:51:41 -05: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 67dc6e6017 feat: implement type magic to allow strings, format args, and other types directly in rsx (#550)
* feat: implement type magic

* chore: undo example

* fix: let tests pass

* chore: add generic to allow any nesting of iterators

* Chore: remove comments

* chore: update rsx usage

* chore: use cleaner version of generic IntoVnode

* chore: don't derive default for lfietimed thing

* chore: remove latent comment

* fix: accept a third parameter
2022-09-12 22:49:04 -07:00
Jonathan Kelley 3d47cb48fa fix: autofmt on single line rsx calls 2022-07-07 02:06:50 -04:00
Jonathan Kelley fa9ebe17cc feat: fix autoformatting around one liners 2022-07-05 17:49:16 -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 28a0c67275 polish: clean up the examples and move autofmt sample into dedicated file 2022-06-30 15:19:58 -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
Jonathan Kelley d70b436157 wip: more cleanup, more tests 2022-06-27 16:24:36 -04:00
Jonathan Kelley a2a194ca40 wip: use stateful buffer 2022-06-27 13:36:41 -04:00
Jonathan Kelley 398cbc6534 wip: rely on git version of prettyplease, refactor autofmt 2022-06-25 00:55:52 -04:00
Jonathan Kelley 5b9e34aadd feat: add fork of prettyplease for autoformatting 2022-06-24 14:22:08 -04:00