about summary refs log tree commit diff
path: root/src/tools/rust-analyzer/crates/ide
AgeCommit message (Collapse)AuthorLines
2025-01-14fix_typo1hakusai1-1/+1
2025-01-14Add the ability to jump from `into` to `from` definitions1hakusai1-1/+85
2025-01-13feat: Add dereferencing autocompleteboattime-1/+1
2025-01-12internal: Compute inlay hint tooltips lazilyLukas Wirth-14/+45
2025-01-12Fix text edits for discriminant hintsLukas Wirth-2/+33
2025-01-12internal: Compute inlay hint text edits lazilyLukas Wirth-54/+101
2025-01-12fix: Fix `ref` text edit for binding mode hintsLukas Wirth-2/+27
2025-01-10minor: Fix grammar in doc commentsWilfred Hughes-3/+3
"too" should be "to" here.
2025-01-10Merge pull request #18907 from Veykril/push-uqlzpttmvurvLukas Wirth-2/+3
Implement `#[rust_analyzer::skip]` for bodies
2025-01-10Implement `#[rust_analyzer::skip]` for bodiesLukas Wirth-2/+3
2025-01-10Re-implement rust string highlighting via tool attributeLukas Wirth-74/+157
2025-01-10Merge pull request #18904 from Veykril/push-yztnorquuyzwLukas Wirth-23/+129
Improve hover module path rendering
2025-01-10Implement implicit sized bound inlay hintsLukas Wirth-10/+167
2025-01-10Improve hover module path renderingLukas Wirth-23/+129
2025-01-10Merge pull request #18902 from Veykril/push-znlsxykqrkooLukas Wirth-118/+132
internal: Add Definition::Crate
2025-01-10internal: Add Definition::CrateLukas Wirth-118/+132
This is its own thing so it should be handled specifically where possible
2025-01-10Merge pull request #18901 from ChayimFriedman2/hir-reexportLukas Wirth-1/+1
minor: Remove two hir reexports
2025-01-10Merge pull request #18813 from Giga-Bowser/syntax-tree-viewLukas Wirth-347/+229
feat: Add a new and improved syntax tree view
2025-01-10Remove two hir reexportsChayim Refael Friedman-1/+1
2025-01-09Fix another issue with fixup reversingChayim Refael Friedman-0/+13
We need to *remove* the whole subtree, but we don't advance `i` by this, because it hasn't gotten there yet (and never will).
2025-01-09Remove the old syntax tree viewerGiga Bowser-349/+0
2025-01-09Add a new and improved syntax tree viewerGiga Bowser-2/+233
2025-01-06Merge pull request #18852 from ChayimFriedman2/proc-macro-panicLaurențiu Nicola-0/+14
fix: Fix a bug that was caused by fixup reversing
2025-01-06Fix a bug that was caused by fixup reversingChayim Refael Friedman-0/+14
2025-01-06minor: New clippy lintsLukas Wirth-35/+29
2025-01-04Support the new `CoercePointee` deriveChayim Refael Friedman-4/+4
2025-01-02fix no space insert before and after if value is only spacesdfireBird-2/+38
2025-01-02Fix overflow detection in MIR evaluationChayim Refael Friedman-0/+34
With a bit of higher-order macros everything sorts out well. And also fix a discovered bug when comparing long strings.
2025-01-01Merge pull request #18179 from ChayimFriedman2/omit-trait-completionLukas Wirth-2/+2
feat: Allow excluding specific traits from completion
2025-01-01Merge pull request #18809 from Veykril/push-ktwrzsmzlplwLukas Wirth-9/+3
internal: Do not render closure ids in hover messages
2025-01-01Allow excluding specific traits from completionChayim Refael Friedman-2/+2
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.
2025-01-01Merge pull request #18757 from roife/fix-17812Lukas Wirth-58/+371
feat: support updating snapshot tests with codelens/hovering/runnables
2025-01-01internal: Do not render closure ids in hover messagesLukas Wirth-9/+3
They are not useful
2024-12-31Merge pull request #18758 from mgsloan/scip-unique-symbolsLukas Wirth-160/+164
Improve SCIP symbols
2024-12-31feat: show go-to-type-def actions for subst when hoveringroife-3/+57
2024-12-30Remove erroneous omit of inherent implsMichael Sloan-9/+0
Should have been included in 34dc94bb2d05def8b88739a9382b127feb1a35a0
2024-12-30Make `impl HirDisplay for TraitRef` provide just the trait typeMichael Sloan-9/+4
2024-12-30refactor snapshot-tests detection in runnablesroife-92/+104
2024-12-30Fix render of literal to be rendered in codeblockdfireBird-24/+65
2024-12-29Merge pull request #18785 from Veykril/push-uvsqposqyvmoLukas Wirth-0/+1
Cleanup toolchain info fetching
2024-12-29Enforce a current directory being set for spawned commandsLukas Wirth-0/+1
2024-12-28Show variance of parameters on hoverLukas Wirth-2/+43
2024-12-27Only include SCIP SymbolInformation for first inherent implMichael Sloan-18/+7
2024-12-27Update crates/ide/src/moniker.rsMichael Sloan-2/+1
Co-authored-by: David Barsky <me@davidbarsky.com>
2024-12-27Update crates/ide/src/moniker.rsMichael Sloan-2/+1
Co-authored-by: David Barsky <me@davidbarsky.com>
2024-12-26move env vars for snapshot tests to UpdateTestroife-3/+21
2024-12-26optimize snapshot-testing macro detection and add testsroife-45/+137
2024-12-26feat: support UpdateTest in codelensroife-35/+85
2024-12-26feat: Add TestDefs to find usage of Expect, Insta and Snapboxroife-21/+162
2024-12-25Improve SCIP symbolsMichael Sloan-160/+191
In particular, the symbol generation before this change creates a lot of symbols with the same name for different definitions. This change makes progress on symbol uniqueness, but does not fix a couple cases where it was unclear to me how to fix (see TODOs in `scip.rs`) Behavior changes: * `scip` command now reports symbol information omitted due to symbol collisions. Iterating with this on a large codebase (Zed!) resulted in the other improvements in this change. * Generally fixes providing the path to nested definitions in symbols. Instead of having special cases for a couple limited cases of nesting, implements `Definition::enclosing_definition` and uses this to walk definitions. * Parameter variables are now treated like locals. - This fixes a bug where closure captures also received symbols scoped to the containing function. To bring back parameter symbols I would want a way to filter these out, since they can cause symbol collisions. - Having symbols for them seems to be intentional in 27e2eea54fbd1edeefa2b47ddd4f552a04b86582, but no particular use is specified there. For the typical indexing purposes of SCIP I don't see why parameter symbols are useful or sensible, as function parameters are not referencable by anything but position. I can imagine they might be useful in representing diagnostics or something. * Inherent impls are now represented as `impl#[SelfType]` - a type named `impl` which takes a single type parameter. * Trait impls are now represented as `impl#[SelfType][TraitType]` - a type named `impl` which takes two type parameters. * Associated types in traits and impls are now treated like types instead of type parameters, and so are now suffixed with `#` instead of wrapped with `[]`. Treating them as type parameters seems to have been intentional in 73d9c77f2aeed394cf131dce55807be2d3f54064 but it doesn't make sense to me, so changing it. * Static variables are now treated as terms instead of `Meta`, and so receive `.` suffix instead of `:`. * Attributes are now treated as `Meta` instead of `Macro`, and so receive `:` suffix instead of `!`. * `enclosing_symbol` is now provided for labels and generic params, which are local symbols. * Fixes a bug where presence of `'` causes a descriptor name to get double wrapped in backticks, since both `fn new_descriptor` and `scip::symbol::format_symbol` have logic for wrapping in backticks. Solution is to simply delete the redundant logic. * Deletes a couple tests in moniker.rs because the cases are adequeately covered in scip.rs and the format for identifiers used in moniker.rs is clunky with the new representation for trait impls