Go to file
bors c27fc0c945 Auto merge of #15896 - minestarks:run-quickpick, r=Veykril
Show placeholder while run command gets runnables from server

This PR fixes a UI annoyance in the VS Code extension when working in large codebases where rust-analyzer can take a few moments to interact with the server. Scenario:

1. Invoke "rust-analyzer: Run" from the command palette or hotkey
2. Quickly start typing to filter the list (or press Enter to accept the last runnable)

We often do this quickly from muscle memory without waiting to see the picker. The picker often takes several seconds to come up, causing us to type garbage into the currently open editor.

Fix:

Show a placeholder item before we call out to the server.

![image](https://github.com/rust-lang/rust-analyzer/assets/16928427/09de6a1c-6f3c-4d29-8031-ba4baeb43282)

Selecting this item does nothing so if the user accidentally hits Enter nothing happens.

The list is populated and the placeholder dismissed when the actual runnables are retrieved. From here the behavior is the same as before.

![image](https://github.com/rust-lang/rust-analyzer/assets/16928427/837c7dfc-c060-4d68-bbf6-df8aa3101b78)
2023-12-08 10:00:37 +00:00
.cargo Less once_cell more std 2023-09-01 17:30:59 +02:00
.github Disable win32-ia32 VSIX builds 2023-11-15 11:07:31 +02:00
.vscode Spelling 2023-04-19 09:45:55 -04:00
assets
bench_data Spelling 2023-04-19 09:45:55 -04:00
crates Auto merge of #16028 - Young-Flash:fix-issue-16012, r=HKalbasi 2023-12-07 21:45:24 +00:00
docs Initial support for implicit drop inlay hint 2023-12-01 16:16:46 +03:30
editors/code Auto merge of #15896 - minestarks:run-quickpick, r=Veykril 2023-12-08 10:00:37 +00:00
lib fix: correct existing tests for WideChar in lib 'line-index' and add more tests 2023-12-07 15:33:28 +08:00
xtask Don't explicitly warn against semicolon_in_expressions_from_macros 2023-12-05 11:35:09 +01:00
.editorconfig Set .editorconfig default indent size to 4 2023-07-11 23:02:54 +09:00
.git-blame-ignore-revs
.gitattributes
.gitignore
Cargo.lock Auto merge of #16043 - Veykril:dep-bump, r=Veykril 2023-12-07 10:52:52 +00:00
Cargo.toml Bump and unlock some dependencies 2023-12-07 11:48:58 +01:00
LICENSE-APACHE
LICENSE-MIT
PRIVACY.md
README.md
rust-bors.toml Prepare for rust-bors 2023-10-05 15:26:09 +03:00
rustfmt.toml
triagebot.toml triagebot exclude_labels -> exclude_titles 2023-09-16 10:58:53 -06:00

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.