rust/crates
bors da9c0bd0a7 Auto merge of #14442 - DropDemBits:structured-snippet-api, r=Veykril
internal: Implement Structured API for snippets

Fixes #11638 (including moving the cursor before the generated type parameter)

Adds `add_tabstop_{before,after}` for inserting tabstop snippets before & after nodes, and `add_placeholder_snippet` for wrapping nodes inside placeholder nodes.

Currently, the snippets are inserted into the syntax tree in `SourceChange::commit` so that snippet bits won't interfere with syntax lookups before completing a `SourceChange`.

It would be preferable if snippet rendering was deferred to after so that rendering can work directly with text ranges, but have left that for a future PR (it would also make it easier to finely specify which text edits have snippets in them).

Another possible snippet variation to support would be a group of placeholders (i.e. placeholders with the same tabstop number) so that a generated item and its uses can be renamed right as it's generated, which is something that is technically supported by the current snippet hack in VSCode, though it's not clear if that's a thing that is officially supported.
2023-04-05 14:33:30 +00:00
..
base-db Switch crate graph to use an Arena instead of a hashmap 2023-04-05 10:32:02 +02:00
cfg
flycheck Bump Cargo.lock 2023-03-25 15:12:39 +01:00
hir Auto merge of #14433 - hecatia-elegua:alias-based-completion, r=Veykril 2023-04-05 13:44:51 +00:00
hir-def Auto merge of #14490 - Veykril:crategraph-dedup, r=Veykril 2023-04-05 14:12:11 +00:00
hir-expand Auto merge of #14407 - Veykril:rename-fix, r=Veykril 2023-03-25 18:35:13 +00:00
hir-ty Auto merge of #14490 - Veykril:crategraph-dedup, r=Veykril 2023-04-05 14:12:11 +00:00
ide Switch crate graph to use an Arena instead of a hashmap 2023-04-05 10:32:02 +02:00
ide-assists Auto merge of #14442 - DropDemBits:structured-snippet-api, r=Veykril 2023-04-05 14:33:30 +00:00
ide-completion Auto merge of #14433 - hecatia-elegua:alias-based-completion, r=Veykril 2023-04-05 13:44:51 +00:00
ide-db Auto merge of #14442 - DropDemBits:structured-snippet-api, r=Veykril 2023-04-05 14:33:30 +00:00
ide-diagnostics lower adjusts in simple index except the last one 2023-04-01 16:49:32 +03:30
ide-ssr
intern
limit
mbe
parser feat(syntax): RTN in bounds 2023-04-01 15:26:03 +02:00
paths Canonicalize rust-project.json manifest path 2023-03-27 21:55:02 +02:00
proc-macro-api Remove client side proc-macro version check 2023-03-25 15:43:58 +01:00
proc-macro-srv
proc-macro-srv-cli
proc-macro-test
profile Bump Cargo.lock 2023-03-25 15:12:39 +01:00
project-model Switch crate graph to use an Arena instead of a hashmap 2023-04-05 10:32:02 +02:00
rust-analyzer internal: Refine CrateOrigin variants 2023-03-31 10:36:13 +02:00
sourcegen
stdx
syntax feat(syntax): RTN in bounds 2023-04-01 15:26:03 +02:00
test-utils Support overloaded deref MIR lowering 2023-03-17 14:02:55 +03:30
text-edit internal: Coalesce adjacent Indels 2023-03-21 11:48:32 -04:00
toolchain
tt
vfs internal: Refine CrateOrigin variants 2023-03-31 10:36:13 +02:00
vfs-notify