aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide_db
Commit message (Collapse)AuthorAgeFilesLines
* Remove Option<...> from result of Crate::root_modulePaul Daniel Faria2020-08-091-12/+10
| | | | | There doesn't seem to be any need for it, and removing it simplies several paths of code that depend on it.
* Add support for extern cratePaul Daniel Faria2020-08-082-42/+60
| | | | | This adds syntax highlighting, hover and goto def functionality for extern crate
* Merge #5664bors[bot]2020-08-051-3/+22
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 5664: Fix renamed self module. r=jonas-schievink a=Nashenas88 Fixes #5663 Now `inner_mod` below is properly marked as a `module`. ```rust use crate::inner::{self as inner_mod}; mod inner {} ``` Co-authored-by: Paul Daniel Faria <[email protected]>
| * When resolving a rename, fallback to the name higher in the use tree if the ↵Paul Daniel Faria2020-08-041-3/+22
| | | | | | | | path segment is `self`
* | Use salsa's purge to account for all memoryAleksey Kladov2020-08-051-1/+23
|/
* Rename BindPat -> IdentPatAleksey Kladov2020-07-311-2/+2
|
* Allign RecordPat with RecordExprAleksey Kladov2020-07-311-2/+2
|
* Finalize Trait grammarAleksey Kladov2020-07-302-3/+3
|
* Finalize const&static grammarAleksey Kladov2020-07-302-4/+4
|
* Rename EnumVariant -> VariantAleksey Kladov2020-07-301-1/+1
|
* Rename EnumDef -> EnumAleksey Kladov2020-07-302-3/+3
|
* Rename StructDef -> StructAleksey Kladov2020-07-302-3/+3
|
* Finalize union grammarAleksey Kladov2020-07-301-1/+1
|
* Rename FieldDef -> FieldAleksey Kladov2020-07-301-1/+1
|
* Rename RecordLit -> RecordExprAleksey Kladov2020-07-302-2/+2
|
* Rename TypeAliasDef -> TypeAliasAleksey Kladov2020-07-302-3/+3
|
* Rename FnDef -> FnAleksey Kladov2020-07-302-2/+2
|
* Rename RenameAleksey Kladov2020-07-301-1/+1
|
* SSR: Use Definition::find_usages to speed up matching.David Lattimore2020-07-242-15/+24
| | | | When the search pattern contains a path, this substantially speeds up finding matches, especially if the path references a private item.
* Merge #5503bors[bot]2020-07-232-5/+6
|\ | | | | | | | | | | | | | | | | | | | | 5503: Replace superslice with API on path to stabilization r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Replace superslice with API on path to stabilizationAleksey Kladov2020-07-232-5/+6
| |
* | Store macro invocation parameters as text instead of ttLaurențiu Nicola2020-07-221-2/+2
|/
* Correctly resolve assoc. types in path bindingsJonas Schievink2020-07-171-0/+22
|
* Remove TypeCtor interningFlorian Diebold2020-07-151-1/+0
| | | | Our TypeCtor and Chalk's TypeName match now!
* Use Chalk closure supportFlorian Diebold2020-07-151-2/+0
|
* Fix classify_name_ref on multi-path macro callsJonas Schievink2020-07-141-2/+8
|
* Add a license field to all the cratesYuki Okushi2020-07-141-0/+1
|
* Remove relative_path dependencyAleksey Kladov2020-07-081-4/+3
|
* Merge #5244bors[bot]2020-07-071-0/+9
|\ | | | | | | | | | | | | | | | | | | 5244: Add a command to compute memory usage statistics r=matklad a=jonas-schievink This allows inspecting memory usage on a live rust-analyzer instance after it has been used interactively. This will only work with `--features jemalloc`, so maybe it should print something more useful when that's not available? Right now it will just print 0 Bytes for every query. Co-authored-by: Jonas Schievink <[email protected]>
| * Add a command to compute memory usage statisticsJonas Schievink2020-07-071-0/+9
| |
* | Merge #5245bors[bot]2020-07-071-1/+1
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | 5245: Refactor AssistBuilder to manage a SourceChange r=matklad a=theduke `AssistBuilder` now managaes a full `SourceChange` instead of a `Vec<SourceFileEdit>`. This prepares AssistBuilder to handle creation of new files. Co-authored-by: Christoph Herzog <[email protected]>
| * Refactor AssistBuilder to manage a SourceChangeChristoph Herzog2020-07-071-1/+1
| | | | | | | | | | | | | | `AssistBuilder`` now managaes a full `SourceChange` instead of a Vec<SourceFileEdit>. This prepares AssistBuilder to handle creation of new files.
* | Switch to fully dynamically dispatched salsaAleksey Kladov2020-07-073-33/+30
|/ | | | This improves compile times quite a bit
* Fix memory usage accounting for interned queriesJonas Schievink2020-07-031-17/+30
|
* Merge #5175bors[bot]2020-07-011-2/+3
|\ | | | | | | | | | | | | | | 5175: More memory-efficient impl collection r=matklad a=jonas-schievink This saves roughly 90 MB in `ImplsFromDepsQuery`, which used to copy the list of all impls from libcore into *every* crate in the graph. It also stops collecting inherent impls from dependencies entirely, as those can only be located within the crate defining the self type. Co-authored-by: Jonas Schievink <[email protected]>
| * Split `CrateImplDefs` in inherent and trait implsJonas Schievink2020-07-011-2/+3
| | | | | | | | | | | | This makes the intention of inherent vs. trait impls somewhat more clear and also fixes (?) an issue where trait impls with an unresolved trait were added as inherent impls instead (hence the test changes).
* | Reuse Semantics instancesLaurențiu Nicola2020-07-011-8/+4
|/
* Try to reduce Semantics monomorphisationsLaurențiu Nicola2020-07-011-1/+7
|
* Use the existing Semantics in auto_importLaurențiu Nicola2020-07-011-46/+42
|
* Simlify with matches!()Veetaha2020-06-281-4/+1
|
* Measure ItemTree query memory usageJonas Schievink2020-06-241-0/+1
|
* Remove raw item queryJonas Schievink2020-06-241-1/+0
|
* New VFSAleksey Kladov2020-06-233-69/+30
|
* Add new query to statsJonas Schievink2020-06-191-0/+1
|
* Replace `impls_in_trait` with `CrateImplDefs`Jonas Schievink2020-06-191-1/+0
|
* Remove special casing for library symbolsAleksey Kladov2020-06-182-122/+47
| | | | | | | | We might as well handle them internally, via queries. I am not sure, but it looks like the current LibraryData setup might even predate salsa? It's not really needed and creates a bunch of complexity.
* Anchor file-system operations to the file, and not to the source root.Aleksey Kladov2020-06-161-3/+3
| | | | | | | | | | | | | | | | Anchoring to the SourceRoot wont' work if the path is absolute: #[path = "/tmp/foo.rs"] mod foo; Anchoring to a file will. However, we *should* anchor, instead of just producing an abs path. I can imagine a situation where, for example, rust-analyzer processes crates from different machines (or, for example, from in-memory git branch), where the same absolute path in different crates might refer to different files in the end!
* Remove dead codeAleksey Kladov2020-06-112-24/+3
|
* Merge #4843bors[bot]2020-06-111-2/+2
|\ | | | | | | | | | | | | | | | | | | | | 4843: Don't guess macro expansion crate r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Make relevant_crates return a SetAleksey Kladov2020-06-111-2/+2
| |