aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge #2937bors[bot]2020-01-292-5/+26
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2937: Parse cargo output a line at a time. r=kiljacken a=kiljacken We previously used serde's stream deserializer to read json blobs from the cargo output. It has an issue though: If the deserializer encounters invalid input, it gets stuck reporting the same error again and again because it is unable to foward over the input until it reaches a new valid object. Reading a line at a time and manually deserializing fixes this issue, because cargo makes sure to only outpu one json blob per line, so should we encounter invalid input, we can just skip a line and continue. The main reason this would happen is stray printf-debugging in procedural macros, so we still report that an error occured, but we handle it gracefully now. Fixes #2935 Co-authored-by: Emil Lauridsen <[email protected]>
| * Change error output to make a bit more senseEmil Lauridsen2020-01-291-2/+6
| |
| * Parse cargo output a line at a time.Emil Lauridsen2020-01-292-5/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We previously used serde's stream deserializer to read json blobs from the cargo output. It has an issue though: If the deserializer encounters invalid input, it gets stuck reporting the same error again and again because it is unable to foward over the input until it reaches a new valid object. Reading a line at a time and manually deserializing fixes this issue, because cargo makes sure to only outpu one json blob per line, so should we encounter invalid input, we can just skip a line and continue. The main reason this would happen is stray printf-debugging in procedural macros, so we still report that an error occured, but we handle it gracefully now. Fixes #2935
* | Tweak readmeAleksey Kladov2020-01-291-3/+2
| |
* | Merge pull request #2936 from matklad/better-releaseAleksey Kladov2020-01-291-2/+4
|\ \ | |/ |/| Make sure release uses the release branch, and not master
| * Make sure release uses the release branch, and not masterAleksey Kladov2020-01-291-2/+4
| |
* | Merge #2931bors[bot]2020-01-292-24/+56
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 2931: Added documentation to test_utils r=matklad a=Veetaha Added some doc comments to test_utils functions while studying this crate. They should be all stable enough to document them. Also some minor code relocation in `parse_fixture()` closer to its usage according to the advice of @matklad. Co-authored-by: Veetaha <[email protected]>
| * | test_utils: move flush!() to its usage as per conversation with @matkladVeetaha2020-01-291-13/+13
| | |
| * | test_utils: updated documentation and some typosVeetaha2020-01-292-11/+43
| | |
* | | Merge #2934bors[bot]2020-01-291-8/+28
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 2934: Complain loudly if the main loop is blocked r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Complain loudly if the main loop is blockedAleksey Kladov2020-01-291-1/+21
| | |
| * | More uniform namingAleksey Kladov2020-01-291-7/+7
| | |
* | | Merge #2933bors[bot]2020-01-291-28/+28
|\| | | |/ |/| | | | | | | | | | | 2933: Don't compute diagnostics on the main thread r=matklad a=matklad closes #2909 Co-authored-by: Aleksey Kladov <[email protected]>
| * Don't compute diagnostics on the main threadAleksey Kladov2020-01-291-28/+28
|/ | | | closes #2909
* Merge #2917bors[bot]2020-01-283-14/+88
|\ | | | | | | | | | | | | | | 2917: Prefer imports starting with std r=matklad a=SomeoneToIgnore Closes https://github.com/rust-analyzer/rust-analyzer/issues/2915 Co-authored-by: Kirill Bulatov <[email protected]>
| * Add the testsKirill Bulatov2020-01-282-0/+42
| |
| * Revert accidental package-lock.json changeKirill Bulatov2020-01-281-1/+1
| |
| * Apply the proposed refactoringKirill Bulatov2020-01-281-38/+43
| |
| * Prefer imports starting with stdKirill Bulatov2020-01-273-7/+34
| |
* | Merge #2928bors[bot]2020-01-281-1/+7
|\ \ | | | | | | | | | | | | | | | | | | | | | 2928: Provide better diagnostics if the server is not in path r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Provide better diagnostics if the server is not in pathAleksey Kladov2020-01-281-1/+7
|/ /
* | Merge #2927bors[bot]2020-01-282-41/+42
|\ \ | | | | | | | | | | | | | | | | | | | | | 2927: Publicize debug printing of CrateDefMap r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Publicize debug printing of CrateDefMapAleksey Kladov2020-01-282-41/+42
|/ /
* | Merge #2926bors[bot]2020-01-285-89/+89
|\ \ | | | | | | | | | | | | | | | | | | | | | 2926: Standard formatting for array types r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Standard formatting for array typesAleksey Kladov2020-01-285-89/+89
|/ /
* | Merge #2925bors[bot]2020-01-282-47/+47
|\ \ | | | | | | | | | | | | | | | | | | | | | 2925: :arrow_up: node r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | :arrow_up: nodeAleksey Kladov2020-01-282-47/+47
|/ /
* | Merge #2924bors[bot]2020-01-281-2/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2924: Modify ordering of drops in check watcher to only ever have one cargo r=matklad a=kiljacken Due to the way drops are ordered when assigning to a mutable variable we were launching a new cargo sub-process before letting the old one quite. By explicitly replacing the original watcher with a dummy first, we ensure it is dropped and the process is completed, before we start the new process. Co-authored-by: Emil Lauridsen <[email protected]>
| * | Modify ordering of drops in check watcher to only ever have one cargoEmil Lauridsen2020-01-281-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Due to the way drops are ordered when assigning to a mutable variable we were launching a new cargo sub-process before letting the old one quite. By explicitly replacing the original watcher with a dummy first, we ensure it is dropped and the process is completed, before we start the new process.
* | | Merge #2923bors[bot]2020-01-281-0/+8
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 2923: Don't do check progress update for fresh crates r=matklad a=kiljacken Skip sending progress updates for crates that aren't getting checked. Co-authored-by: Emil Lauridsen <[email protected]>
| * | Don't do check progress update for fresh cratesEmil Lauridsen2020-01-281-0/+8
|/ /
* | Merge #2916bors[bot]2020-01-271-1/+4
|\ \ | |/ |/| | | | | | | | | | | | | | | 2916: Buffer reads from cargo check's stdout r=matklad a=lnicola `Stdio::piped()` is unbuffered, which caused RA to read the output of `cargo check` one byte at a time (out of 114KB in my test). This isn't obviously faster on my system, but making fewer syscalls sounds like a good idea. Co-authored-by: LaurenČ›iu Nicola <[email protected]>
| * Buffer reads from cargo check's stdoutLaurențiu Nicola2020-01-271-1/+4
|/
* Merge #2810bors[bot]2020-01-271-27/+111
|\ | | | | | | | | | | | | | | 2810: Improves reference search by StructLiteral r=mikhail-m1 a=mikhail-m1 Hey, I've made some changes to improve search for struct literals, now it works for `struct Foo<|> {`, `struct Foo <|>{`, `struct Foo<|>(`. Unfortunately tuple creation is represented as a call expression, so for tuples it works only is search is started in a tuple declaration. It leads to incorrect classification of function calls during search phase, but from user perspective it's not visible and works as expected. May be it worth to add a comment or rename it to remove this misleading classification. Issue #2549. Co-authored-by: Mikhail Modin <[email protected]>
| * Improves reference search by StructLiteralMikhail Modin2020-01-271-27/+111
| |
* | Merge #2872bors[bot]2020-01-275-90/+101
|\ \ | |/ |/| | | | | | | | | | | | | | | 2872: Upgrade Chalk r=matklad a=flodiebold This is just keeping track of the changes required to upgrade Chalk; currently we can't really merge it since it breaks opaque types. Now also makes use of the newly introduced `solve_limited` to implement fuel. Co-authored-by: Florian Diebold <[email protected]>
| * Tweak Chalk settingsFlorian Diebold2020-01-271-2/+1
| |
| * Ignore failing impl Trait testsFlorian Diebold2020-01-271-0/+2
| |
| * Upgrade ChalkFlorian Diebold2020-01-274-89/+99
|/
* Merge #2914bors[bot]2020-01-272-13/+13
|\ | | | | | | | | | | | | | | 2914: vscode-languageclient 6.1.0 r=matklad a=kjeremy Adds client side support for proposed semantic highlighting extension Co-authored-by: kjeremy <[email protected]>
| * vscode-languageclient 6.1.0kjeremy2020-01-272-13/+13
|/ | | | Adds support for proposed semantic highlighting extension
* Merge #2913bors[bot]2020-01-271-17/+6
|\ | | | | | | | | | | | | | | 2913: Update insta r=matklad a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * Update instakjeremy2020-01-271-17/+6
|/
* Merge #2910bors[bot]2020-01-271-1/+1
|\ | | | | | | | | | | | | | | 2910: Use package script r=kjeremy a=kjeremy Co-authored-by: Jeremy Kolb <[email protected]>
| * Update docs/user/README.mdJeremy Kolb2020-01-271-1/+1
| | | | | | Co-Authored-By: Veetaha <[email protected]>
| * Use package scriptJeremy Kolb2020-01-261-1/+1
| |
* | 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
| | | |