-
Notifications
You must be signed in to change notification settings - Fork 12.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add settings page to Rustdoc for long-term configuration #18167
Comments
I have used localStorage extensively for the same kind of thing in a project of mine. It's a little bit messy, but maybe it can help :) https://github.com/azerupi/SOTAwatch-filter/blob/master/development/js/spots/settings.js#L41-L181 |
I've also used localStorage a fair amount (granted, 3 years ago): https://github.com/WhatPumpkin/Sburb/blob/master/src/serialization.js#L69-L158 Honestly the main thing that prevented me from ever going at this was building the menus and stuff. UI designers wanted :) I suppose I could make stuff persist without giving any way to configure... |
I have a couple of ideas:
Another thing I would add to that settings panel is the a toggle for serif / sans-serif font Like a mentioned in a post on Rust internals, I think it's worth having a centralized place for all the design decisions where designers would be invited to post ideas and mock-ups |
Yes please. Collapsing all of the methods alone would be a huge improvement. |
Javadoc has a separate method summary table + detailed documentation further down. Since rustdoc does not have that it's necessary to collapse the details every time to get an overview. I usually have a rough idea what I want and just need to find that one method out of a myriad, so I would prefer the methods to be collapsed by default. |
…sdreavus Add rustdoc settings menu Fixes #18167. r? @QuietMisdreavus
…ykril internal: Send less data during `textDocument/completion` if possible Similar to rust-lang/rust-analyzer#15522, stops sending extra data during `textDocument/completion` if that data was set in the client completions resolve capabilities, and sends those only during `completionItem/resolve` requests. Currently, rust-analyzer sends back all fields (including potentially huge docs) for every completion item which might get large. Same as the other one, this PR aims to keep the changes minimal and does not remove extra computations for such fields — instead, it just filters them out before sending to the client. The PR omits primitive, boolean and integer, types such as `deprecated`, `preselect`, `insertTextFormat`, `insertTextMode`, etc. AND `additionalTextEdits` — this one looks very dangerous to compute for each completion item (as the spec says we ought to if there's no corresponding resolve capabilities provided) due to the diff computations and the fact that this code had been in the resolution for some time. It would be good to resolve this lazily too, please let me know if it's ok to do. When tested with Zed which only defines `documentation` and `additionalTextEdits` in its client completion resolve capabilities, rust-analyzer starts to send almost 3 times less characters: Request: ```json {"jsonrpc":"2.0","id":104,"method":"textDocument/completion","params":{"textDocument":{"uri":"file:///Users/someonetoignore/work/rust-analyzer/crates/ide/src/inlay_hints.rs"},"position":{"line":90,"character":14},"context":{"triggerKind":1}}} ``` <img width="1338" alt="image" src="https://github.com/user-attachments/assets/104f19b5-7095-4fc1-b008-5d829623b2e2"> Before: 381944 characters [before.json](https://github.com/user-attachments/files/17092385/before.json) After: 140503 characters [after.json](https://github.com/user-attachments/files/17092386/after.json) After Zed's [patch](zed-industries/zed#18212) to enable all resolving possible: 84452 characters [after-after.json](https://github.com/user-attachments/files/17092755/after-after.json)
Would use localStorage to maintain state between pages.
Ideas:
The text was updated successfully, but these errors were encountered: