aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide_db/src
Commit message (Collapse)AuthorAgeFilesLines
* Use more generic public apiKirill Bulatov2020-03-241-2/+8
|
* Auto import macrosKirill Bulatov2020-03-241-6/+2
|
* Merge pull request #3678 from edwin0cheng/refactor-renameAleksey Kladov2020-03-231-16/+4
|\ | | | | Fix rename argument in macro call
| * Refactor searchEdwin Cheng2020-03-221-16/+4
| |
* | Add support for macro in symbo_indexEdwin Cheng2020-03-221-0/+7
|/
* Use `dyn Trait` for working with databseAleksey Kladov2020-03-161-1/+14
| | | | | | | It improves compile time in `--release` mode quite a bit, it doesn't really slow things down and, conceptually, it seems closer to what we want the physical architecture to look like (we don't want to monomorphise EVERYTHING in a single leaf crate).
* Remove some TextUnit->usize escapeesCAD972020-03-132-8/+8
|
* Merge #3549bors[bot]2020-03-111-0/+7
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3549: Implement env! macro r=matklad a=edwin0cheng This PR implements `env!` macro by adding following things: 1. Added `additional_outdirs` settings in vscode. (naming to be bikeshed) 2. Added `ExternSourceId` which is a wrapping for SourceRootId but only used in extern sources. It is because `OUT_DIR` is not belonged to any crate and we have to access it behind an `AstDatabase`. 3. This PR does not implement the `OUT_DIR` parsing from `cargo check`. I don't have general design about this, @kiljacken could we reuse some cargo watch code for that ? ~~Block on [#3536]~~ PS: After this PR , we (kind of) completed the `include!(concat!(env!('OUT_DIR'), "foo.rs")` macro call combo. [Exodia Obliterate!](https://www.youtube.com/watch?v=RfqNH3FoGi0) Co-authored-by: Edwin Cheng <[email protected]>
| * Add resolve_extern_path in DBEdwin Cheng2020-03-101-0/+7
| |
* | Merge #3542bors[bot]2020-03-111-5/+23
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3542: Renames work on struct field shorthands r=matklad a=m-n When renaming either a local or a struct field, struct field shorthands are now renamed correctly. Happy to refactor this if it doesn't fit the design of the code. Thanks for adding the suggestion of where to start on the issue. I wasn't sure if I should also look at the behavior of renaming when placing the cursor at the field shorthand; the following describes the behavior with this patch: ```rust #[test] fn test_rename_field_shorthand_for_unspecified() { // when renaming a shorthand, should we have a way to specify // between renaming the field and the local? // // If not is this the correct default? test_rename( r#" struct Foo { i: i32, } impl Foo { fn new(i: i32) -> Self { Self { i<|> } } } "#, "j", r#" struct Foo { i: i32, } impl Foo { fn new(j: i32) -> Self { Self { i: j } } } "#, ); } ``` Resolves #3431 Co-authored-by: Matt Niemeir <[email protected]>
| * | find_usages limited to actual usages againMatt Niemeir2020-03-111-14/+14
| | |
| * | Renaming a local renames struct field shorthandMatt Niemeir2020-03-101-9/+15
| | |
| * | Struct field rename renames field in constructor field shorthandMatt Niemeir2020-03-101-5/+17
| | |
* | | Move FeatureFlagsAleksey Kladov2020-03-102-84/+3
| | |
* | | Pull completion options up to the rust-analyzerAleksey Kladov2020-03-101-0/+4
| |/ |/|
* | :arrow_up: fstAleksey Kladov2020-03-101-2/+2
|/
* Consider crate declaration namesKirill Bulatov2020-03-082-11/+1
|
* Show mod path in hover tooltipKirill Bulatov2020-03-071-0/+4
|
* Normalize waiting queries namesAleksey Kladov2020-03-061-3/+3
|
* Don't reuse the Chalk solverFlorian Diebold2020-03-061-1/+0
| | | | | This slows down analysis-stats a bit (~5% in my measurement), but improves incremental checking a lot because we can reuse trait solve results.
* Don't creat public APIs with typosAleksey Kladov2020-03-061-1/+1
|
* Concise mode for parameter hintsAleksey Kladov2020-03-061-0/+1
| | | | | This works around VS Code bug where it tries to cram everything in a tiny popup, and brings experience closer to Intellij.
* Feature flag for arg snippetsAleksey Kladov2020-03-061-0/+1
|
* Fix docsAleksey Kladov2020-03-041-4/+10
|
* Cleanup APIAleksey Kladov2020-03-041-47/+47
|
* Fix testsAleksey Kladov2020-03-042-1/+3
|
* Use method instead of a free functionAleksey Kladov2020-03-041-61/+64
|
* Move find_refs_to_defAleksey Kladov2020-03-041-3/+146
|
* Move ReferenceKindAleksey Kladov2020-03-041-1/+20
|
* Move SearchScopeAleksey Kladov2020-03-042-0/+148
|
* Support cross-crate marksAleksey Kladov2020-03-043-0/+16
|
* Move reference classification to ra_ide_dbAleksey Kladov2020-03-031-3/+75
| | | | Lost some marks along the way :-(
* Rename NameDefinition -> DefinitionAleksey Kladov2020-03-032-46/+47
|
* Refactor reference search a bitAleksey Kladov2020-03-031-1/+27
|
* Simplify: remove couple of useless functionsAleksey Kladov2020-03-021-19/+11
|
* Rename ast::ImplBlock -> ast::ImplDefAleksey Kladov2020-02-291-2/+2
|
* Fix highlighting of const patternsAleksey Kladov2020-02-281-0/+6
|
* Classify name takes const patterns into accountAleksey Kladov2020-02-282-2/+28
|
* Fix union classificationAleksey Kladov2020-02-281-0/+4
|
* Ensure that semantic tokens are single-lineAleksey Kladov2020-02-271-1/+43
|
* Refactor primary IDE APIAleksey Kladov2020-02-262-49/+27
| | | | | | | | | | This introduces the new type -- Semantics. Semantics maps SyntaxNodes to various semantic info, such as type, name resolution or macro expansions. To do so, Semantics maintains a HashMap which maps every node it saw to the file from which the node originated. This is enough to get all the necessary hir bits just from syntax.
* Merge NameDefinition and NameKindAleksey Kladov2020-02-192-40/+23
|
* Derive visibility as wellAleksey Kladov2020-02-191-39/+44
|
* Don't store deriveable Module info in NameDefinitionAleksey Kladov2020-02-191-43/+37
|
* Run cargo +nightly fix --clippy -Z unstable-optionsKirill Bulatov2020-02-181-1/+1
|
* Remove unicase dependencyAleksey Kladov2020-02-181-7/+13
|
* Rename the binary to rust-analyzerAleksey Kladov2020-02-181-1/+1
|
* Drop proptest testsAleksey Kladov2020-02-172-102/+0
| | | | | | | It takes waaay to long to compile. We should add quickcheck tests when we touch the relevant code next time.
* RenameAleksey Kladov2020-02-072-5/+5
|
* Remove irrelevant distinctionAleksey Kladov2020-02-071-28/+4
|