rust-analyzer icon indicating copy to clipboard operation
rust-analyzer copied to clipboard

internal : redesign rust-analyzer::config

Open alibektas opened this issue 1 year ago • 3 comments

This PR aims to cover the infrastructural requirements for the rust-analyzer.toml ( #13529 ) issue. This means, that

  1. We no longer have a single config base. The once single ConfigData has been divided into 4 : A tree of .ratoml files, a set of configs coming from the client ( this is what was called before the CrateData except that now values do not default to anything when they are not defined) , a set of configs that will reflect what the contents of a ratoml file defined in user's config directory ( e.g ~/.config/rust-analyzer/.rust-analyzer.toml and finally a tree root that is populated by default values only.
  2. Configs have also been divided into 3 different blocks : global , local , client. The current status of a config may change until #13529 got merged.

Once again many thanks to @cormacrelf for doing all the serde work.

alibektas avatar Feb 22 '24 23:02 alibektas

I do not think the remaining clippy errors make much sense in this case.

alibektas avatar Feb 24 '24 14:02 alibektas

Haven't looked at the split between local global and client yet. Will do that later. Additionally, one thing for a follow up we should look at is whether we can discard the json ptr deserialization approach now that the config structure is fully typed.

Veykril avatar Feb 27 '24 10:02 Veykril

:umbrella: The latest upstream changes (presumably #16704) made this pull request unmergeable. Please resolve the merge conflicts.

bors avatar Mar 02 '24 09:03 bors

:umbrella: The latest upstream changes (presumably #16752) made this pull request unmergeable. Please resolve the merge conflicts.

bors avatar Mar 05 '24 08:03 bors

:umbrella: The latest upstream changes (presumably #16473) made this pull request unmergeable. Please resolve the merge conflicts.

bors avatar Mar 11 '24 09:03 bors

I am not satisfied with what I have now, but I also need to move forward with actually implementing ratoml tree to see what I need and what I don't.

alibektas avatar Mar 12 '24 02:03 alibektas

:umbrella: The latest upstream changes (presumably #16889) made this pull request unmergeable. Please resolve the merge conflicts.

bors avatar Mar 19 '24 15:03 bors

For integration tests it is necessary to discuss what will belong to global/local/client. After that, this part can be actually be merged.

alibektas avatar Mar 22 '24 00:03 alibektas

:umbrella: The latest upstream changes (presumably #16906) made this pull request unmergeable. Please resolve the merge conflicts.

bors avatar Mar 25 '24 22:03 bors

@bors r+

Veykril avatar Apr 16 '24 07:04 Veykril

:pushpin: Commit 60d3a7320e3139d5b447f5d54d8ee4f7e0995569 has been approved by Veykril

It is now in the queue for this repository.

bors avatar Apr 16 '24 07:04 bors

:hourglass: Testing commit 60d3a7320e3139d5b447f5d54d8ee4f7e0995569 with merge 1179c3ee83eb72508049c78d06c06057c21885a3...

bors avatar Apr 16 '24 07:04 bors

:sunny: Test successful - checks-actions Approved by: Veykril Pushing 1179c3ee83eb72508049c78d06c06057c21885a3 to master...

bors avatar Apr 16 '24 08:04 bors