From 083010f6339e558184f06ce76a18e1ad0b0ee936 Mon Sep 17 00:00:00 2001 From: Omer Ben-Amram <omerbenamram@gmail.com> Date: Sat, 14 Dec 2019 13:29:42 +0200 Subject: removed `type.alias` --- crates/ra_ide/src/snapshots/highlighting.html | 26 ++++++++++++++------------ crates/ra_ide/src/syntax_highlighting.rs | 6 ++++-- editors/code/package.json | 9 +++++++++ editors/code/src/highlighting.ts | 1 + 4 files changed, 28 insertions(+), 14 deletions(-) diff --git a/crates/ra_ide/src/snapshots/highlighting.html b/crates/ra_ide/src/snapshots/highlighting.html index 4166a8f90..40605d9ef 100644 --- a/crates/ra_ide/src/snapshots/highlighting.html +++ b/crates/ra_ide/src/snapshots/highlighting.html @@ -10,8 +10,10 @@ pre { color: #DCDCCC; background: #3F3F3F; font-size: 22px; padd .builtin { color: #DD6718; } .text { color: #DCDCCC; } .type { color: #7CB8BB; } +.type\.param { color: #20999D; } .attribute { color: #94BFF3; } .literal { color: #BFEBBF; } +.literal\.numeric { color: #6A8759; } .macro { color: #94BFF3; } .variable { color: #DCDCCC; } .variable\.mut { color: #DCDCCC; text-decoration: underline; } @@ -22,36 +24,36 @@ pre { color: #DCDCCC; background: #3F3F3F; font-size: 22px; padd </style> <pre><code><span class="attribute">#</span><span class="attribute">[</span><span class="attribute">derive</span><span class="attribute">(</span><span class="attribute">Clone</span><span class="attribute">,</span><span class="attribute"> </span><span class="attribute">Debug</span><span class="attribute">)</span><span class="attribute">]</span> <span class="keyword">struct</span> <span class="type">Foo</span> { - <span class="keyword">pub</span> <span class="field">x</span>: <span class="type">i32</span>, - <span class="keyword">pub</span> <span class="field">y</span>: <span class="type">i32</span>, + <span class="keyword">pub</span> <span class="field">x</span>: <span class="type.builtin">i32</span>, + <span class="keyword">pub</span> <span class="field">y</span>: <span class="type.builtin">i32</span>, } -<span class="keyword">fn</span> <span class="function">foo</span><<span class="type">T</span>>() -> <span class="type">T</span> { +<span class="keyword">fn</span> <span class="function">foo</span><<span class="type.param">T</span>>() -> <span class="type.param">T</span> { <span class="macro">unimplemented</span><span class="macro">!</span>(); - <span class="function">foo</span>::<<span class="type">i32</span>>(); + <span class="function">foo</span>::<<span class="type.builtin">i32</span>>(); } <span class="comment">// comment</span> <span class="keyword">fn</span> <span class="function">main</span>() { - <span class="macro">println</span><span class="macro">!</span>(<span class="string">"Hello, {}!"</span>, <span class="literal">92</span>); + <span class="macro">println</span><span class="macro">!</span>(<span class="string">"Hello, {}!"</span>, <span class="literal.numeric">92</span>); <span class="keyword">let</span> <span class="keyword">mut</span> <span class="variable.mut">vec</span> = <span class="text">Vec</span>::<span class="text">new</span>(); <span class="keyword.control">if</span> <span class="keyword">true</span> { - <span class="variable.mut">vec</span>.<span class="text">push</span>(<span class="type">Foo</span> { <span class="field">x</span>: <span class="literal">0</span>, <span class="field">y</span>: <span class="literal">1</span> }); + <span class="variable.mut">vec</span>.<span class="text">push</span>(<span class="type">Foo</span> { <span class="field">x</span>: <span class="literal.numeric">0</span>, <span class="field">y</span>: <span class="literal.numeric">1</span> }); } - <span class="keyword.unsafe">unsafe</span> { <span class="variable.mut">vec</span>.<span class="text">set_len</span>(<span class="literal">0</span>); } + <span class="keyword.unsafe">unsafe</span> { <span class="variable.mut">vec</span>.<span class="text">set_len</span>(<span class="literal.numeric">0</span>); } - <span class="keyword">let</span> <span class="keyword">mut</span> <span class="variable.mut">x</span> = <span class="literal">42</span>; + <span class="keyword">let</span> <span class="keyword">mut</span> <span class="variable.mut">x</span> = <span class="literal.numeric">42</span>; <span class="keyword">let</span> <span class="variable.mut">y</span> = &<span class="keyword">mut</span> <span class="variable.mut">x</span>; <span class="keyword">let</span> <span class="variable">z</span> = &<span class="variable.mut">y</span>; <span class="variable.mut">y</span>; } -<span class="keyword">enum</span> <span class="type">E</span><<span class="type">X</span>> { - <span class="constant">V</span>(<span class="type">X</span>) +<span class="keyword">enum</span> <span class="type">E</span><<span class="type.param">X</span>> { + <span class="constant">V</span>(<span class="type.param">X</span>) } -<span class="keyword">impl</span><<span class="type">X</span>> <span class="type">E</span><<span class="type">X</span>> { - <span class="keyword">fn</span> <span class="function">new</span><<span class="type">T</span>>() -> <span class="type">E</span><<span class="type">T</span>> {} +<span class="keyword">impl</span><<span class="type.param">X</span>> <span class="type">E</span><<span class="type.param">X</span>> { + <span class="keyword">fn</span> <span class="function">new</span><<span class="type.param">T</span>>() -> <span class="type">E</span><<span class="type.param">T</span>> {} }</code></pre> \ No newline at end of file diff --git a/crates/ra_ide/src/syntax_highlighting.rs b/crates/ra_ide/src/syntax_highlighting.rs index 7be25b234..235e09ffc 100644 --- a/crates/ra_ide/src/syntax_highlighting.rs +++ b/crates/ra_ide/src/syntax_highlighting.rs @@ -118,7 +118,7 @@ pub(crate) fn highlight(db: &RootDatabase, file_id: FileId) -> Vec<HighlightedRa INT_NUMBER | FLOAT_NUMBER => "literal.numeric", BYTE => "literal.byte", CHAR => "literal.char", - LIFETIME => "lifetime", + LIFETIME => "type.lifetime", T![unsafe] => "keyword.unsafe", k if is_control_keyword(k) => "keyword.control", k if k.is_keyword() => "keyword", @@ -218,7 +218,7 @@ fn highlight_name(db: &RootDatabase, name_kind: NameKind) -> &'static str { Field(_) => "field", AssocItem(hir::AssocItem::Function(_)) => "function", AssocItem(hir::AssocItem::Const(_)) => "constant", - AssocItem(hir::AssocItem::TypeAlias(_)) => "type.alias", + AssocItem(hir::AssocItem::TypeAlias(_)) => "type", Def(hir::ModuleDef::Module(_)) => "module", Def(hir::ModuleDef::Function(_)) => "function", Def(hir::ModuleDef::Adt(_)) => "type", @@ -259,8 +259,10 @@ pre { color: #DCDCCC; background: #3F3F3F; font-size: 22px; padd .builtin { color: #DD6718; } .text { color: #DCDCCC; } .type { color: #7CB8BB; } +.type\\.param { color: #20999D; } .attribute { color: #94BFF3; } .literal { color: #BFEBBF; } +.literal\\.numeric { color: #6A8759; } .macro { color: #94BFF3; } .variable { color: #DCDCCC; } .variable\\.mut { color: #DCDCCC; text-decoration: underline; } diff --git a/editors/code/package.json b/editors/code/package.json index c24e73d24..68b3b6e05 100644 --- a/editors/code/package.json +++ b/editors/code/package.json @@ -485,6 +485,15 @@ "highContrast": "#4EC9B0" } }, + { + "id": "ralsp.type.lifetime", + "description": "Color for `Self` param type", + "defaults": { + "dark": "#4EC9B0", + "light": "#267F99", + "highContrast": "#4EC9B0" + } + }, { "id": "ralsp.type.self", "description": "Color for `Self` param type", diff --git a/editors/code/src/highlighting.ts b/editors/code/src/highlighting.ts index 2c8a98aa6..d7c0ae131 100644 --- a/editors/code/src/highlighting.ts +++ b/editors/code/src/highlighting.ts @@ -56,6 +56,7 @@ export class Highlighter { decoration('type.self'), decoration('type.generic'), decoration('type.param'), + decoration('type.lifetime'), decoration('builtin'), decoration('text'), decoration('attribute'), -- cgit v1.2.3