Skip to content

Conversation

Wilfred
Copy link
Contributor

@Wilfred Wilfred commented Sep 8, 2025

The first sentence a new user should see should ideally answer the questions:

  • What is rust-analyzer?
  • Why might I want to use it?

The vast majority of users will be interested in using rust-analyzer inside their favourite editor. We should clarify that rust-analyzer is an LSP implementation and that it supports all the classic IDE features.

Whilst it's also true that rust-analyzer is modular and organised into libraries, the first impression should (I think) focus on an overview and the primary use case.

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 8, 2025
@Wilfred
Copy link
Contributor Author

Wilfred commented Sep 8, 2025

For comparison, here's how some other LSPs introduce themselves:

Rust Language Server (RLS)

The RLS provides a server that runs in the background, providing IDEs, editors, and other tools with information about Rust programs. It supports functionality such as 'goto definition', symbol search, reformatting, and code completion, and enables renaming and refactorings.

https://github.com/rust-lang/rls

What is clangd?

clangd understands your C++ code and adds smart features to your editor: code completion, compile errors, go-to-definition and more.

clangd is a language server that can work with many editors via a plugin. Here’s Visual Studio Code with the clangd plugin, demonstrating code completion:

https://clangd.llvm.org/

gopls, the language server for Go

gopls (pronounced "Go please") is the official language server for Go, developed and maintained by the Go team. It provides a wide variety of IDE features to any LSP-compatible editor.

https://pkg.go.dev/golang.org/x/tools/gopls

@ChayimFriedman2
Copy link
Contributor

While I agree that being an LSP implementation is more important to users of r-a, I think adding a sentence about it being a library for Rust analysis is also worthwhile.

The first sentence a new user should see should ideally answer the
questions:

* What is rust-analyzer?
* Why might I want to use it?

The vast majority of users will be interested in using rust-analyzer
inside their favourite editor. We should clarify that rust-analyzer is
an LSP implementation and that it supports all the classic IDE
features.

Whilst it's also true that rust-analyzer is modular and organised into
libraries, the first impression should (I think) focus on an overview
and the primary use case.
@Wilfred
Copy link
Contributor Author

Wilfred commented Sep 8, 2025

How about this? I've linked the existing architecture docs too.

@ChayimFriedman2
Copy link
Contributor

That looks good, thanks!

@ChayimFriedman2 ChayimFriedman2 added this pull request to the merge queue Sep 8, 2025
Merged via the queue into rust-lang:master with commit de98599 Sep 8, 2025
15 checks passed
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants