rust-analyzer/crates
bors f13c776361 Auto merge of #18032 - DropDemBits:sed-tree-edits, r=davidbarsky
internal: Add preliminary `SyntaxEditor` functionality

Related to #15710

Implements a `SyntaxEditor` interface to abstract over the details of modifying syntax trees, to both simplify creating new code fixes and code actions, as well as start on the path of getting rid of mutable syntax nodes.

`SyntaxEditor` relies on `SyntaxMappingBuilder`s to feed in the correct information to map AST nodes created by `make` constructors, as `make` constructors do not guarantee that node identity is preserved. This is to paper over the fact that `make` constructors simply re-parse text input instead of building AST nodes from the ground up and re-using the provided syntax nodes.

`SyntaxAnnotation`s are used to find where syntax elements have ended up after edits are applied. This is primarily useful for the `add_{placeholder,tabstop}` set of methods on `SourceChangeBuilder`, as that currently relies on the nodes provided being in the final syntax tree.

Eventually, the goal should be to move this into the `rowan` crate when we move away from mutable syntax nodes, but for now it'll stay in the `syntax` crate.

---

Closes #14921 as `SyntaxEditor` ensures that all replace changes are disjoint
Closes #9649 by implementing `SyntaxAnnotation`s
2024-09-10 14:13:08 +00:00
..
base-db minor: Downgrade cyclic deps error to warning 2024-09-01 10:02:41 +02:00
cfg Remove unnecessary CfgFlag definition in project-model 2024-08-07 14:27:59 +02:00
hir asm! parsing and lowering fixes 2024-09-05 15:08:16 +02:00
hir-def asm! parsing and lowering fixes 2024-09-05 15:08:16 +02:00
hir-expand Lower asm expressions 2024-09-05 09:59:08 +02:00
hir-ty fix: Properly prevent mir building with unknown types present 2024-09-06 14:44:05 +02:00
ide asm! parsing and lowering fixes 2024-09-05 15:08:16 +02:00
ide-assists Auto merge of #17984 - ShoyuVanilla:cast, r=Veykril 2024-09-03 06:00:10 +00:00
ide-completion Add Definition kind for asm register classes 2024-09-05 10:23:00 +02:00
ide-db Auto merge of #18041 - roife:fix-issue-17631, r=Veykril 2024-09-09 13:55:20 +00:00
ide-diagnostics fix: Properly prevent mir building with unknown types present 2024-09-06 14:44:05 +02:00
ide-ssr Properly account for editions in names 2024-08-16 16:46:24 +03:00
intern chore: fix some comments 2024-09-02 18:33:23 +08:00
limit Replace [package.repository] = "…" of published crates with [package.repository.workspace] = true 2024-08-06 00:26:42 +02:00
load-cargo Auto merge of #17864 - Veykril:lsif, r=Veykril 2024-08-12 12:34:31 +00:00
mbe internal: Lay basic ground work for standalone mbe tests 2024-09-01 12:42:44 +02:00
parser fix: Fix parser panicking on invalid asm options 2024-09-05 17:07:10 +02:00
paths Replace [package.repository] = "…" of published crates with [package.repository.workspace] = true 2024-08-06 00:26:42 +02:00
proc-macro-api Expand proc-macros in workspace root, not package root 2024-08-27 13:40:24 +02:00
proc-macro-srv fix: Fix TokenStream::to_string implementation dropping quotation marks 2024-08-29 08:45:35 +02:00
proc-macro-srv-cli Replace [package.repository] = "…" of published crates with [package.repository.workspace] = true 2024-08-06 00:26:42 +02:00
profile Replace [package.repository] = "…" of published crates with [package.repository.workspace] = true 2024-08-06 00:26:42 +02:00
project-model fix: Updating settings should not clobber discovered projects 2024-09-05 15:46:03 -07:00
rust-analyzer Bump lsp-server 2024-09-06 14:06:38 +02:00
salsa Drop Apache license appendices 2024-08-27 14:52:34 +03:00
span chore: fix some comments 2024-09-02 18:33:23 +08:00
stdx Use crossbeam-channel from the workspace 2024-08-09 23:48:03 +02:00
syntax Auto merge of #18032 - DropDemBits:sed-tree-edits, r=davidbarsky 2024-09-10 14:13:08 +00:00
syntax-bridge internal: Lay basic ground work for standalone mbe tests 2024-09-01 12:42:44 +02:00
test-fixture fix: Always explicitly set trait ref self types when lowering 2024-09-06 14:06:41 +02:00
test-utils fix: Always explicitly set trait ref self types when lowering 2024-09-06 14:06:41 +02:00
text-edit Replace [package.repository] = "…" of published crates with [package.repository.workspace] = true 2024-08-06 00:26:42 +02:00
toolchain Replace [package.repository] = "…" of published crates with [package.repository.workspace] = true 2024-08-06 00:26:42 +02:00
tt fix: Fix TokenStream::to_string implementation dropping quotation marks 2024-08-29 08:45:35 +02:00
vfs internal: Lay basic ground work for standalone mbe tests 2024-09-01 12:42:44 +02:00
vfs-notify Auto merge of #17843 - mo8it:flycheck, r=Veykril 2024-08-12 09:27:47 +00:00