Giga Bowser
b4f2d62952
internal: Improve reporting of intersecting changes
2025-02-25 11:46:45 -05:00
Shoyu Vanilla
a0b9931832
Add take()
method to SyntaxEditor
2025-02-24 22:42:57 +09:00
Shoyu Vanilla
f06f1b81bb
Migrate some leftovers in add_missing_match_arms
2025-02-24 22:41:52 +09:00
Shoyu Vanilla
8b947d7a12
internal: Remove mutable syntax tree usages from add_missing_match_arms
assist
2025-02-14 02:36:05 +09:00
Lukas Wirth
7fd6f72007
Merge pull request #19070 from Veykril/push-wpqzmznymtrn
...
Remove mutable syntax tree shenanigans from adjustment hints
2025-01-29 13:58:18 +00:00
Lukas Wirth
f61d31b144
Remove mutable syntax tree shenanigans from adjustment hints
2025-01-29 14:42:37 +01:00
Lukas Wirth
07a09c154e
Merge pull request #19015 from Wilfred/mdbook
...
manual: Convert to mdbook
2025-01-28 16:19:37 +00:00
Shoyu Vanilla
7de0b2e75a
feat: Implement default-field-values
2025-01-27 19:38:35 +09:00
Lukas Wirth
ae74cc3b88
Skip redundant path search in resolve_completion_edits
2025-01-25 13:03:01 +01:00
Wilfred Hughes
deda58e8f1
manual: Convert to mdbook
...
Split manual.adoc into markdown files, one for each chapter.
For the parts of the manual that are generated from source code doc
comments, update the comments to use markdown syntax and update the
code generators to write to `generated.md` files.
For the weekly release, stop copying the .adoc files to the
`rust-analyzer/rust-analyzer.github.io` at release time. Instead,
we'll sync the manual hourly from this repository.
See https://github.com/rust-analyzer/rust-analyzer.github.io/pull/226
for the sync. This PR should be merged first, and that PR needs to be
merged before the next weekly release.
This change is based on #15795 , but rebased and updated. I've also
manually checked each page for markdown syntax issues and fixed any I
encountered.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Co-authored-by: Josh Rotenberg <joshrotenberg@gmail.com>
2025-01-24 13:23:22 -08:00
Lukas Wirth
bf669dab84
Re-implement rust string highlighting via tool attribute
2025-01-10 13:49:35 +01:00
Giga Bowser
a5a79f5957
internal: Migrate unwrap_return_type
assist to use SyntaxEditor
...
Also changes `make::expr_empty_block()` to return `ast::BlockExpr` instead of `ast::Expr`
2025-01-08 18:12:06 -06:00
Giga Bowser
651b43e551
internal: Migrate wrap_return_type
assist to use SyntaxEditor
2025-01-08 15:19:10 -06:00
Giga Bowser
796041acce
internal: Add some pattern constructors to SyntaxFactory
2025-01-06 15:58:39 -06:00
Giga Bowser
ce2398fee8
internal: Add some expr constructors to SyntaxFactory
2025-01-06 15:58:39 -06:00
Giga Bowser
f5ff966dea
internal: Add some path constructors to SyntaxFactory
2025-01-06 15:58:39 -06:00
Giga Bowser
551f1d00dd
internal: make::expr_match
should return ast::MatchExpr
2025-01-06 15:58:39 -06:00
Giga Bowser
32ff06d51c
internal: Generally improve make::match_arm
...
`make::match_arm` should take a single `ast::Pat`, and callers can handle creating an `ast::OrPat` if need be. It should also take a proper `ast::MatchGuard`, instead of making one itself.
2025-01-06 15:58:39 -06:00
Giga Bowser
905e1e1fc0
internal: move make::expr_unit
to make::ext::expr_unit
...
`expr_unit` is just a shortcut for a common expression, so it belongs in `make::ext`
2025-01-06 15:58:39 -06:00
Giga Bowser
f388482119
internal: make::expr_tuple
should return ast::TupleExpr
2025-01-06 15:32:08 -06:00
Giga Bowser
c549be9ab6
internal: make::expr_if
should return ast::IfExpr
2025-01-06 15:32:08 -06:00
Giga Bowser
913d197a04
internal: make::expr_prefix
should return ast::PrefixExpr
2025-01-06 15:32:08 -06:00
Giga Bowser
159731022f
internal: Generalize make::expr_from_text
to types which implement Into<ast::Expr>
...
This will help with specializing the various `make::expr_*` functions later
2025-01-06 15:32:08 -06:00
Lukas Wirth
4b6007115a
minor: New clippy lints
2025-01-06 17:57:17 +01:00
Chayim Refael Friedman
ce323627c5
Support the new CoercePointee
derive
2025-01-04 18:35:53 +02:00
Chayim Refael Friedman
791a63255b
Move some more AST makers to the quote macro
...
And implement addons as necessary.
There are many more makers to be moved, and I'm not completely satisfied with this (due to the ease of making a mistake in the AST structure, and slightly less but also because of the need to remember whitespaces), but this is already enough to see how this will look like.
2024-12-30 05:46:06 +02:00
Chayim Refael Friedman
abd7263179
Create a quote!
-like API for crafting AST nodes
...
Instead of messing with textual `make`.
And port one `make` helper to it, for the sake of testing.
2024-12-30 04:54:39 +02:00
Chayim Refael Friedman
737500137f
Generate a method for static retrieval of the SyntaxKind of a node, where possible
...
This will help for the quote macro for `ast::make`.
2024-12-30 03:13:17 +02:00
Giga Bowser
2b6e7ce896
internal: Standardize how we take iterator parameters in SyntaxFactory
2024-12-20 12:06:27 -05:00
Arthur Baars
cb2829eaa7
Fix AsmOption rule in rust.ungram
2024-12-18 14:56:00 +01:00
Giga Bowser
135e71fcb3
minor: Add item_static
constructor to SyntaxFactory
2024-12-11 10:32:32 -05:00
Giga Bowser
27a2f9d594
minor: Add item_const
constructor to SyntaxFactory
2024-12-11 09:52:03 -05:00
Lukas Wirth
41f3319173
Merge pull request #18458 from Giga-Bowser/master
...
feat: Add diagnostic fix to remove unnecessary wrapper in type mismatch
2024-12-11 07:09:15 +00:00
Giga Bowser
547f75a2ce
minor: Migrate generate_enum_variant
to SyntaxEditor
2024-12-10 13:11:33 -05:00
Giga Bowser
21b376583a
minor: Add ty_infer
constructor to SyntaxFactory
2024-12-10 12:33:32 -05:00
Giga Bowser
d7d68310c0
minor: Add whitespace
constructor to SyntaxFactory
2024-12-10 12:25:13 -05:00
Giga Bowser
c70bf568bb
minor: Add item_enum
constructor to SyntaxFactory
...
I recursively added all constructors it depends on. I also changed the old `make::` constructors to support more of the grammar.
2024-12-10 11:12:44 -05:00
Giga Bowser
68b85ce66f
minor: Migrate remove_unnecessary_wrapper
to SyntaxEditor
2024-12-09 21:16:31 -05:00
Giga Bowser
59cd717602
fix: Handle the final statement in SyntaxFactory::block_expr
properly
...
This caused a bug that was rather tricky to hunt down!
2024-12-09 21:15:15 -05:00
Giga Bowser
e66b4f336d
fix: Map new replacement nodes to their mutable equivalents in SyntaxEditor
2024-12-08 15:55:34 -05:00
Giga Bowser
8fd7790eb5
minor: Add token_tree
constructor to SyntaxFactory
2024-12-06 10:03:09 -05:00
Giga Bowser
fbb392062a
minor: Add expr_bin
constructor to SyntaxFactory
2024-12-06 10:02:34 -05:00
Giga Bowser
6406048626
minor: Add token
constructor to SyntaxFactory
2024-12-06 10:02:34 -05:00
Giga Bowser
5eb8affdc5
fix: Don't produce ChangedAncestor
for SyntaxToken
s
2024-12-06 10:01:34 -05:00
Giga Bowser
ff1124918e
fix: Properly determine SyntaxEditor
replacement intersection
...
Bordering replacements should not be considered intersecting
2024-12-06 10:01:34 -05:00
Lukas Wirth
4b350f2f11
Merge pull request #18551 from ShoyuVanilla/migrate-turbofish-assist
...
Migrate `add_turbo_fish` to `SyntaxEditor`
2024-12-06 13:44:54 +00:00
David Barsky
2fd06545a6
Merge pull request #18483 from tareknaser/syntax_factory_introduce_named_generic
...
Migrate `introduce_named_generic` Assist to Use `SyntaxFactory`
2024-12-05 18:42:27 +00:00
Tarek
8954a7f9e9
fix: rename syntax_editor_add_generic_param
to add_generic_param
...
Signed-off-by: Tarek <tareknaser360@gmail.com>
2024-12-05 13:50:43 +02:00
Tarek
9157761f5d
refactor: move editing for ast using SyntaxEditor
to a separate file
...
Signed-off-by: Tarek <tareknaser360@gmail.com>
2024-12-04 14:51:48 +02:00
Tarek
2fb563f192
fix: refactor introduce_named_generic
assist
...
Signed-off-by: Tarek <tareknaser360@gmail.com>
2024-12-04 14:50:03 +02:00