aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge #4851bors[bot]2020-06-192-2/+23
|\ | | | | | | | | | | | | | | | | | | | | | | 4851: Add quickfix to add a struct field r=TimoFreiberg a=TimoFreiberg Related to #4563 I created a quickfix for record literals first because the NoSuchField diagnostic was already there. To offer that quickfix for FieldExprs with unknown fields I'd need to add a new diagnostic (or create a `NoSuchField` diagnostic for those cases) I think it'd make sense to make this a snippet completion (to select the generated type), but this would require changing the `Analysis` API and I'd like some feedback before I touch that. Co-authored-by: Timo Freiberg <[email protected]>
| * Add quickfix to add a struct fieldTimo Freiberg2020-06-122-2/+23
| |
* | Apply suggestions from code reviewvsrs2020-06-181-35/+50
| |
* | Add Type::walk methodvsrs2020-06-181-71/+59
| |
* | Remove AdtOrTraitvsrs2020-06-182-33/+26
| |
* | Fix type "items" order.vsrs2020-06-181-7/+18
| |
* | Add `Go to Type Definition` hover action.vsrs2020-06-182-6/+110
|/
* Merge #4843bors[bot]2020-06-112-2/+4
|\ | | | | | | | | | | | | | | | | | | | | 4843: Don't guess macro expansion crate r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Don't guess macro expansion crateAleksey Kladov2020-06-112-2/+4
| |
* | Respect casing when searching for importsJonas Schievink2020-06-101-1/+1
| |
* | Limit import map queriesJonas Schievink2020-06-101-6/+10
| |
* | ra_hir: expose `import_map::search_dependencies`Jonas Schievink2020-06-101-0/+14
|/
* Merge #4689bors[bot]2020-06-051-2/+2
|\ | | | | | | | | | | | | | | | | | | | | 4689: Implement return position impl trait / opaque type support r=matklad a=flodiebold This is working, but I'm not that happy with how the lowering works. We might need an additional representation between `TypeRef` and `Ty` where names are resolved and `impl Trait` bounds are separated out, but things like inference variables don't exist and `impl Trait` is always represented the same way. Also note that this doesn't implement correct handling of RPIT *inside* the function (which involves turning the `impl Trait`s into variables and creating obligations for them). That intermediate representation might help there as well. Co-authored-by: Florian Diebold <[email protected]> Co-authored-by: Florian Diebold <[email protected]>
| * Review fixesFlorian Diebold2020-06-051-2/+2
| |
* | Measure memory usage of ImportMapJonas Schievink2020-06-051-5/+5
|/
* Add highlight support for unsafe fn calls and raw ptr derefPaul Daniel Faria2020-06-021-0/+8
|
* Merge #4592bors[bot]2020-05-271-0/+1
|\ | | | | | | | | | | | | | | 4592: fix textedit range returned for completion when left token is a keyword r=bnjjj a=bnjjj close #4545 Co-authored-by: Benjamin Coenen <[email protected]>
| * fix textedit range returned for completion when left token is a keyword #4545Benjamin Coenen2020-05-241-0/+1
| | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* | Pass trivially copy types as copykjeremy2020-05-261-9/+9
| |
* | add support of feature flag for runnables #4464Benjamin Coenen2020-05-211-0/+1
|/ | | | Signed-off-by: Benjamin Coenen <[email protected]>
* Add doc comment for resolve_hir_path_qualifierHasan Ali2020-05-161-0/+13
|
* Fix completion and hover for module and function of same nameHasan Ali2020-05-162-1/+56
|
* Handle `Self` in values and patternsFlorian Diebold2020-05-151-0/+1
| | | | | | | | | I.e. - `Self(x)` or `Self` in tuple/unit struct impls - `Self::Variant(x)` or `Self::Variant` in enum impls - the same in patterns Fixes #4454.
* Ty -> TypeFedor Sakharov2020-05-141-2/+7
|
* Adds a param_idx helperFedor Sakharov2020-05-141-2/+2
|
* Use generic_defaults and display_source_codeFedor Sakharov2020-05-141-3/+4
|
* Correctly fill default type parametersFedor Sakharov2020-05-131-0/+5
|
* Merge #4421bors[bot]2020-05-111-0/+20
|\ | | | | | | | | | | | | | | | | | | | | | | | | 4421: Find references to a function outside module r=flodiebold a=montekki Fixes #4188 Yet again, it looks like although the code in https://github.com/rust-analyzer/rust-analyzer/blob/da1f316b0246ce41d7cb8560181e294089f06ef3/crates/ra_ide_db/src/search.rs#L128-L132 may be wrong, it is not hit since the `vis` is `None` at this point. The fix is similar to the #4237 case: just add another special case to `Definition::visibility()`. Co-authored-by: Fedor Sakharov <[email protected]>
| * New definition_visibility methodFedor Sakharov2020-05-111-0/+20
| |
* | Highlight mutable statics as mutableMatthew Jasper2020-05-101-0/+4
|/
* New HirDisplay method for displaying sourcecodeTimo Freiberg2020-05-081-3/+6
|
* Rename ImplItem to AssocItemEdwin Cheng2020-05-051-1/+1
|
* Propose custom derives in completionKirill Bulatov2020-05-021-8/+7
|
* Merge #4234bors[bot]2020-05-021-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | 4234: Support local_inner_macros r=jonas-schievink a=edwin0cheng This PR implements `#[macro_export(local_inner_macros)]` support. Note that the rustc implementation is quite [hacky][1] too. :) [1]: https://github.com/rust-lang/rust/blob/614f273e9388ddd7804d5cbc80b8865068a3744e/src/librustc_resolve/macros.rs#L456 Co-authored-by: Edwin Cheng <[email protected]>
| * Support local_inner_macrosEdwin Cheng2020-05-011-1/+1
| |
* | Remove lower_path from AssistCtx to SemanticEdwin Cheng2020-05-011-1/+6
| |
* | Introduce LowerCtx for path loweringEdwin Cheng2020-05-012-2/+4
|/
* ?Jonas Schievink2020-04-291-5/+1
|
* Use or-patterns moreJonas Schievink2020-04-291-10/+9
|
* Remove `.clone()`Jonas Schievink2020-04-291-8/+8
|
* Rename to associated_type_shorthand_candidatesJonas Schievink2020-04-291-2/+2
|
* Complete assoc. items on type parametersJonas Schievink2020-04-292-1/+56
|
* Complete union fields after dotJonas Schievink2020-04-281-12/+15
|
* Don't add call parens when an fn type is expectedJonas Schievink2020-04-251-0/+7
|
* Rename StructField -> FieldAleksey Kladov2020-04-257-66/+57
|
* Convert code to text-sizeAleksey Kladov2020-04-252-18/+18
|
* Do not add default and closure types in 'add explicit type' assistKirill Bulatov2020-04-211-0/+4
|
* Fix goto definition for record patternsAleksey Kladov2020-04-182-0/+15
|
* Merge #4029bors[bot]2020-04-181-0/+11
|\ | | | | | | | | | | | | | | | | | | | | | | | | 4029: Fix various proc-macro bugs r=matklad a=edwin0cheng This PRs does the following things: 1. Fixed #4001 by splitting `LIFETIME` lexer token to two mbe tokens. It is because rustc token stream expects `LIFETIME` as a combination of punct and ident, but RA `tt:TokenTree` treats it as a single `Ident` previously. 2. Fixed #4003, by skipping `proc-macro` for completion. It is because currently we don't have `AstNode` for `proc-macro`. We would need to redesign how to implement `HasSource` for `proc-macro`. 3. Fixed a bug how empty `TokenStream` merging in `proc-macro-srv` such that no L_DOLLAR and R_DOLLAR will be emitted accidentally. Co-authored-by: Edwin Cheng <[email protected]>
| * Ignore proc-macro in completionEdwin Cheng2020-04-181-0/+11
| |