aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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
|/ /
* | Merge #1549bors[bot]2019-07-235-1/+237
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1549: Show type lenses for the resolved let bindings r=matklad a=SomeoneToIgnore Types that are fully unresolved are not displayed: <img width="279" alt="image" src="https://user-images.githubusercontent.com/2690773/61518122-8e4ba980-aa11-11e9-9249-6d9f9b202e6a.png"> A few concerns that I have about the current implementation: * I've adjusted the `file_structure` API method to return the information about the `let` bindings. Although it works fine, I have a feeling that adding a new API method would be the better way. But this requires some prior discussion, so I've decided to go for an easy way with an MVP. Would be nice to hear your suggestions. * There's a hardcoded `{undersolved}` check that I was forced to use, since the method that resolves types returns a `String`. Is there a better typed API I can use? This will help, for instance, to add an action to the type lenses that will allow us to navigate to the type. Co-authored-by: Kirill Bulatov <[email protected]>
| * | Code review fixesKirill Bulatov2019-07-224-30/+70
| | |
| * | Use SmolStr for the type textKirill Bulatov2019-07-211-3/+6
| | |
| * | Fix the string conversionsKirill Bulatov2019-07-211-2/+2
| | |
| * | Merge branch 'master' into add-type-lensesKirill Bulatov2019-07-2136-809/+383
| |\|
| * | Do not show the lens with type hintsKirill Bulatov2019-07-211-13/+4
| | |
| * | Resolve types on the serverKirill Bulatov2019-07-213-79/+84
| | |
| * | Code review fixesKirill Bulatov2019-07-213-69/+62
| | |
| * | Refactor server apiKirill Bulatov2019-07-205-55/+222
| | |
| * | Fix tuple type lens resolutionKirill Bulatov2019-07-201-3/+4
| | |
| * | Do not show a lens when the type is declared explicitlyKirill Bulatov2019-07-201-0/+4
| | |
| * | Fix rebase issueKirill Bulatov2019-07-201-1/+1
| | |
| * | If possible, show type lenses for the let bindingsKirill Bulatov2019-07-202-16/+48
| | |
* | | Merge #1579bors[bot]2019-07-224-8/+8
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1579: flexi_logger 0.14 r=matklad a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | | flexi_logger 0.14kjeremy2019-07-224-8/+8
| | | |
* | | | Merge #1577bors[bot]2019-07-220-0/+0
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1577: smaller debuginfo in release r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | smaller debuginfo in releaseAleksey Kladov2019-07-221-1/+1
| | |_|/ | |/| |
* | | | Merge #1576bors[bot]2019-07-221-1/+1
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | 1576: don't optimize on CI, it isn't faster r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | don't optimize on CI, it isn't fasterAleksey Kladov2019-07-221-1/+1
| |/ /
* | | Merge #1578bors[bot]2019-07-221-101/+101
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1578: :arrow_up: deps r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | :arrow_up: depsAleksey Kladov2019-07-221-101/+101
|/ / /