about summary refs log tree commit diff
path: root/src/tools/rust-analyzer/docs
AgeCommit message (Collapse)AuthorLines
2025-01-01Reduce the default autoimport exclusion listLukas Wirth-40/+3
2025-01-01Allow excluding specific traits from completionChayim Refael Friedman-0/+64
To be accurate, only their methods are excluded, the trait themselves are still available. I also excluded a bunch of std traits by default. Some less opinionated, like `AsRef`, which should never be used directly except in generic scenarios (and won't be excluded there), some more opinionated, like the ops traits, which I know some users sometimes want to use directly. Either way it's configurable. It should be pretty easy to extend support to excluding only specific methods, but I didn't do that currently. Traits configured to be excluded are resolved in each completion request from scratch. If this proves too expensive, it is easy enough to cache them in the DB.
2024-12-26fix incorrect name for UpdateTest configroife-1/+1
2024-12-26feat: add config `UpdateTest` to hover actionsroife-0/+6
2024-12-26feat: support UpdateTest in codelensroife-1/+7
2024-12-24Merge pull request #18707 from ChayimFriedman2/substLukas Wirth-0/+9
feat: Show substitution where hovering over generic things
2024-12-22fix: Properly check if workspace flychecking is allowedLukas Wirth-1/+2
2024-12-20Show substitution where hovering over generic thingsChayim Refael Friedman-0/+9
There are few things to note in the implementation: First, this is a best-effort implementation. Mainly, type aliases may not be shown (due to their eager nature it's harder) and partial pathes (aka. hovering over `Struct` in `Struct::method`) are not supported at all. Second, we only need to show substitutions in expression and pattern position, because in type position all generic arguments always have to be written explicitly.
2024-12-16internal: Don't serialize empty fields in completions and resolve payloadsLukas Wirth-1/+1
2024-12-11Fix publish workflow link in manualSam Estep-1/+1
2024-12-10Address the feedback from pascalkutheKirill Bulatov-1/+1
* Use Base64 to minify the hash representation in the JSON data * Do hash checks only for items with similar labels
2024-12-09Always compute the hash when r-a wants the imports to be resolvedKirill Bulatov-1/+1
2024-12-09Draft completion hashingKirill Bulatov-1/+1
2024-12-09Disable pipe on typing handlerLukas Wirth-1/+1
2024-12-06Add typing handler for param list pipeLukas Wirth-2/+2
2024-12-06Make bracket typing handler work on more thingsLukas Wirth-1/+1
2024-12-05Disable `<` typing handler againLukas Wirth-1/+1
2024-12-03chore: deprecate `typing.autoClosingAngleBrackets` configurationTarek-5/+0
Signed-off-by: Tarek <tareknaser360@gmail.com>
2024-12-03internal: Make exclude characters for typing assists configurable, default ↵Tarek-0/+5
to None Signed-off-by: Tarek <tareknaser360@gmail.com>
2024-11-26Merge pull request #18511 from darichey/sysroot-query-metadataLaurențiu Nicola-0/+6
Re-add `rust-analyzer.cargo.sysrootQueryMetadata`
2024-11-23Update request entry point file path in architecture.mdMark Murphy-1/+1
2024-11-18Re-add rust-analyzer.cargo.sysrootQueryMetadataDavid Richey-0/+6
2024-11-11Update the file hashKirill Bulatov-1/+1
2024-11-10Replace with C-ArchitectureSam Estep-0/+4
2024-11-07Delete design label from listSam Estep-4/+0
2024-10-30Merge pull request #18304 from davidkurilla/docs-create-setup-documentLukas Wirth-0/+57
docs: create setup documentation
2024-10-22docs: remove unnecessary prerequisites setup.mdDavid Kurilla-9/+3
2024-10-21Update ide testsLukas Wirth-22/+22
2024-10-18style: fix typosDavid Kurilla-3/+3
2024-10-18docs: create setup documentationDavid Kurilla-0/+63
2024-10-13feat: respect references.exclude_tests in call-hierarchyroife-1/+1
2024-10-04internal: add JSON formatting for hprofDavid Barsky-1/+9
2024-09-30Auto merge of #18167 - SomeoneToIgnore:fat-completions, r=Veykrilbors-1/+1
internal: Send less data during `textDocument/completion` if possible Similar to https://github.com/rust-lang/rust-analyzer/pull/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](https://github.com/zed-industries/zed/pull/18212) to enable all resolving possible: 84452 characters [after-after.json](https://github.com/user-attachments/files/17092755/after-after.json)
2024-09-30Auto merge of #18085 - ChayimFriedman2:gate-test, r=Veykrilbors-0/+5
feat: Provide an config option to not set `cfg(test)` Fixes #17957.
2024-09-30Provide an config option to not set `cfg(test)`Chayim Refael Friedman-0/+5
2024-09-29Rename object_safety to dyn_compatibilityNoah Bright-1/+1
Up to a trait implemented by another package, linking to $CARGO_HOME/registry/cache/index.crates.io-6f17d22bba15001f/
2024-09-28Update handlers.rs to handlers/requests.rsNoah Bright-1/+1
2024-09-23Fix the testKirill Bulatov-1/+1
2024-09-11Auto merge of #18057 - alibektas:better_ratoml_testing, r=Veykrilbors-1/+1
internal: Better testing infra for ratoml This PR makes some improvements on how we test configs that come from `rust-analyzer.toml` files. It was primarily used to solve #18021 but along the way I could not really determine the cause of the said issue which makes me think that it may not be related to the changes that I made earlier to the ratoml infra. In either way `custom_snippets` are now made `global` because we still don't have a tree that maps a `SourceRootId` to a set of `Snippet`s.
2024-09-08Better testing infra for ratomlAli Bektas-1/+1
2024-09-08Automatically add semicolon when completing unit-returning functionsChayim Refael Friedman-0/+7
But provide a config to suppress that. I didn't check whether we are in statement expression position, because this is hard in completion (due to the natural incompleteness of source code when completion is invoked), and anyway using function returning unit as an argument to something seems... dubious.
2024-09-01Provide an option to hide deprecated items from completionChayim Refael Friedman-0/+5
2024-08-30Improve inlay hint resolution reliabilityLukas Wirth-1/+1
2024-08-23Auto merge of #17857 - ChayimFriedman2:rust-project-cfg-group, r=Veykrilbors-0/+12
feat: Allow declaring cfg groups in rust-project.json, to help sharing common cfgs Closes #17815.
2024-08-19Improve documentation for `InvocationStrategy`Lukas Wirth-2/+4
2024-08-19chore(config): remove `invocationLocation` in favor of `invocationStrategy`Victor Song-24/+2
These flags were added to help rust-analyzer integrate with repos requiring non-Cargo invocations. The consensus is that having two independent settings are no longer needed. This change removes `invocationLocation` in favor of `invocationStrategy` and changes the internal representation of `InvocationStrategy::Once` to hold the workspace root.
2024-08-12Allow declaring cfg groups in rust-project.json, to help sharing common cfgsChayim Refael Friedman-0/+12
2024-08-12internal: Reply to requests with defaults when vfs is still loadingLukas Wirth-1/+1
2024-08-05Auto merge of #17793 - jjoeldaniel:msvc-docs, r=Veykrilbors-0/+6
docs: add msvc note to manual Added note for Windows users to have the latest MSVC to minimize setup issues. Closes #4870
2024-08-05feat: Load sysroot library via cargo metadataLukas Wirth-10/+0