aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge #1606bors[bot]2019-07-293-47/+311
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1606: Add `if let`, `while let` and match arm inlay hints r=matklad a=SomeoneToIgnore <img width="693" alt="image" src="https://user-images.githubusercontent.com/2690773/62013363-152f1d80-b19a-11e9-90ea-07568757baa2.png"> Add more inline hints support. Looks like `while let` type inference support is missing currently, so the corresponding hint tests lack the actual results. I've also could not find a good way to distinguish between `a` and `b` pats in the following expressions: `if let Some(Test { a: None, b: y }) = &test {};` In this case we don't need to add a hint for first pat (`a: None`), since it's matched against the particular enum variant and need a hint for `y`, since it's a new variable. But both `a` and `b` are `BIND_PAT` with similar contents, so looks like there's nothing I can check for to find any differences. I don't display any hints for such cases now, to avoid confusion, but would be nice to know if there's a way to fix this behavior. Co-authored-by: Kirill Bulatov <[email protected]>
| * Support destructuring patternsKirill Bulatov2019-07-283-47/+311
| |
* | Merge #1605bors[bot]2019-07-292-49/+152
|\ \ | | | | | | | | | | | | | | | | | | | | | 1605: Resolve modules inside inline module r=matklad a=andreevlex #1510 Co-authored-by: Alexander Andreev <[email protected]>
| * | Fixed request changes.Alexander Andreev2019-07-291-9/+19
| | |
| * | Added resolve modules inside inline moduleAlexander Andreev2019-07-292-54/+147
| |/ | | | | | | #1510
* | Merge #1617bors[bot]2019-07-292-0/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | 1617: document upgrade process r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | document upgrade processAleksey Kladov2019-07-292-0/+5
| | | | | | | | | | | | closes #1615
* | | Merge #1614bors[bot]2019-07-291-1/+1
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 1614: show prettier diff on CI r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | show prettier diff on CIAleksey Kladov2019-07-291-1/+1
| | |
* | | Merge #1610bors[bot]2019-07-291-6/+11
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1610: Ignore cancelled inlay hints responses r=matklad a=SomeoneToIgnore Fixes #1607 Co-authored-by: Kirill Bulatov <[email protected]>
| * | | Style fixesKirill Bulatov2019-07-291-1/+4
| | | |
| * | | Ignore cancelled inlay hints responsesKirill Bulatov2019-07-291-6/+8
| | |/ | |/|
* | | Merge #1613bors[bot]2019-07-292-110/+99
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 1613: :arrow_up: npm r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | :arrow_up: npmAleksey Kladov2019-07-292-110/+99
| |/
* | Merge #1611bors[bot]2019-07-291-2/+1
|\ \ | |/ |/| | | | | | | | | | | 1611: install npm deps once r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * install npm deps onceAleksey Kladov2019-07-291-2/+1
|/
* Merge #1599bors[bot]2019-07-271-1/+7
|\ | | | | | | | | | | | | | | 1599: it's a good idea to build extension before installing it r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * it's a good idea to build extension before installing itAleksey Kladov2019-07-271-1/+7
|/
* Merge #1597bors[bot]2019-07-276-58/+128
|\ | | | | | | | | | | | | | | 1597: Overhaul installation process r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * Overhaul installation processAleksey Kladov2019-07-276-58/+128
|/ | | | | | | The new commands are $ cargo install-ra --client-code $ cargo install-ra --server --jemalloc
* Merge #1596bors[bot]2019-07-272-4/+40
|\ | | | | | | | | | | | | | | | | | | | | 1596: Implement inlay hints for emacs r=matklad a=flodiebold I wanted to have the nice type hints in emacs as well :smile: ![2019-07-27-111718_982x171_scrot](https://user-images.githubusercontent.com/906069/61992560-43104700-b060-11e9-879f-8ad60f71b2e5.png) Co-authored-by: Florian Diebold <[email protected]>
| * Implement inlay hints for emacsFlorian Diebold2019-07-272-4/+40
|/
* Merge #1594bors[bot]2019-07-263-61/+125
|\ | | | | | | | | | | | | | | | | | | | | | | | | 1594: Improve inlay hinting for types r=matklad a=SomeoneToIgnore Add hints for types in for loop expressions. Resolve types for every tuple parameter. Refactor the code. ![image](https://user-images.githubusercontent.com/2690773/61957524-2294ae00-afc8-11e9-8bdc-f86f9c84ab7e.png) Co-authored-by: Kirill Bulatov <[email protected]>
| * Improve inlay hinting for typesKirill Bulatov2019-07-263-61/+125
|/ | | | | | Add hints for types in for loop expressions. Resolve types for every tuple parameter. Refactor the code.
* Merge #1586bors[bot]2019-07-255-1/+150
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1586: Add type decorators r=matklad a=SomeoneToIgnore A follow-up of https://github.com/rust-analyzer/rust-analyzer/pull/1549 Now the frontend shows inlay hints as VS Code Decorators: <img width="666" alt="image" src="https://user-images.githubusercontent.com/2690773/61802687-918fcc80-ae39-11e9-97b0-3195ab467393.png"> <img width="893" alt="image" src="https://user-images.githubusercontent.com/2690773/61802688-93599000-ae39-11e9-8bcb-4512e22aa3ed.png"> A few notes on the implementation: * I could not find a normal way to run and display the hints for the file that's already open in the VS Code when it starts. The updating code runs ok, but does not actually show anything. Seems like I miss some event that I could add a handler to. I've also experimented with `setTimeout` and it worked, but this is too ugly. The hints appear now when a new file is open or when some change is done in the existing file. * If there's a `dbg!` used in the lsp_server, the frontend starts receiving change events that contain the string from the `dbg!` output. It should not be the case in a real life, but I've decided to cover this case, just in case. * For bigger files, ~500 lines, the decorators start to blink, when updated, this does not seem to be very much of a problem for me at this particular stage of the feature development and can be optimized later. In the worst case, those decorators can be turned off in settings. * Cursor movement is rather non-intuitive on the right edge of the decorator. Seems like a thing to fix in the VS Code, not in the plugin. Co-authored-by: Kirill Bulatov <[email protected]>
| * npm run fixKirill Bulatov2019-07-252-10/+22
| |
| * Code review fixesKirill Bulatov2019-07-252-13/+13
| |
| * Remove unnecessary hacksKirill Bulatov2019-07-251-29/+0
| |
| * Fix linter issuesKirill Bulatov2019-07-253-32/+72
| |
| * Simplify the hints displayKirill Bulatov2019-07-252-54/+6
| |
| * Show type decoratorsKirill Bulatov2019-07-255-1/+175
| |
* | Merge #1591bors[bot]2019-07-258-87/+107
|\ \ | | | | | | | | | | | | | | | | | | | | | 1591: Make Analysis api cancellable r=matklad a=SomeoneToIgnore Based on the discussion from here: https://github.com/rust-analyzer/rust-analyzer/pull/1549#discussion_r305593236 Co-authored-by: Kirill Bulatov <[email protected]>
| * | Make Analysis api cancellableKirill Bulatov2019-07-258-87/+107
|/ /
* | Merge #1590bors[bot]2019-07-251-31/+26
|\ \ | |/ |/| | | | | | | | | | | 1590: Update crossbeam to pull in new memoffset r=matklad a=kjeremy Fixes `cargo audit` complaints about memoffset being unsound. Co-authored-by: kjeremy <[email protected]>
| * Update crossbeam to pull in new memoffsetkjeremy2019-07-251-31/+26
|/
* Merge #1589bors[bot]2019-07-251-1/+1
|\ | | | | | | | | | | | | | | 1589: try to show exact prettier problem r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * try to show exact prettier problemAleksey Kladov2019-07-251-1/+1
|/
* Merge #1588bors[bot]2019-07-252-10/+10
|\ | | | | | | | | | | | | | | 1588: :arrow_up: npm deps r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * :arrow_up: npm depsAleksey Kladov2019-07-252-10/+10
|/
* Merge #1585bors[bot]2019-07-24512-16/+13
|\ | | | | | | | | | | | | | | 1585: move syntax tests to unit tests r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * move syntax tests to unit testsAleksey Kladov2019-07-24512-13/+12
| |
| * switch back to old cleaning strategyAleksey Kladov2019-07-241-4/+2
|/ | | | | Turns out, Cargo is pretty bad at cleaning after itself: I see .rmeta, .rlib and .d files after clean :(
* Merge #1584bors[bot]2019-07-244-529/+91
|\ | | | | | | | | | | | | | | 1584: switch to upstream unescape r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * switch to upstream unescapeAleksey Kladov2019-07-244-529/+91
| |
* | Merge #1583bors[bot]2019-07-242-20/+20
|\| | | | | | | | | | | | | | | 1583: :arrow_up: rowan r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * :arrow_up: rowanAleksey Kladov2019-07-242-20/+20
| |
* | Merge #1573bors[bot]2019-07-243-6/+69
|\ \ | |/ |/| | | | | | | | | | | 1573: fix: parse box syntax inside parentheses r=matklad a=csmoe r? @matklad Co-authored-by: csmoe <[email protected]>
| * fix: parse box syntax inside parenthesescsmoe2019-07-223-6/+69
| |
* | Merge #1582bors[bot]2019-07-236-9/+30
|\ \ | | | | | | | | | | | | | | | | | | | | | 1582: Show local variable types in completion r=matklad a=viorina Co-authored-by: Ekaterina Babshukova <[email protected]>
| * | show local variable types in completionEkaterina Babshukova2019-07-236-9/+30
|/ /