aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge #5732bors[bot]2020-08-131-8/+14
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5732: Consider only IdentPats for param name hints r=matklad a=SomeoneToIgnore Closes https://github.com/rust-analyzer/rust-analyzer/issues/4960 Avoid displaying any param name hints like <img width="590" alt="image" src="https://user-images.githubusercontent.com/2690773/90071461-47a4ad80-dcfe-11ea-9330-fb4f4e2d1b71.png"> Those hints seem to occupy plenty of space for no apparent benefit, with their destructured content not used in the code with the function hints. I'm not entirely sure if we should show something else than `IdentPat`s, since I don't understand some of the `Pat` variant meanings: https://github.com/rust-analyzer/rust-analyzer/blob/a1c187eef3ba08076aedb5154929f7eda8d1b424/crates/syntax/src/ast/generated/nodes.rs#L1336-L1352 Co-authored-by: Kirill Bulatov <[email protected]>
| * Consider only IdentPats for param name hintsKirill Bulatov2020-08-121-8/+14
| |
* | Remove ra_fmt crateAleksey Kladov2020-08-131-3/+2
| |
* | MinorAleksey Kladov2020-08-131-2/+24
| |
* | MinorAleksey Kladov2020-08-131-1/+2
| |
* | fmtAleksey Kladov2020-08-131-1/+1
| |
* | Rename ra_cfg -> cfgAleksey Kladov2020-08-134-4/+4
|/
* Rename ra_syntax -> syntaxAleksey Kladov2020-08-1243-58/+58
|
* Rename ra_text_edit -> text_editAleksey Kladov2020-08-1211-12/+12
|
* Cleanup TextEdit APIAleksey Kladov2020-08-124-8/+8
|
* Rename ra_prof -> profileAleksey Kladov2020-08-126-10/+6
|
* Merge #5637bors[bot]2020-08-121-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | 5637: SSR: Matching trait associated constants, types and functions r=matklad a=davidlattimore This fixes matching of things like `HashMap::default()` by resolving `HashMap` instead of `default` (which resolves to `Default::default`). Same for associated constants and types that are part of a trait implementation. However, we still don't support matching calls to trait methods. Co-authored-by: David Lattimore <[email protected]>
| * SSR: Matching trait associated constants, types and functionsDavid Lattimore2020-08-011-2/+2
| | | | | | | | | | | | | | | | | | | | This fixes matching of things like `HashMap::default()` by resolving `HashMap` instead of `default` (which resolves to `Default::default`). Same for associated constants and types that are part of a trait implementation. However, we still don't support matching calls to trait methods.
* | Merge #5553bors[bot]2020-08-123-154/+211
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
| * | Better naming and docsKirill Bulatov2020-08-112-2/+3
| | |
| * | Simplify fix structureKirill Bulatov2020-08-113-92/+89
| | |
| * | Add rustdocsKirill Bulatov2020-08-111-1/+3
| | |
| * | Improve the ide diagnostics trait APIKirill Bulatov2020-08-112-191/+160
| | |
| * | Move the DiagnosticsWithFix trait on the ide levelKirill Bulatov2020-08-112-7/+67
| | |
| * | Make the fix AST source OptionalKirill Bulatov2020-08-111-37/+50
| | |
| * | Refactor the diagnosticsKirill Bulatov2020-08-111-37/+39
| | |
| * | Better namingKirill Bulatov2020-08-111-14/+17
| | |
| * | Less stubsKirill Bulatov2020-08-111-6/+2
| | |
| * | Custom ranges for missing fieldsKirill Bulatov2020-08-111-2/+4
| | |
| * | Separate diagnostics and diagnostics fix rangesKirill Bulatov2020-08-112-44/+56
| | |
* | | Merge #4743bors[bot]2020-08-122-23/+99
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4743: Add tracking of packed repr, use it to highlight unsafe refs r=matklad a=Nashenas88 Taking a reference to a misaligned field on a packed struct is an unsafe operation. Highlight that behavior. Currently, the misaligned part isn't tracked, so this highlight is a bit too aggressive. Fixes #4600 Co-authored-by: Paul Daniel Faria <[email protected]> Co-authored-by: Paul Daniel Faria <[email protected]> Co-authored-by: Paul Daniel Faria <[email protected]>
| * | | Remove unused import left behind after rebasingPaul Daniel Faria2020-08-101-1/+1
| | | |
| * | | Fix type names broken by rebase, redo expected test because of rebasePaul Daniel Faria2020-08-101-3/+3
| | | |
| * | | Return bool from is_unsafe_method_call and cleanup usagesPaul Daniel Faria2020-08-101-5/+6
| | | |
| * | | Move semantic logic into Semantics, fix missing tag for safe amp operator, ↵Paul Daniel Faria2020-08-101-61/+28
| | | | | | | | | | | | | | | | using functional methods rather than clunky inline closure
| * | | Remove merge backupPaul Daniel Faria2020-08-101-769/+0
| | | |
| * | | Move unsafe packed ref logic to Semantics, use `Attrs::by_key` to simplify ↵Paul Daniel Faria2020-08-102-32/+771
| | | | | | | | | | | | | | | | repr attr lookup
| * | | Revert function structs back to using bool to track self param, use first ↵Paul Daniel Faria2020-08-104-6/+11
| | | | | | | | | | | | | | | | param for self information in syntax highlighting instead
| * | | Deduplicate unsafe method call into a single functionPaul Daniel Faria2020-08-101-41/+31
| | | |
| * | | Unsafe borrow of packed fields: account for borrow through ref binding, auto ↵Paul Daniel Faria2020-08-105-38/+136
| | | | | | | | | | | | | | | | ref function calls
| * | | Cleanup repr check, fix packed repr check and testPaul Daniel Faria2020-08-102-11/+7
| | | |
| * | | Update FIXME comment to be more usefulPaul Daniel Faria2020-08-101-1/+2
| | | |
| * | | Limit scope of unsafe to & instead of all ref exprs, add test showing ↵Paul Daniel Faria2020-08-102-1/+20
| | | | | | | | | | | | | | | | missing support for autoref behavior
| * | | Remove token tree from ReprKind::Other variant, expose ReprKind higher, ↵Paul Daniel Faria2020-08-101-7/+1
| | | | | | | | | | | | | | | | remove debug println.
| * | | Add tracking of packed repr, use it to highlight unsafe refsPaul Daniel Faria2020-08-102-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | Taking a reference to a misaligned field on a packed struct is an unsafe operation. Highlight that behavior. Currently, the misaligned part isn't tracked, so this highlight is a bit too aggressive.
* | | | Replace SepBy with ItertoolsAleksey Kladov2020-08-122-19/+17
| | | |
* | | | Display snippet in the completion labelKirill Bulatov2020-08-111-4/+4
| |/ / |/| |
* | | Use Hygiene in completionLaurențiu Nicola2020-08-111-5/+5
|/ /
* | Better codesJmPotato2020-08-101-8/+4
| | | | | | | | Signed-off-by: JmPotato <[email protected]>
* | Show const body in short_labelJmPotato2020-08-102-5/+13
| | | | | | | | Signed-off-by: JmPotato <[email protected]>
* | Merge #5692bors[bot]2020-08-106-12/+102
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 5692: Add support for extern crate r=jonas-schievink a=Nashenas88 This adds syntax highlighting, hover and goto def functionality for extern crate. Fixes #5690 Co-authored-by: Paul Daniel Faria <[email protected]>
| * | Remove Option<...> from result of Crate::root_modulePaul Daniel Faria2020-08-093-6/+7
| | | | | | | | | | | | | | | 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-086-13/+102
| | | | | | | | | | | | | | | This adds syntax highlighting, hover and goto def functionality for extern crate
* | | format in to_proto::markup_contentJmPotato2020-08-091-0/+31
| | | | | | | | | | | | Signed-off-by: JmPotato <[email protected]>
* | | Merge #5684bors[bot]2020-08-082-10/+67
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 5684: Semantic highlighting for unsafe union field access r=jonas-schievink a=Nashenas88 This change adds support for unions in inference and lowering, then extends on that to add the unsafe semantic modifier on field access only. The `is_possibly_unsafe` function in `syntax_highlighting.rs` could be extended to support fns and static muts so that their definitions are not highlighted as unsafe, but only their usage. Also, each commit of this PR updates the tests. By reviewing the files by commit, it's easy to see how the changes in the code affected the tests. Co-authored-by: Paul Daniel Faria <[email protected]>