aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | add if let and while let postfix for Option and Result #4348Benjamin Coenen2020-05-072-1/+221
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* | | | | | Merge #4397bors[bot]2020-05-117-11/+734
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4397: Textmate cooperation r=matklad a=georgewfraser This PR tweaks the fallback TextMate scopes to make them more consistent with the existing grammar and other languages, and edits the builtin TextMate grammar to align with semantic coloring. Before is on the left, after is on the right: <img width="855" alt="Screen Shot 2020-05-10 at 1 45 51 PM" src="https://user-images.githubusercontent.com/1369240/81512320-a8be7e80-92d4-11ea-8940-2c03f6769015.png"> **Use keyword.other for regular keywords instead of keyword**. This is a really peculiar quirk of TextMate conventions, but virtually *all* TextMate grammars use `keyword.other` (colored blue in VSCode Dark+) for regular keywords and `keyword.control` (colored purple in VSCode Dark+) for control keywords. The TextMate scope `keyword` is colored like control keywords, not regular keywords. It may seem strange that the `keyword` scope is not the right fallback for the `keyword` semantic token, but TextMate has a long and weird history. Note how keywords change from purple back to blue (what they were before semantic coloring was added): **(1) Use punctuation.section.embedded for format specifiers**. This aligns with how Typescript colors formatting directives: <img width="238" alt="Screen Shot 2020-05-09 at 10 54 01 AM" src="https://user-images.githubusercontent.com/1369240/81481258-93b5f280-91e3-11ea-99c2-c6d258c5bcad.png"> **(2) Consistently use `entity.name.type.*` scopes for type names**. Avoid using `entity.name.*` which gets colored like a keyword. **(3) Use Property instead of Member for fields**. Property and Member are very similar, but if you look at the TextMate fallback scopes, it's clear that Member is intended for function-like-things (methods?) and Property is intended for variable-like-things. **(4) Color `for` as a regular keyword when it's part of `impl Trait for Struct`**. **(5) Use `variable.other.constant` for constants instead of `entity.name.constant`**. In the latest VSCode insiders, variable.other.constant has a subtly different color that differentiates constants from ordinary variables. It looks close to the green of types but it's not the same---it's a new color recently added to take advantage of semantic coloring. I also made some minor changes that make the TextMate scopes better match the semantic scopes. The effect of this for the user is you observe less of a change when semantic coloring "activates". You can see the changes I made relative to the built-in TextMate grammar here: https://github.com/rust-analyzer/rust-analyzer/pull/4397/files/a91d15c80c337dd1afb0eddd5eb048010d098ac7..97428b6d52d25f810dbd7d7a8d787740c58bfbd2#diff-6966c729b862f79f79bf7258eb3e0885 Co-authored-by: George Fraser <[email protected]>
| * | | | | | Put sigil back to keyword.operatorGeorge Fraser2020-05-101-2/+2
| | | | | | |
| * | | | | | Change lifetimes back to keyword-ish, tweak builtins for consistency between ↵George Fraser2020-05-102-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | TextMate and semantic
| * | | | | | Color `for` as a regular keyword when it's part of impl _ for _George Fraser2020-05-103-1/+28
| | | | | | |
| * | | | | | Color `in` as a control keywordGeorge Fraser2020-05-103-1/+10
| | | | | | |
| * | | | | | Color `as` as a keywordGeorge Fraser2020-05-101-2/+2
| | | | | | |
| * | | | | | No longer trueGeorge Fraser2020-05-101-6/+0
| | | | | | |
| * | | | | | Color core types as types, not keywordsGeorge Fraser2020-05-101-5/+5
| | | | | | |
| * | | | | | Color sigil like keywordGeorge Fraser2020-05-101-1/+1
| | | | | | |
| * | | | | | Color lifetimes like typesGeorge Fraser2020-05-101-12/+4
| | | | | | |
| * | | | | | Import built-in textmate grammar, with no changesGeorge Fraser2020-05-103-0/+698
| | | | | | |
| * | | | | | Use Property instead of Member for fieldsGeorge Fraser2020-05-101-1/+1
| | | | | | |
| * | | | | | Tweak the textmate fallback scopes to be consistent with builtin TextMate ↵George Fraser2020-05-101-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | grammar and other languages
* | | | | | | Merge #4403bors[bot]2020-05-114-33/+52
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4403: Check client capabilities before sending progress notifications r=kjeremy a=kjeremy Fixes #4384 Co-authored-by: Jeremy Kolb <[email protected]>
| * | | | | | | Check client capabilities before sending progress notificationsJeremy Kolb2020-05-114-33/+52
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | Fixes #4384
* | | | | | | Merge #4424bors[bot]2020-05-113-3/+3
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4424: Use RA_LOG instead of RUST_LOG for logging r=matklad a=matklad RUST_LOG might be set up for debugging the user's problem, slowing down rust-analyzer considerably. That's the same reason why rustc uses RUSTC_LOG. bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | | Use RA_LOG instead of RUST_LOG for loggingAleksey Kladov2020-05-113-3/+3
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RUST_LOG might be set up for debugging the user's problem, slowing down rust-analyzer considerably. That's the same reason why rustc uses RUSTC_LOG.
* | | | | | Merge #4421bors[bot]2020-05-113-10/+47
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4421: Find references to a function outside module r=flodiebold a=montekki Fixes #4188 Yet again, it looks like although the code in https://github.com/rust-analyzer/rust-analyzer/blob/da1f316b0246ce41d7cb8560181e294089f06ef3/crates/ra_ide_db/src/search.rs#L128-L132 may be wrong, it is not hit since the `vis` is `None` at this point. The fix is similar to the #4237 case: just add another special case to `Definition::visibility()`. Co-authored-by: Fedor Sakharov <[email protected]>
| * | | | | New definition_visibility methodFedor Sakharov2020-05-112-13/+22
| | | | | |
| * | | | | Also for consts and type aliasesFedor Sakharov2020-05-111-0/+2
| | | | | |
| * | | | | Find references to a function outside moduleFedor Sakharov2020-05-112-0/+26
| | |_|/ / | |/| | |
* | | | | Merge #4419bors[bot]2020-05-111-2/+2
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4419: :arrow_up: ra_vfs r=matklad a=matklad Fix a critical bug where \r\n line endings would accidentally sneak in after in-memory overlay removal. bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | :arrow_up: ra_vfsAleksey Kladov2020-05-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Fix a critical bug where \r\n line endings would accidentally sneak in after in-memory overlay removal.
* | | | | Merge #4396bors[bot]2020-05-101-1/+6
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4396: Improve panic message for ast_from_text r=jonas-schievink a=edwin0cheng Related: #4368 Co-authored-by: Edwin Cheng <[email protected]>
| * | | | Improve panic message for ast_from_textEdwin Cheng2020-05-091-1/+6
| | | | |
| | | | |
| \ \ \ \
*-. \ \ \ \ Merge #4394 #4414bors[bot]2020-05-1011-47/+99
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4394: Simplify r=matklad a=Veetaha 4414: Highlighting improvements r=matklad a=matthewjasper - `static mut`s are highlighted as `mutable`. - The name of the macro declared by `macro_rules!` is now highlighted. Co-authored-by: veetaha <[email protected]> Co-authored-by: Matthew Jasper <[email protected]>
| | * | | | | Highlight the name in macro declarationsMatthew Jasper2020-05-103-3/+18
| | | | | | |
| | * | | | | Highlight mutable statics as mutableMatthew Jasper2020-05-107-13/+56
| | | |/ / / | | |/| | |
| * | | | | Simplify matchveetaha2020-05-091-4/+3
| | | | | |
| * | | | | Simplify crate graph creationveetaha2020-05-091-22/+16
| | | | | |
| * | | | | Simplifyveetaha2020-05-091-5/+6
| | | | | |
| | | | | |
| \ \ \ \ \
| \ \ \ \ \
| \ \ \ \ \
| \ \ \ \ \
| \ \ \ \ \
*-----. \ \ \ \ \ Merge #4406 #4410 #4411 #4417bors[bot]2020-05-1014-97/+285
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4406: Update cargo-metadata r=matklad a=edwin0cheng This PR update `cargo-metadata` to 0.10.0 and it also relax the` serde-derive` deps to 1.0 for tests in `proc-macro-srv`. cc @robojumper r= @matklad , I think you would have something to say related to https://github.com/serde-rs/json/issues/647#issue-593788429 ? 4410: Improve wording in comment r=matklad a=edwin0cheng 4411: do not remove then block when you unwrap else block #4361 r=matklad a=bnjjj close #4361 4417: Omit default types in HirDisplay SourceCode mode r=matklad a=TimoFreiberg Closes #4390 Co-authored-by: Edwin Cheng <[email protected]> Co-authored-by: Benjamin Coenen <[email protected]> Co-authored-by: Timo Freiberg <[email protected]>
| | | | * | | | | | Omit default types in HirDisplay SourceCode modeTimo Freiberg2020-05-103-28/+64
| | | | | |_|_|_|/ | | | | |/| | | |
| | | * | | | | | do not remove then block when you unwrap else block #4361Benjamin Coenen2020-05-101-28/+193
| | | | |_|/ / / | | | |/| | | | | | | | | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
| | * / | | | | Word fixEdwin Cheng2020-05-101-1/+1
| | |/ / / / /
| * | | | | | Remove dbgEdwin Cheng2020-05-091-1/+1
| | | | | | |
| * | | | | | Update cargo-metadataEdwin Cheng2020-05-099-41/+28
| | |_|_|/ / | |/| | | |
* | | | | | Merge #4418bors[bot]2020-05-1011-1123/+999
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4418: Refactor protocol handling r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | req -> lsp_extAleksey Kladov2020-05-107-53/+58
| | | | | |
| * | | | | Don't re-export lsp_typesAleksey Kladov2020-05-103-119/+119
| | | | | |
| * | | | | Better fn signatureAleksey Kladov2020-05-101-4/+8
| | | | | |
| * | | | | to_proto::semantic_tokensAleksey Kladov2020-05-102-34/+33
| | | | | |
| * | | | | Simplify proto conversionAleksey Kladov2020-05-108-939/+807
| | |/ / / | |/| | | | | | | | | | | | | | | | | | Trait based infra in conv.rs is significantly more complicated than what we actually need here.
* | | | | Merge #4412bors[bot]2020-05-102-1/+31
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4412: infer: Make expected rhs type for plain assign the lhs type r=flodiebold a=kiljacken This fixes an issue where the following code sample would fail to infer the type contained in the option: ```rust fn main() { let mut end = None; // Was Option<{unknown}>, is now Option<bool> loop { end = Some(true); } } ``` Co-authored-by: Emil Lauridsen <[email protected]>
| * | | | infer: Make expected rhs type for plain assign the lhs typeEmil Lauridsen2020-05-102-1/+31
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes an issue where the following code sample would fail to infer the type contained in the option: ```rust fn main() { let mut end = None; // TODO: Fix inference for this in RA loop { end = Some(true); } } ```
* | | | Merge #4409bors[bot]2020-05-101-7/+12
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4409: Hot fix panic for function_signature r=edwin0cheng a=edwin0cheng I am totally agree this comment: https://github.com/rust-analyzer/rust-analyzer/blob/f1cb5b8a29ce509bf1f8d6df97d4b6586b9a2dac/crates/ra_ide/src/display/function_signature.rs#L3-L4 But let hot fix all panic for right now, it is so disturbing when browsing code... Co-authored-by: Edwin Cheng <[email protected]>
| * | | | Remove dbgEdwin Cheng2020-05-101-1/+0
| | | | |
| * | | | Hot fix panic for function_signatureEdwin Cheng2020-05-101-7/+13
|/ / / /
* | | | Merge #4392bors[bot]2020-05-091-14/+11
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4392: Add From should not move the cursor r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>