aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_assists/src/handlers
Commit message (Collapse)AuthorAgeFilesLines
* Merge #5553bors[bot]2020-08-121-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5553: Add fix ranges for diagnostics r=matklad a=SomeoneToIgnore A follow-up of https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Less.20red.20in.20the.20code Now diagnostics can apply fixes in a range that's different from the range used to highlight the diagnostics. Previous logic did not consider the fix range, having both ranges equal, which could cause a lot of red noise in the editor. Now, the fix range gets used with the fix, the diagnostics range is used for everything else which allows to improve the error highlighting. before: <img width="191" alt="image" src="https://user-images.githubusercontent.com/2690773/88590727-df9a6a00-d063-11ea-97ed-9809c1c5e6e6.png"> after: <img width="222" alt="image" src="https://user-images.githubusercontent.com/2690773/88590734-e1fcc400-d063-11ea-9b7c-25701cbd5352.png"> `MissingFields` and `MissingPatFields` diagnostics now have the fix range as `ast::RecordFieldList` of the expression with an error (as it was before this PR), and the diagnostics range as a `ast::Path` of the expression, if it's present (do you have any example of `ast::Expr::RecordLit` that has no path btw?). The rest of the diagnostics have both ranges equal, same as it was before this PR. Co-authored-by: Kirill Bulatov <[email protected]>
| * Less stubsKirill Bulatov2020-08-111-1/+1
| |
* | Replace SepBy with ItertoolsAleksey Kladov2020-08-123-8/+10
| |
* | Fix docsAleksey Kladov2020-08-121-1/+1
|/
* Add support for extern cratePaul Daniel Faria2020-08-081-1/+1
| | | | | This adds syntax highlighting, hover and goto def functionality for extern crate
* align names in makeAleksey Kladov2020-08-057-13/+12
|
* Merge #5648bors[bot]2020-08-051-0/+391
|\ | | | | | | | | | | | | | | 5648: Add expand glob import assist r=jonas-schievink a=unexge closes https://github.com/rust-analyzer/rust-analyzer/issues/5557 Co-authored-by: unexge <[email protected]>
| * Pattern match on slice elements instead of using `.first().unwrap()`unexge2020-08-051-7/+6
| |
| * Look for trait methods in expand glob import assistunexge2020-08-051-13/+65
| |
| * Simplify `find_mod_path` with use of `node.ancestors`unexge2020-08-031-20/+1
| |
| * Generate doctestunexge2020-08-021-1/+1
| |
| * Rename ast::UseItem to ast::Useunexge2020-08-021-1/+1
| |
| * Add expand glob import assistunexge2020-08-021-0/+359
| |
* | do not add to `pub use` statementsJacob Rothstein2020-08-031-0/+42
| |
* | Merge #5628bors[bot]2020-08-031-1/+1
|\ \ | |/ |/| | | | | | | | | | | 5628: Rename test modules r=matklad a=lnicola Co-authored-by: Laurențiu Nicola <[email protected]>
| * Rename test modulesLaurențiu Nicola2020-07-311-1/+1
| |
* | Update grammarAleksey Kladov2020-08-011-1/+1
| |
* | Unify naming of tuple fieldsAleksey Kladov2020-07-311-2/+2
| |
* | Rename BindPat -> IdentPatAleksey Kladov2020-07-314-4/+4
| |
* | Rename PalceholderPat -> WildcardPatAleksey Kladov2020-07-313-15/+12
| |
* | Allign RecordPat with RecordExprAleksey Kladov2020-07-311-2/+2
| |
* | MinorAleksey Kladov2020-07-311-1/+0
| |
* | Rename LambdaExpr -> ClosureExprAleksey Kladov2020-07-311-2/+2
| |
* | Item is a StmtAleksey Kladov2020-07-311-0/+2
| |
* | Reame PlaceholderType -> InferTypeAleksey Kladov2020-07-311-1/+1
| |
* | Rename TypeRef -> TypeAleksey Kladov2020-07-312-2/+2
|/ | | | | | | | | | The TypeRef name comes from IntelliJ days, where you often have both type *syntax* as well as *semantical* representation of types in scope. And naming both Type is confusing. In rust-analyzer however, we use ast types as `ast::Type`, and have many more semantic counterparts to ast types, so avoiding name clash here is just confusing.
* Use ty to access most TypeRefsAleksey Kladov2020-07-302-2/+2
|
* Remove TypeAscriptionOwnerAleksey Kladov2020-07-303-17/+12
|
* Finalize attribute grammarAleksey Kladov2020-07-301-2/+2
|
* Finalize impl GrammarAleksey Kladov2020-07-304-7/+7
|
* Finalize Trait grammarAleksey Kladov2020-07-302-3/+3
|
* Finalize const&static grammarAleksey Kladov2020-07-302-4/+4
|
* Rename EnumVariant -> VariantAleksey Kladov2020-07-302-3/+3
|
* Rename EnumDef -> EnumAleksey Kladov2020-07-302-3/+3
|
* Rename StructDef -> StructAleksey Kladov2020-07-303-6/+6
|
* Rename FieldDef -> FieldAleksey Kladov2020-07-302-3/+3
|
* Rename RecordLit -> RecordExprAleksey Kladov2020-07-304-6/+6
|
* Rename TypeParamList -> GenericParamListAleksey Kladov2020-07-305-13/+14
|
* Rename TypeAliasDef -> TypeAliasAleksey Kladov2020-07-302-8/+4
|
* Rename FnDef -> FnAleksey Kladov2020-07-308-16/+16
|
* Rename UseItem -> UseAleksey Kladov2020-07-303-4/+4
|
* Split ItemList & AssocItemListAleksey Kladov2020-07-303-4/+5
|
* Merge #5554bors[bot]2020-07-291-9/+85
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5554: Fix remove_dbg r=matklad a=petr-tik Closes #5129 Addresses two issues: - keep the parens from dbg!() in case the call is chained or there is semantic difference if parens are excluded - Exclude the semicolon after the dbg!(); by checking if it was accidentally included in the macro_call investigated, but decided against: fix ast::MacroCall extraction to never include semicolons at the end - this logic lives in rowan. Defensively shorten the macro_range if there is a semicolon token. Deleted unneccessary temp variable macro_args Renamed macro_content to "paste_instead_of_dbg", because it isn't a simple extraction of text inside dbg!() anymore Co-authored-by: petr-tik <[email protected]>
| * Addressed code reviewpetr-tik2020-07-291-27/+41
| | | | | | | | | | | | | | replaced match with let-if variable assignment removed the unnecessary semicolon_on_end variable converted all code and expected test variables to raw strings and inlined them in asserts
| * Fixed #5129petr-tik2020-07-271-8/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Addresses two issues: - keep the parens from dbg!() in case the call is chained or there is semantic difference if parens are excluded - Exclude the semicolon after the dbg!(); by checking if it was accidentally included in the macro_call investigated, but decided against: fix ast::MacroCall extraction to never include semicolons at the end - this logic lives in rowan. Defensively shorten the macro_range if there is a semicolon token. Deleted unneccessary temp variable macro_args Renamed macro_content to "paste_instead_of_dbg", because it isn't a simple extraction of text inside dbg!() anymore
| * Make all test fn names consistent in remove_dbgpetr-tik2020-07-271-3/+29
| |
| * Added failing testspetr-tik2020-07-271-0/+21
| |
* | Rename NomialDef -> AdtDefAleksey Kladov2020-07-292-3/+3
|/
* assists: change_return_type_to_result: clarify assist descriptionMatthias Krüger2020-07-221-1/+1
| | | | | | | | I had a -> Option<PathBuf> fn, which I wanted to change to Result<PathBuf, _>, but despite advertising to do so, the assist did not change the result type to Result<PathBuf, _> but instead just wrapped it in a Result: <Result<Option<PathBuf>, _>. I changed the assist description to "Wrap return type in Result" to clarify that the assist only wraps the preexisting type and does not do any deep Option-to-Result refactoring.
* Replace existing visibility modifier in fix_visibilityTimo Freiberg2020-07-211-15/+75
|