aboutsummaryrefslogtreecommitdiff
path: root/crates/ide_db
Commit message (Collapse)AuthorAgeFilesLines
...
| | * Remove SyntaxRewriter usage in insert_use in favor of tedLukas Wirth2021-04-202-178/+103
| |/ |/|
* | Check for rust doc code attributes like rustdoc doesLukas Wirth2021-04-192-0/+35
| |
* | Merge #8467bors[bot]2021-04-192-0/+12
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8467: Adds impl Deref assist r=jhgg a=jhgg This PR adds a new `generate_deref` assist that automatically generates a deref impl for a given struct field. Check out this gif: ![2021-04-11_00-33-33](https://user-images.githubusercontent.com/5489149/114296006-b38e1000-9a5d-11eb-9112-807c01b8fd0a.gif) -- I have a few Q's: - [x] Should I write more tests, if so, what precisely should I test for? - [x] I have an inline question on line 65, can someone provide guidance? :) - [x] I can implement this for `ast::TupleField` too. But should it be a separate assist fn, or should I try and jam both into the `generate_deref`? - [x] I want to follow this up with an assist on `impl $0Deref for T {` which would automatically generate a `DerefMut` impl that mirrors the Deref as well, however, I could probably use some pointers on how to do that, since I'll have to reach into the ast of `fn deref` to grab the field that it's referencing for the `DerefMut` impl. Co-authored-by: jake <[email protected]>
| * | Adds impl Deref assistjake2021-04-112-0/+12
| | |
* | | Merge #8546bors[bot]2021-04-162-2/+35
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8546: Return CallInfo for unclosed call expressions r=Veykril a=Veykril Closes #8522 bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | Return CallInfo for unclosed call expressionsLukas Wirth2021-04-162-2/+35
| | | |
* | | | Exclude inherent traits from flyimportsKirill Bulatov2021-04-161-6/+16
|/ / /
* / / Profile trait solving for all invocationsKirill Bulatov2021-04-141-1/+1
|/ /
* / Avoid O(n²) when constructing AttrSourceMapJonas Schievink2021-04-061-0/+4
|/
* Convert Into to From assistGraeme Coupar2021-04-032-1/+9
| | | | | | | | | | | | This adds a "Convert Into to From" assist, useful since clippy has recently started adding lints on every `Into`. It covers converting the signature, and converting any `self`/`Self` references within the body to the correct types. It does assume that every instance of `Into` can be converted to a `From`, which I _think_ is the case now. Let me know if there's something I'm not thinking of and I can try and make it smarter.
* Merge #8267bors[bot]2021-03-311-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8267: Adding gifs and screenshots for features in manual r=matklad a=MozarellaMan For #6539 This includes most of gif or screenshot examples of most items in the "Features" header. With the exceptions of: - **On Typing Assists** - couldn't get it to work for a demo, I'm probably missing something? - **Structural search and replace** - looked to be already a visual example of the feature - **Workspace symbol** - wasn't sure how best to show this, all of the examples maybe? Also wasn't sure of the best code example to show it off - **Semantic Syntax Highlighting** - seemed obvious enough to not need a screenshot, but I could easily add this All the gifs/pngs are hosted in this [comment](https://github.com/rust-analyzer/rust-analyzer/issues/6539#issuecomment-809574840). Please let me know if any of them aren't suitable (and why) and I'll improve it! Or if you don't like the theme/font Co-authored-by: Ayomide Bamidele <[email protected]>
| * Gifs and screenshots for features in manualAyomide Bamidele2021-03-311-0/+1
| |
* | Merge #8186bors[bot]2021-03-301-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 8186: Lower traits to `TraitRef` instead of `TypeRef` r=matklad a=Veykril Co-authored-by: Lukas Wirth <[email protected]>
| * | Rename target_ty to self_tyLukas Wirth2021-03-291-1/+1
| |/
* / Accurately classify assoc. types in pathsJonas Schievink2021-03-301-18/+23
|/
* Merge #8212bors[bot]2021-03-282-2/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | 8212: Basic support macro 2.0 r=jonas-schievink a=edwin0cheng Turn out it is quite straight forward :) r @jonas-schievink ![m2](https://user-images.githubusercontent.com/11014119/112712565-6eb99380-8f0b-11eb-88de-5d7f974dfe6d.png) Co-authored-by: Edwin Cheng <[email protected]>
| * Unleash macro 2.0 in hightlight and moreEdwin Cheng2021-03-272-2/+3
| |
* | Cleanup ide_db importsLukas Wirth2021-03-278-10/+15
|/
* syntax: return owned string instead of leaking stringcynecx2021-03-263-3/+3
|
* Sweep the new TraitEnvironmentQueryJonas Schievink2021-03-241-0/+1
|
* Cleanup Definition::search_scopeLukas Wirth2021-03-231-83/+94
|
* Merge hir::MacroDef::is_* into hir::MacroDef::kindLukas Wirth2021-03-231-1/+1
|
* Set up a search scope when searching for mbe macro referencesLukas Wirth2021-03-231-4/+21
|
* Compute more mathematically well-rounded notion of transitive depsAleksey Kladov2021-03-231-3/+1
| | | | | | | | By including the crate itself, we make the resulting set closed with respect to `transitve_reveres_dependencies` operation, as it becomes a proper transitive closure. This just feels more proper and mathy. And, indeed, this actually allows us to simplify call sites somewhat.
* rewrite merge use trees assist to use muatable syntax treesAleksey Kladov2021-03-221-2/+2
| | | | changelog internal
* Reexport PrefixKind to remove deps to hirEdwin Cheng2021-03-221-1/+3
|
* Fix the profile stringKirill Bulatov2021-03-211-1/+1
|
* Less reallocationsKirill Bulatov2021-03-212-19/+12
|
* Use smart case in flyimport items lookupKirill Bulatov2021-03-212-3/+22
|
* Merge #8123bors[bot]2021-03-212-199/+179
|\ | | | | | | | | | | | | | | | | | | | | | | 8123: Do not display unqualified assoc item completions r=SomeoneToIgnore a=SomeoneToIgnore Part of https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/autoimport.20weirdness Removes all flyimport completions for any unqualified associated type, effectively reverting https://github.com/rust-analyzer/rust-analyzer/pull/8095 I've explained the reasoning in the corresponding FIXME and open to discussions. As an alternative way, we could add yet another parameter in the method that's used by the `qualify_path` and enable it for the qualify assists only. Co-authored-by: Kirill Bulatov <[email protected]>
| * Disable unqualified assoc items completion for nowKirill Bulatov2021-03-201-1/+8
| |
| * DocsKirill Bulatov2021-03-202-10/+16
| |
| * Do not query item search by name eagerlyKirill Bulatov2021-03-202-197/+162
| |
| * Do not propose assoc items without qualifiersKirill Bulatov2021-03-201-3/+5
| |
* | Don't use an untyped String for ActiveParam trackingLukas Wirth2021-03-201-4/+10
|/
* Fix associated items not being appended to paths in import_assetsLukas Wirth2021-03-181-1/+5
|
* Rename `item_tree` query to `file_item_tree`Jonas Schievink2021-03-181-1/+1
|
* Fix incorrect newline emission in Attrs::docsLukas Wirth2021-03-172-44/+44
|
* use simpler .map(|x| y) instead of .and_then(|x| Some(y)) for Options. ↵Matthias Krüger2021-03-171-22/+12
| | | | (clippy::bind_instead_of_map)
* avoid converting types into themselves via .into() (clippy::useless-conversion)Matthias Krüger2021-03-172-2/+2
| | | | example: let x: String = String::from("hello world").into();
* Merge #8034bors[bot]2021-03-161-1/+1
|\ | | | | | | | | | | | | | | 8034: Implement Crate::transitive_reverse_dependencies r=matklad a=Veykril changelog internal Implement Crate::transitive_reverse_dependencies Co-authored-by: Lukas Wirth <[email protected]>
| * Implement Crate::transitive_reverse_dependenciesLukas Wirth2021-03-151-1/+1
| |
* | Upgrade rowanAleksey Kladov2021-03-161-1/+1
|/ | | | Notably, new rowan comes with support for mutable syntax trees.
* Enable thread-local coverage marksLaurențiu Nicola2021-03-151-1/+1
|
* move Semantics::visit_file_defs to ide_db::helpersLukas Wirth2021-03-151-0/+28
|
*-. Merge #8021 #8022bors[bot]2021-03-152-2/+16
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8021: Enable searching for builtin types r=matklad a=Veykril Not too sure how useful this is for reference search overall, but for completeness sake it should be there ![image](https://user-images.githubusercontent.com/3757771/111132711-f69db600-8579-11eb-8c90-22fd6862d11f.png) Also enables document highlighting for them. 8022: some clippy::performance fixes r=matklad a=matthiaskrgr use vec![] instead of Vec::new() + push() avoid redundant clones use chars instead of &str for single char patterns in ends_with() and starts_with() allocate some Vecs with capacity to avoid unnecessary resizing Co-authored-by: Lukas Wirth <[email protected]> Co-authored-by: Matthias Krüger <[email protected]>
| * | Enable searching for builtin typesLukas Wirth2021-03-152-2/+16
| | |
* | | Move code to the appropriate layerAleksey Kladov2021-03-151-6/+0
| | | | | | | | | | | | | | | | | | StructureNodeKind is a type which is specific to a particular feature, file_structure. It shouldn't be in the "code shared by all ide features" part.
* | | Introduce StructureNodeKindivan7702021-03-141-1/+6
| | |
* | | Provide regions in file structureivan7702021-03-141-0/+1
| |/ |/|