rust-lang / rust-lang/rust-analyzer

Assists which always generate a snippet regardless of snippet capability

Open
#17,332 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-assists C-bug C-tracking-issue
Dominant language
Rust
Stars
16.9k
Forks
2.2k
Avg merge
1d 12h
Merged PRs (30d)
72

Description

These assists always generate a snippet regardless of if the LSP client does or doesn't support the snippet text edit capability:

They unfortunately weren't captured in the initial batch of migrations to the new structured snippet API as they didn't use {insert,replace}_snippet, which is what I used to figure out which assists needed migrating.

Note that because the structured snippet API (add_{tabstop,placeholder}_*) relies on syntax nodes, they must also be migrated away from using insert and replace.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with crates/ide-assists/src/handlers/generate_constant.rs and compare it with assists already migrated to the structured snippet API. Check how snippet capability is handled, and identify the existing insert/replace usage that must be migrated. Done means generate_constant respects the LSP client's snippet support without relying on the old insertion methods.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
devtools
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.