aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Merge #6153bors[bot]2020-10-125-13/+119
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6153: Improve prime_caches and display its progress r=matklad a=jonas-schievink It now computes the `CrateDefMap` of all crates, which is generally a reasonable approximation for "IDE features ready". There is still some delay after this finishes, I suspect mostly due to impl collection, which takes a while, but this should be an improvement already. For more accurate progress reports, this topologically sorts all crates before starting this operation. ~~Because that is also the ordering in which parallelization makes sense (which was previously attempted in https://github.com/rust-analyzer/rust-analyzer/pull/3529), I decided to throw that into the mix as well. It still doesn't provide *that* much of a performance boost, but it does scale beyond the current single-core architecture, and adding it was very easy.~~ ~~Unfortunately, as written, this will not tell the user which crate is actually causing slowdowns, since the displayed crate is the last one that was *started*, not the one we are currently *blocked* on, but that seems fairly difficult to implement unless I'm missing something.~~ (I have removed rayon for now since it does not work correctly with cancellation.) Co-authored-by: Jonas Schievink <[email protected]>
| * | | Improve prime_caches and display its progressJonas Schievink2020-10-125-13/+119
| |/ /
* | | Merge #6195bors[bot]2020-10-122-30/+53
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6195: Shorten iterators in associated params r=matklad a=SomeoneToIgnore Applies the same iterator-shortening logic to the iterator associated types, recursively. Before: ![image](https://user-images.githubusercontent.com/2690773/95662735-e6ecf200-0b41-11eb-8e54-28493ad4e644.png) After: <img width="1192" alt="image" src="https://user-images.githubusercontent.com/2690773/95662894-e9038080-0b42-11eb-897d-527571ccac58.png"> Co-authored-by: Kirill Bulatov <[email protected]>
| * | | Also replace the associated types with iterKirill Bulatov2020-10-102-12/+19
| | | |
| * | | Add a testKirill Bulatov2020-10-101-23/+39
| | | |
* | | | Merge #6198bors[bot]2020-10-124-4/+124
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6198: Skip macro matcher fragment name semantic highlighting r=matklad a=Veykril Implements a small state-machine for macro_rules! highlighting to separate out the matcher part of its rules. This skips semantically highlighting names of metavariables in the matcher and expander. This might even allow for more fun macro highlighting things in the future. Fixes #4380. Co-authored-by: Lukas Wirth <[email protected]>
| * | | | Skip macro matcher fragment name semantic highlightingLukas Wirth2020-10-104-4/+124
| | | | |
* | | | | Merge #6199bors[bot]2020-10-122-2/+5
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6199: Fix `mut self` not emitting mutable binding on `self` use r=matklad a=Veykril Prior to this, when `self` in a function is taken by value and bound mutably, its use inside of the method body won't be marked `mutably`. Fixes #5461 Co-authored-by: Lukas Wirth <[email protected]>
| * | | | Fix `mut self` not emitting mutable binding on `self` useLukas Wirth2020-10-112-2/+5
| |/ / /
* | | | Merge #5917bors[bot]2020-10-1212-23/+350
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5917: Add a command to open docs for the symbol under the cursor r=matklad a=zacps #### Todo - [ ] Decide if there should be a default keybind or context menu entry - [x] Figure out how to get the documentation path for methods and other non-top-level defs - [x] Design the protocol extension. In future we'll probably want parameters for local/remote documentation URLs, so that should maybe be done in this PR? - [x] Code organisation - [x] Tests Co-authored-by: Zac Pullar-Strecker <[email protected]>
| * | | | Remove methodowner & fix formattingZac Pullar-Strecker2020-10-084-53/+27
| | | | |
| * | | | Rebase fixesZac Pullar-Strecker2020-10-082-14/+6
| | | | |
| * | | | Changes from reviewZac Pullar-Strecker2020-10-081-3/+3
| | | | |
| * | | | Remove outdated part of doc_links module docsZac Pullar-Strecker2020-10-081-2/+0
| | | | |
| * | | | Add ignored test to demonstrate ImportMap bugZac Pullar-Strecker2020-10-081-1/+26
| | | | |
| * | | | Fix namespace detection & function testZac Pullar-Strecker2020-10-081-6/+2
| | | | |
| * | | | Add testsZac Pullar-Strecker2020-10-081-2/+94
| | | | |
| * | | | Update tests for new function fieldZac Pullar-Strecker2020-10-081-12/+12
| | | | |
| * | | | Change Option::Some bug to a fixme noteZac Pullar-Strecker2020-10-082-3/+4
| | | | | | | | | | | | | | | | | | | | IMO this is too much work to be worth fixing at the moment.
| * | | | Differentiate method/tymethod by determining 'defaultness'Zac Pullar-Strecker2020-10-086-8/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently a method only has defaultness if it is a provided trait method, but this will change when specialisation is available and may need to become a concept known to hir. I opted to go for a 'fewest changes' approach given specialisation is still under development.
| * | | | Code reorganisation and field supportZac Pullar-Strecker2020-10-084-56/+101
| | | | |
| * | | | Changes from reviewZac Pullar-Strecker2020-10-085-37/+13
| | | | |
| * | | | Rename ide::link_rewrite -> ide::doc_links & tidy importsZac Pullar-Strecker2020-10-083-4/+4
| | | | |
| * | | | Add support for struct & trait methodsZac Pullar-Strecker2020-10-081-7/+83
| | | | |
| * | | | WIP: Command to open docs under cursorZac Pullar-Strecker2020-10-085-2/+132
| | | | |
* | | | | Update crateskjeremy2020-10-111-3/+3
| |_|/ / |/| | |
* | | | Show reason for failed rename refactoringRüdiger Herrmann2020-10-104-61/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Return an error with a meaningful message for requests to `textDocument/rename` if the operation cannot be performed. Pass errors raised by rename handling code to the LSP runtime. As a consequence, the VS Code client shows and logs the request as if a server-side programming error occured. Resolves https://github.com/rust-analyzer/rust-analyzer/issues/3981
* | | | Merge #6176bors[bot]2020-10-101-0/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6176: add eprintln in fmt-like postfix r=SomeoneToIgnore a=bnjjj Co-authored-by: Benjamin Coenen <[email protected]>
| * | | | add eprintln in fmt-like postfixBenjamin Coenen2020-10-081-0/+2
| | |_|/ | |/| | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* | | | adt: correctly inherit field visibility from enumJonas Schievink2020-10-093-15/+47
| |_|/ |/| | | | | | | | | | | | | | | | | Previously, "find all references" on a variant field wouldn't find any references outside the defining module. This is because variant fields were incorrectly assumed to be private, like struct fields without explicit visibility, but they actually inherit the enum's visibility.
* | | Treat `ast::Name` in field patterns as useJonas Schievink2020-10-092-43/+119
| | |
* | | Update crates/project_model/src/sysroot.rsJonas Schievink2020-10-091-1/+1
| | | | | | | | | Co-authored-by: Laurențiu Nicola <[email protected]>
* | | Add note if RUST_SRC_PATH is likely to be wrongJonas Schievink2020-10-091-2/+8
| | |
* | | Fix source_to_def for named enum variant fieldsJonas Schievink2020-10-092-0/+21
|/ /
* | Bump rustc_lexer, cfg-if to 1.0 and add new license to checkkjeremy2020-10-082-2/+2
| |
* | Merge #5651bors[bot]2020-10-085-0/+39
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5651: Add track_env_var to the proc macro server r=kjeremy a=lnicola See https://github.com/rust-lang/rust/pull/74653. Fixes #6054. Fixes #5640, maybe. Should be merged when 1.47 is released. Proc macros still don't work for me, but it no longer crashes. Co-authored-by: Laurențiu Nicola <[email protected]>
| * Add track_env_var to the proc macro serverLaurențiu Nicola2020-10-085-0/+39
| |
* | Merge #6161bors[bot]2020-10-073-3/+19
|\ \ | | | | | | | | | | | | | | | | | | | | | 6161: Bump chalk to use latest git to get upstream fix r=jonas-schievink a=Ameobea * Chalk very recently (like an hour ago) merged a fix that prevents rust analyzer from panicking. This allows it to be usable again for code that hits those situations. See #6134, #6145, Probably #6120 Co-authored-by: Casey Primozic <[email protected]>
| * | Switch from git to latest tagged release of chalk depsCasey Primozic2020-10-071-3/+3
| | |
| * | Make unimplemented match variants explicitCasey Primozic2020-10-071-1/+2
| | |
| * | `todo!()` -> `unimplemented!() // FIXME` for CICasey Primozic2020-10-062-3/+5
| | |
| * | Bump chalk to use latest git to get fixCasey Primozic2020-10-063-3/+16
| | | | | | | | | | | | * Chalk very recently (like an hour ago) merged a fix that prevents rust analyzer from panicking. This allows it to be usable again for code that hits those situations. See #6134, #6145, Probably #6120
* | | Merge #6154bors[bot]2020-10-075-56/+295
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6154: Shorten type hints for std::iter Iterators r=SomeoneToIgnore a=Veykril Fixes #3750. This re-exports the `hir_expand::name::known` module to be able to fetch the `Iterator` and `iter` names. I'm not sure if there is anything to do with `Solution::Ambig` in `normalize_trait_assoc_type` or whether discarding those results is always wanted. Co-authored-by: Lukas Wirth <[email protected]>
| * | | Clean up inlay_hintsLukas Wirth2020-10-072-19/+26
| | | |
| * | | Shorten iterator hints for std::iter iterators behind referencesLukas Wirth2020-10-072-3/+5
| | | |
| * | | Shorten iterator chain hintsLukas Wirth2020-10-072-43/+115
| | | |
| * | | Move IntoIterator into FamousDefsLukas Wirth2020-10-072-31/+20
| | | |
| * | | Use FamousDefs for shorten_iterator hintLukas Wirth2020-10-062-69/+85
| | | |
| * | | Shorten type hints for std::iter IteratorsLukas Wirth2020-10-064-9/+162
| | | |
* | | | Better progress APIAleksey Kladov2020-10-072-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | Percentage is a UI concern, the physical fact here is fraction. It's sad that percentage bleeds into the protocol level, we even duplicated this bad API ourselves!