mirror of
https://github.com/astral-sh/ruff.git
synced 2025-07-24 05:25:17 +00:00

## Summary This PR adds documentation for the Ruff language server. It mainly does the following: 1. Combines various READMEs containing instructions for different editor setup in their respective section on the online docs 2. Provide an enumerated list of server settings. Additionally, it also provides a section for VS Code specific options. 3. Adds a "Features" section which enumerates all the current capabilities of the native server For (2), the settings documentation is done manually but a future improvement (easier after `ruff-lsp` is deprecated) is to move the docs in to Rust struct and generate the documentation from the code itself. And, the VS Code extension specific options can be generated by diffing against the `package.json` in `ruff-vscode` repository. ### Structure 1. Setup: This section contains the configuration for setting up the language server for different editors 2. Features: This section contains a list of capabilities provided by the server along with short GIF to showcase it 3. Settings: This section contains an enumerated list of settings in a similar format to the one for the linter / formatter 4. Migrating from `ruff-lsp` > [!NOTE] > > The settings page is manually written but could possibly be auto-generated via a macro similar to `OptionsMetadata` on the `ClientSettings` struct resolves: #11217 ## Test Plan Generate and open the documentation locally using: 1. `python scripts/generate_mkdocs.py` 2. `mkdocs serve -f mkdocs.insiders.yml`
18 lines
935 B
Markdown
18 lines
935 B
Markdown
# The Ruff Language Server
|
|
|
|
`ruff server` is a language server that powers Ruff's editor integrations.
|
|
|
|
The job of the language server is to listen for requests from the client (in this case, the code editor of your choice)
|
|
and call into Ruff's linter and formatter crates to construct real-time diagnostics or formatted code, which is then
|
|
sent back to the client. It also tracks configuration files in your editor's workspace, and will refresh its in-memory
|
|
configuration whenever those files are modified.
|
|
|
|
Refer to the [documentation](https://docs.astral.sh/ruff/editors/) for more information on
|
|
how to set up the language server with your editor and configure it to your liking.
|
|
|
|
## Contributing
|
|
|
|
Contributions are welcome and highly appreciated. To get started, check out the
|
|
[**contributing guidelines**](https://docs.astral.sh/ruff/contributing/).
|
|
|
|
You can also join us on [**Discord**](https://discord.com/invite/astral-sh).
|