Turning client-side settings into air.toml files
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 446
- Forks
- 32
- Avg merge
- 16h 48m
- Merged PRs (30d)
- 1
Description
With #148 we now support client-side settings. As mentioned by @jennybc, it would be helpful to provide a way to turn such settings into an air.toml file. I'm imagining a custom LSP request that takes a folder path and produces the side effect of creating an air.toml file based on client settings.
- The client sends the request to the server with the path. It should be a folder.
- We send a
configurationrequest from the server to the client with all relevant settings, for that path. - We get the results and use these to create an air.toml file in the folder.
This can be exposed as a Code command.
And the nice thing is that it would be a convenient way of snapshotting client-side settings in extension tests (cc @juliasilge). We'd set up different scenarios of settings and ask the LSP to create a snapshot of those settings in the form of an air.toml file.
This could also be a way to support editorconfig on the client side (cc @jmcphers). Users of editorconfig files probably have the editorconfig extension enabled, which means the workspace is automatically set up to use the editorconfig settings. So the request described above would be a way to transform an editorconfig file into an air.toml one, at least from VS Code and Positron. Edit: Actually not really because editorconfig changes the settings of editors, not the settings of workspaces, which we would really need here.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the existing client-side settings flow and custom LSP requests between the editor and server. Done means a folder-targeted request can gather configuration, write an air.toml file, expose a Code command, and support snapshotting the resulting settings in extension tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, vscode
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100