aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge #3516bors[bot]2020-03-094-19/+217
|\ | | | | | | | | | | | | | | | | | | 3516: Handle visibility in more cases in completion r=matklad a=flodiebold This means we don't show private items when completing paths or method calls. We might want to show private items if we can edit their definition and provide a "make public" assist, but I feel like we'd need better sorting of completion items for that, so they can be not shown or sorted to the bottom by default. Until then, they're usually more of a distraction to me. Co-authored-by: Florian Diebold <[email protected]>
| * Handle visibility for assoc item path completion as wellFlorian Diebold2020-03-083-22/+124
| |
| * Handle visibility for path completion (not in all cases yet)Florian Diebold2020-03-082-5/+51
| |
| * Handle visibility in method call completionFlorian Diebold2020-03-073-4/+54
| |
* | Merge #3518bors[bot]2020-03-095-37/+213
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3518: Add parse_to_token_tree r=matklad a=edwin0cheng This PR introduce a function for parsing `&str` to `tt::TokenTree`: ```rust // Convert a string to a `TokenTree` pub fn parse_to_token_tree(text: &str) -> Option<(tt::Subtree, TokenMap)> { ```` Co-authored-by: Edwin Cheng <[email protected]>
| * | Add parse_to_token_treeEdwin Cheng2020-03-085-37/+213
| | |
* | | Merge #3524bors[bot]2020-03-091-0/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3524: Ignore client-specific notifications r=matklad a=matklad closes #3523 bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Ignore client-specific notificationsAleksey Kladov2020-03-091-0/+3
| | | | | | | | | | | | | | | | closes #3523
* | | | Merge #3520bors[bot]2020-03-091-0/+32
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 3520: Omit unit struct hints r=matklad a=SomeoneToIgnore Closes https://github.com/rust-analyzer/rust-analyzer/issues/3488 Co-authored-by: Kirill Bulatov <[email protected]>
| * | | Omit unit struct hintsKirill Bulatov2020-03-081-0/+32
| | |/ | |/|
* | | Merge #3521bors[bot]2020-03-081-9/+9
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3521: Use markdown description in vscode r=matklad a=vbfox By using `markdownDescription` the markdown in the description is parsed and displayed. Before: ![image](https://user-images.githubusercontent.com/131878/76171725-cb2a0380-618e-11ea-956f-7668a746946f.png) After: ![image](https://user-images.githubusercontent.com/131878/76171743-00365600-618f-11ea-8847-f4ab09639bb5.png) Co-authored-by: Julien Roncaglia <[email protected]>
| * | Use markdown description in vscodeJulien Roncaglia2020-03-081-9/+9
|/ /
* | Merge #3378bors[bot]2020-03-074-134/+202
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3378: vscode: redesign inlay hints to be capable of handling multiple editors for one source file r=Veetaha a=Veetaha Fixes: #3008 (inlay corruption with multiple editors for one file). Fixes: #3319 (unnecessary requests for inlay hints when switching unrelated source files or output/log/console windows) Also, I don't know how, but the problem described in #3057 doesn't appear for me anymore (maybe it was some fix on the server-side, idk), the inlay hints are displaying right away. Though the last time I checked this it was caused by the server returning an empty array of hints and responding with a very big latency, I am not sure that this redesign actually fixed #3057.... We didn't handle the case when one rust source file is open in multiple editors in vscode (e.g. by manually adding another editor for the same file or by opening an inline git diff view or just any kind of preview within the same file). The git diff preview is actually quite special because it causes memory leaks in vscode (https://github.com/microsoft/vscode/issues/91782). It is not removed from `visibleEditors` once it is closed. However, this bug doesn't affect the inlay hints anymore, because we don't issue a request and set inlay hints for each editor in isolation. Editors are grouped by their respective files and we issue requests only for files and then update all duplicate editors using the results (so we just update the decorations for already closed git diff preview read-only editors). Also, note on a hack I had to use. `vscode.TextEdtior` identity is not actually public, its `id` field is not exposed to us. I created a dedicated upstream issue for this (https://github.com/microsoft/vscode/issues/91788). Regarding #3319: the newly designed hints client doesn't issue requests for type hints when switching the visible editors if it has them already cached (though it does rerender things anyway, but this could be optimized in future if so wanted). <details> <summary>Before</summary> ![bug_demo](https://user-images.githubusercontent.com/36276403/75613171-3cd0d480-5b33-11ea-9066-954fb2fb18a5.gif) </details> <details> <summary> After </summary> ![multi-cursor-replace](https://user-images.githubusercontent.com/36276403/75612710-d5b12100-5b2e-11ea-99ba-214b4219e6d3.gif) </details> Co-authored-by: Veetaha <[email protected]>
| * vscode: post refactor HintsUpdater (simplify create() -> constructor call)Veetaha2020-03-071-16/+10
| |
| * vscode: more privacy for HintsUpdaterVeetaha2020-03-071-1/+1
| |
| * vscode: remove logging from inlays, run fix lint issuesVeetaha2020-03-071-18/+7
| |
| * vscode: remove logic for caching editors as per @matkladVeetaha2020-03-071-222/+136
| |
| * vscode: prerefactor util.ts and ctx.tsVeetaha2020-03-072-10/+14
| |
| * vscode: refresh all editors on text changes, simplify inlays apiVeetaha2020-03-071-13/+11
| |
| * vscode: add dat semicolonVeetaha2020-03-071-1/+1
| |
| * vscode: simpifyVeetaha2020-03-071-5/+1
| |
| * vscode: redesign inlay hints to be capable of handling multiple editorsVeetaha2020-03-072-106/+273
| |
| * vscode: extract Type and Param hint cases of InlayHint at type level (needed ↵Veetaha2020-03-071-8/+14
|/ | | | further)
* Merge #3509bors[bot]2020-03-072-1/+24
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3509: Prevent include! macro include itself r=matklad a=edwin0cheng This PR prevent `include` macro including itself. Note: It **does not** prevent a cyclic include: ```rust // foo.rs include!("bar.rs") // bar.rs include!("foo.rs") ``` Co-authored-by: Edwin Cheng <[email protected]>
| * Prevent include! macro include itselfEdwin Cheng2020-03-072-1/+24
|/
* Merge #3505bors[bot]2020-03-073-6/+6
|\ | | | | | | | | | | | | | | | | | | 3505: Use actions/checkout@v2 r=matklad a=CAD97 --- bors: r+ :robot: Co-authored-by: CAD97 <[email protected]>
| * Use actions/checkout@v2CAD972020-03-073-6/+6
| |
* | Merge #3508bors[bot]2020-03-072-2/+32
|\ \ | |/ |/| | | | | | | | | | | | | | | 3508: Use a not so dummy implementation of env macro r=edwin0cheng a=edwin0cheng Currently we have a dummy `env` macro implementation which expand to an empty string, such that a `include!(concat!(env!("OUT_DIR"), "/foo.rs"))` will become `include!("/foo.rs")`, and here may be a infinite loop. :) This PR use a not so dummy version of `env` macro to prevent this infinite loop. Co-authored-by: Edwin Cheng <[email protected]>
| * Fix test and add more commentEdwin Cheng2020-03-071-1/+4
| |
| * Use a not so dummy implementation of env macroEdwin Cheng2020-03-072-1/+28
|/
* Merge #3504bors[bot]2020-03-067-31/+26
|\ | | | | | | | | | | | | | | | | | | | | 3504: Normalize waiting queries names r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Normalize waiting queries namesAleksey Kladov2020-03-067-31/+26
|/
* Merge #3502bors[bot]2020-03-064-95/+29
|\ | | | | | | | | | | | | | | | | 3502: Don't reuse the Chalk solver r=matklad a=flodiebold This slows down analysis-stats a bit (~5% in my measurement), but improves incremental checking a lot because we can reuse trait solve results. Co-authored-by: Florian Diebold <[email protected]>
| * Don't reuse the Chalk solverFlorian Diebold2020-03-064-95/+29
| | | | | | | | | | This slows down analysis-stats a bit (~5% in my measurement), but improves incremental checking a lot because we can reuse trait solve results.
* | Merge #3503bors[bot]2020-03-062-7/+7
|\ \ | |/ |/| | | | | | | | | | | | | | | | | 3503: :arrow_up: npm deps r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * :arrow_up: npm depsAleksey Kladov2020-03-062-7/+7
|/
* Merge #3499bors[bot]2020-03-063-38/+93
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 3499: Resolve `Self::AssocTy` in impls r=matklad a=flodiebold To do this we need to carry around the original resolution a bit, because `Self` gets resolved to the actual type immediately, but you're not allowed to write the equivalent type in a projection. (I tried just comparing the projection base type with the impl self type, but that seemed too dirty.) This is basically how rustc does it as well. Fixes #3249. Co-authored-by: Florian Diebold <[email protected]>
| * Resolve `Self::AssocTy` in implsFlorian Diebold2020-03-063-38/+93
| | | | | | | | | | | | | | | | | | | | To do this we need to carry around the original resolution a bit, because `Self` gets resolved to the actual type immediately, but you're not allowed to write the equivalent type in a projection. (I tried just comparing the projection base type with the impl self type, but that seemed too dirty.) This is basically how rustc does it as well. Fixes #3249.
* | Merge #3500bors[bot]2020-03-065-18/+30
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3500: Don't creat public APIs with typos r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Don't creat public APIs with typosAleksey Kladov2020-03-063-3/+3
| | |
| * | Concise mode for parameter hintsAleksey Kladov2020-03-064-15/+27
| | | | | | | | | | | | | | | This works around VS Code bug where it tries to cram everything in a tiny popup, and brings experience closer to Intellij.
* | | Merge #3498bors[bot]2020-03-065-6/+46
|\| | | |/ |/| | | | | | | | | | | | | | | | | | | | | 3498: Trigger parameter info automatically r=matklad a=matklad See https://github.com/Microsoft/vscode/issues/64023 bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Trigger parameter info automaticallyAleksey Kladov2020-03-063-0/+26
| | | | | | | | See https://github.com/Microsoft/vscode/issues/64023
| * Feature flag for arg snippetsAleksey Kladov2020-03-063-4/+18
| |
| * Fix comment orderAleksey Kladov2020-03-061-2/+2
| |
* | Merge #3497bors[bot]2020-03-063-21/+52
|\| | | | | | | | | | | | | | | | | | | | | 3497: Allow specifying additional info on call to profile r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Allow specifying additional info on call to profileAleksey Kladov2020-03-063-21/+52
| |
* | Merge #3496bors[bot]2020-03-064-4/+4
|\| | | | | | | | | | | | | | | | | | | | | 3496: Less confusing profile names r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Less confusing profile namesAleksey Kladov2020-03-064-4/+4
|/
* Merge #3494bors[bot]2020-03-064-19/+107
|\ | | | | | | | | | | | | | | | | | | | | | | 3494: Implement include macro r=matklad a=edwin0cheng This PR implement builtin `include` macro. * It does not support include as expression yet. * It doesn't consider `env!("OUT_DIR")` yet. Co-authored-by: Edwin Cheng <[email protected]>