aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge #2883bors[bot]2020-01-274-111/+208
|\ \ | | | | | | | | | | | | | | | | | | | | | 2883: Implement Syntax Highlight inside macro call r=matklad a=edwin0cheng Co-authored-by: Edwin Cheng <[email protected]>
| * | Implement Syntax Highlight inside MacroEdwin Cheng2020-01-204-111/+208
| | |
* | | Merge #2887bors[bot]2020-01-2710-18/+509
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2887: Initial auto import action implementation r=matklad a=SomeoneToIgnore Closes https://github.com/rust-analyzer/rust-analyzer/issues/2180 Adds an auto import action implementation. This implementation is not ideal and has a few limitations: * The import search functionality should be moved into a separate crate accessible from ra_assists. This requires a lot of changes and a preliminary design. Currently the functionality is provided as a trait impl, more on that here: https://github.com/rust-analyzer/rust-analyzer/issues/2180#issuecomment-575690942 * Due to the design desicion from the previous item, no doctests are run for the new aciton (look for a new FIXME in the PR) * For the same reason, I have to create the mock trait implementaion to test the assist * Ideally, I think we should have this feature as a diagnostics (that detects an absense of an import) that has a corresponding quickfix action that gets evaluated on demand. Curretly we perform the import search every time we resolve the import which looks suboptimal. This requires `classify_name_ref` to be moved from ra_ide, so not done currently. A few improvements to the imports mechanism to be considered later: * Constants like `ra_syntax::SyntaxKind::NAME` are not imported, because they are not present in the database * Method usages are not imported, they are found in the database, but `find_use_path` does not return any import paths for them * Some import paths returned by the `find_use_path` method end up in `core::` or `alloc::` instead of `std:`, for example: `core::fmt::Debug` instead of `std::fmt::Debug`. This is not an error techically, but still looks weird. * No detection of cases where a trait should be imported in order to be able to call a method * Improve `auto_import_text_edit` functionality: refactor it and move away from the place it is now, add better logic for merging the new import with already existing imports Co-authored-by: Kirill Bulatov <[email protected]>
| * | | Code review fixesKirill Bulatov2020-01-274-11/+11
| | | |
| * | | Enforce alphabetical import sortingKirill Bulatov2020-01-261-2/+3
| | | |
| * | | Adjust the testsKirill Bulatov2020-01-263-61/+150
| | | |
| * | | Have a better trait interfaceKirill Bulatov2020-01-264-64/+45
| | | |
| * | | Raise the import search query capKirill Bulatov2020-01-261-2/+3
| | | |
| * | | Remove unnecessary lifetime parameterKirill Bulatov2020-01-263-9/+9
| | | |
| * | | Initial auto import action implementationKirill Bulatov2020-01-2610-19/+438
| | |/ | |/|
* | | Merge #2908bors[bot]2020-01-2712-26/+26
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 2908: Update crates r=matklad a=kjeremy Updates insta to 0.13 and bumps everything else. Co-authored-by: Jeremy Kolb <[email protected]>
| * | Move snaps to new naming schemeJeremy Kolb2020-01-267-0/+0
| | |
| * | Update cratesJeremy Kolb2020-01-265-26/+26
|/ /
* | Merge #2906bors[bot]2020-01-264-6/+27
|\ \ | | | | | | | | | | | | | | | | | | | | | 2906: Fix thread priority problems on windows r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Gate CI on windows buildAleksey Kladov2020-01-261-1/+1
| | |
| * | Bump main thread priority on windowsAleksey Kladov2020-01-263-0/+23
| | |
| * | Use default threadpool sizeAleksey Kladov2020-01-251-5/+3
| | |
* | | Merge #2907bors[bot]2020-01-261-0/+15
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 2907: fixed inline_local_variable bug #2900 r=matklad a=TomasKralCZ This also affects issues like #2666. Co-authored-by: Tomáš <[email protected]>
| * | fixed inline_local_variable bugTomáš2020-01-251-0/+15
|/ /
* | Merge #2899bors[bot]2020-01-251-1/+15
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 2899: Provide more runners for potential tests r=matklad a=SomeoneToIgnore Based on the https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Runners.20for.20custom.20test.20annotations discussion. Adds a test runner for every method that has an annotation that contains `test` word in it, allowing to run tests annotated with custom testing annotations such as `#[tokio::test]`, `#[test_case(...)]` and others at costs of potentially emitting some false-positives. Co-authored-by: Kirill Bulatov <[email protected]>
| * | Provide more runners for potential testsKirill Bulatov2020-01-231-1/+15
| | |
* | | Merge #2903bors[bot]2020-01-254-12/+17
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2903: Add print_time helper r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Add print_time helperAleksey Kladov2020-01-251-0/+15
| | | |
| * | | Disable env_logger humantime featureAleksey Kladov2020-01-253-12/+2
|/ / / | | | | | | | | | | | | We rarely care about timings of events, and, when we care, we need millisecond precision
* | | Merge #2901bors[bot]2020-01-243-5/+10
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2901: Cancel requests during shutdown r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Cancel requests during shutdownAleksey Kladov2020-01-243-5/+10
|/ / /
* | | Merge #2898bors[bot]2020-01-235-18/+16
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2898: Remove RWLock from check watcher. r=matklad a=kiljacken @matklad mentioned this might be a good idea. So the general idea is that we don't really need the lock, as we can just clone the check watcher state when creating a snapshot. We can then use `Arc::get_mut` to get mutable access to the state from `WorldState` when needed. Running with this it seems to improve responsiveness a bit while cargo is running, but I have no hard numbers to prove it. In any case, a serialization point less is always better when we're trying to be responsive. Co-authored-by: Emil Lauridsen <[email protected]>
| * | Remove RWLock from check watcher.Emil Lauridsen2020-01-235-18/+16
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | @matklad mentioned this might be a good idea. So the general idea is that we don't really need the lock, as we can just clone the check watcher state when creating a snapshot. We can then use `Arc::get_mut` to get mutable access to the state from `WorldState` when needed. Running with this it seems to improve responsiveness a bit while cargo is running, but I have no hard numbers to prove it. In any case, a serialization point less is always better when we're trying to be responsive.
* | Merge #2896bors[bot]2020-01-223-41/+41
|\ \ | | | | | | | | | | | | | | | | | | | | | 2896: Update crates r=kjeremy a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | Update crateskjeremy2020-01-223-41/+41
|/ /
* | Merge #2894bors[bot]2020-01-223-3/+20
|\ \ | | | | | | | | | | | | | | | | | | | | | 2894: Omit default parameters for references r=matklad a=SomeoneToIgnore Co-authored-by: Kirill Bulatov <[email protected]>
| * | Omit default parameters for reference typesKirill Bulatov2020-01-223-3/+20
|/ /
* | Merge #2891bors[bot]2020-01-222-29/+24
|\ \ | | | | | | | | | | | | | | | | | | | | | 2891: ra_syntax: removed code duplication and token reevaluation r=Veetaha a=Veetaha Just a small refactoring along the way of reading the codebase Co-authored-by: Veetaha <[email protected]>
| * | Fixed a typoVeetaha2020-01-221-1/+1
| | |
| * | Fixed a typoVeetaha2020-01-221-1/+1
| | |
| * | Preserved a comment on the bug previously present in ast::Literal::kind()Veetaha2020-01-221-0/+5
| | |
| * | ra_syntax: remove code duplication and token reevaluation from ↵Veetaha2020-01-222-32/+22
|/ / | | | | | | ast::Literal::kind()
* | Don't fail fast on CIAleksey Kladov2020-01-221-0/+1
| |
* | Merge #2893bors[bot]2020-01-221-0/+535
|\ \ | | | | | | | | | | | | | | | | | | | | | 2893: Add syntax guide r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Add syntax guideAleksey Kladov2020-01-221-0/+535
|/ /
* | Merge #2884bors[bot]2020-01-212-12/+12
|\ \ | | | | | | | | | | | | | | | | | | | | | 2884: vscode-languageclient 6.0.1 r=matklad a=kjeremy Co-authored-by: Jeremy Kolb <[email protected]>
| * | vscode-languageclient 6.0.1Jeremy Kolb2020-01-212-12/+12
|/ /
* | Merge #2877bors[bot]2020-01-204-27/+55
|\ \ | |/ |/| | | | | | | | | | | 2877: "Insert explicit type " assist fix #2869, fix typo r=matklad a=TomasKralCZ So this was quite straightforward. I basically looked at how the other assists work and tried doing something simillar. I also fixed a typo in the other assist. Co-authored-by: TomasKralCZ <[email protected]>
| * changed 'descendants()' to 'children()'TomasKralCZ2020-01-201-4/+1
| |
| * added eq_token() method to LetStmtTomasKralCZ2020-01-192-2/+8
| |
| * Merge branch 'master' of https://github.com/rust-analyzer/rust-analyzerTomasKralCZ2020-01-1915-86/+181
| |\
| * | fix 'add_explicit_type' assist rangeTomasKralCZ2020-01-191-1/+26
| | |
| * | fix typo in 'inline_local_variable'TomasKralCZ2020-01-192-26/+26
| | |
* | | Merge #2878bors[bot]2020-01-191-4/+52
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2878: Fix a corner case when printing unaccounted time r=matklad a=michalt Previously `ra_prof` wouldn't actually print the unaccounted time in some cases. We would print, for instance, this: ``` 5ms - foo 2ms - bar ``` instead of: ``` 5ms - foo 2ms - bar 3ms - ??? ``` The fix is to properly handle the case when an entry has 0 children instead of using the `last` variable. Signed-off-by: Michal Terepeta <[email protected]> Co-authored-by: Michal Terepeta <[email protected]>
| * | Fix a corner case when printing unaccounted timeMichal Terepeta2020-01-191-4/+52
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously `ra_prof` wouldn't actually print the unaccounted time in some cases. We would print, for instance, this: ``` 5ms - foo 2ms - bar ``` instead of: ``` 5ms - foo 2ms - bar 3ms - ??? ``` The fix is to properly handle the case when an entry has 0 children instead of using the `last` variable. Signed-off-by: Michal Terepeta <[email protected]>