Go to file
bors 7c05f55f0c Auto merge of #13789 - feniljain:fix_enum_completion, r=Veykril
feat: show only missing variant suggestion for enums in patterns completion and bump them in list too

Fixes #12438

### Points to help in review:

- This PR can be reviewed commit wise, first commit is about bumping enum variant completions up in the list of completions and second commit is about only showing enum variants which are not complete
- I am calculating missing variants in analysis.rs by firstly locating the enum and then comparing each of it's variant's name and checking if arm string already contains that name, this is kinda hacky but I didn't want to implement complete missing_arms assist here as that would have been too bulky to run on each completion cycle ( if we can improve this somehow would appreciate some inputs on it )

### Output:

https://user-images.githubusercontent.com/49019259/208245540-57d7321b-b275-477e-bef0-b3a1ff8b7040.mov

Relevant Zulip Discussion: https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer/topic/Issue.20.2312438
2023-03-18 07:06:27 +00:00
.cargo
.github ⬆️ rust-analyzer 2023-02-13 13:55:14 +02:00
.vscode
assets
bench_data internal: Rename AstDatabase to ExpandDatabase 2023-03-13 16:35:41 +01:00
crates Auto merge of #13789 - feniljain:fix_enum_completion, r=Veykril 2023-03-18 07:06:27 +00:00
docs ⬆️ rust-analyzer 2023-03-13 10:42:24 +02:00
editors/code Auto merge of #14307 - davidbarsky:davidbarsky/add-cargo-style-project-discovery-for-buck-and-bazel-sickos, r=Veykril 2023-03-14 17:48:49 +00:00
lib ⬆️ rust-analyzer 2023-03-13 10:42:24 +02:00
xtask ⬆️ rust-analyzer 2023-02-13 13:55:14 +02:00
.editorconfig
.git-blame-ignore-revs
.gitattributes
.gitignore
Cargo.lock ⬆️ rust-analyzer 2023-03-13 10:42:24 +02:00
Cargo.toml ⬆️ rust-analyzer 2023-02-20 10:14:12 +02:00
LICENSE-APACHE
LICENSE-MIT
PRIVACY.md
README.md
rustfmt.toml
triagebot.toml

rust-analyzer logo

rust-analyzer is a modular compiler frontend for the Rust language. It is a part of a larger rls-2.0 effort to create excellent IDE support for Rust.

Quick Start

https://rust-analyzer.github.io/manual.html#installation

Documentation

If you want to contribute to rust-analyzer or are just curious about how things work under the hood, check the ./docs/dev folder.

If you want to use rust-analyzer's language server with your editor of choice, check the manual folder. It also contains some tips & tricks to help you be more productive when using rust-analyzer.

Security and Privacy

See the corresponding sections of the manual.

Communication

For usage and troubleshooting requests, please use "IDEs and Editors" category of the Rust forum:

https://users.rust-lang.org/c/ide/14

For questions about development and implementation, join rust-analyzer working group on Zulip:

https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer

License

rust-analyzer is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.