mirror of
				https://github.com/astral-sh/ruff.git
				synced 2025-11-03 21:24:29 +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).
 |