aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--crates/ra_ide/src/snapshots/highlighting.html8
-rw-r--r--crates/ra_ide/src/syntax_highlighting.rs1
-rw-r--r--crates/ra_ide/src/syntax_highlighting/tags.rs2
-rw-r--r--crates/rust-analyzer/src/semantic_tokens.rs1
-rw-r--r--crates/rust-analyzer/src/to_proto.rs1
-rw-r--r--editors/code/package.json10
6 files changed, 19 insertions, 4 deletions
diff --git a/crates/ra_ide/src/snapshots/highlighting.html b/crates/ra_ide/src/snapshots/highlighting.html
index 198139220..352e35095 100644
--- a/crates/ra_ide/src/snapshots/highlighting.html
+++ b/crates/ra_ide/src/snapshots/highlighting.html
@@ -35,12 +35,12 @@ pre { color: #DCDCCC; background: #3F3F3F; font-size: 22px; padd
35} 35}
36 36
37<span class="keyword">trait</span> <span class="trait declaration">Bar</span> { 37<span class="keyword">trait</span> <span class="trait declaration">Bar</span> {
38 <span class="keyword">fn</span> <span class="function declaration">bar</span>(&<span class="keyword">self</span>) -&gt; <span class="builtin_type">i32</span>; 38 <span class="keyword">fn</span> <span class="function declaration">bar</span>(&<span class="self_keyword">self</span>) -&gt; <span class="builtin_type">i32</span>;
39} 39}
40 40
41<span class="keyword">impl</span> <span class="trait">Bar</span> <span class="keyword">for</span> <span class="struct">Foo</span> { 41<span class="keyword">impl</span> <span class="trait">Bar</span> <span class="keyword">for</span> <span class="struct">Foo</span> {
42 <span class="keyword">fn</span> <span class="function declaration">bar</span>(&<span class="keyword">self</span>) -&gt; <span class="builtin_type">i32</span> { 42 <span class="keyword">fn</span> <span class="function declaration">bar</span>(&<span class="self_keyword">self</span>) -&gt; <span class="builtin_type">i32</span> {
43 <span class="keyword">self</span>.<span class="field">x</span> 43 <span class="self_keyword">self</span>.<span class="field">x</span>
44 } 44 }
45} 45}
46 46
@@ -92,7 +92,7 @@ pre { color: #DCDCCC; background: #3F3F3F; font-size: 22px; padd
92<span class="keyword">use</span> <span class="enum">Option</span>::*; 92<span class="keyword">use</span> <span class="enum">Option</span>::*;
93 93
94<span class="keyword">impl</span>&lt;<span class="type_param declaration">T</span>&gt; <span class="enum">Option</span>&lt;<span class="type_param">T</span>&gt; { 94<span class="keyword">impl</span>&lt;<span class="type_param declaration">T</span>&gt; <span class="enum">Option</span>&lt;<span class="type_param">T</span>&gt; {
95 <span class="keyword">fn</span> <span class="function declaration">and</span>&lt;<span class="type_param declaration">U</span>&gt;(<span class="keyword">self</span>, <span class="variable declaration">other</span>: <span class="enum">Option</span>&lt;<span class="type_param">U</span>&gt;) -&gt; <span class="enum">Option</span>&lt;(<span class="type_param">T</span>, <span class="type_param">U</span>)&gt; { 95 <span class="keyword">fn</span> <span class="function declaration">and</span>&lt;<span class="type_param declaration">U</span>&gt;(<span class="self_keyword">self</span>, <span class="variable declaration">other</span>: <span class="enum">Option</span>&lt;<span class="type_param">U</span>&gt;) -&gt; <span class="enum">Option</span>&lt;(<span class="type_param">T</span>, <span class="type_param">U</span>)&gt; {
96 <span class="keyword control">match</span> <span class="variable">other</span> { 96 <span class="keyword control">match</span> <span class="variable">other</span> {
97 <span class="enum_variant">None</span> =&gt; <span class="macro">unimplemented!</span>(), 97 <span class="enum_variant">None</span> =&gt; <span class="macro">unimplemented!</span>(),
98 <span class="variable declaration">Nope</span> =&gt; <span class="variable">Nope</span>, 98 <span class="variable declaration">Nope</span> =&gt; <span class="variable">Nope</span>,
diff --git a/crates/ra_ide/src/syntax_highlighting.rs b/crates/ra_ide/src/syntax_highlighting.rs
index 61aeb28cb..8a995d779 100644
--- a/crates/ra_ide/src/syntax_highlighting.rs
+++ b/crates/ra_ide/src/syntax_highlighting.rs
@@ -414,6 +414,7 @@ fn highlight_element(
414 T![for] if !is_child_of_impl(element) => h | HighlightModifier::ControlFlow, 414 T![for] if !is_child_of_impl(element) => h | HighlightModifier::ControlFlow,
415 T![unsafe] => h | HighlightModifier::Unsafe, 415 T![unsafe] => h | HighlightModifier::Unsafe,
416 T![true] | T![false] => HighlightTag::BoolLiteral.into(), 416 T![true] | T![false] => HighlightTag::BoolLiteral.into(),
417 T![self] => HighlightTag::SelfKeyword.into(),
417 _ => h, 418 _ => h,
418 } 419 }
419 } 420 }
diff --git a/crates/ra_ide/src/syntax_highlighting/tags.rs b/crates/ra_ide/src/syntax_highlighting/tags.rs
index 09652a5b1..46c718c91 100644
--- a/crates/ra_ide/src/syntax_highlighting/tags.rs
+++ b/crates/ra_ide/src/syntax_highlighting/tags.rs
@@ -30,6 +30,7 @@ pub enum HighlightTag {
30 Macro, 30 Macro,
31 Module, 31 Module,
32 NumericLiteral, 32 NumericLiteral,
33 SelfKeyword,
33 SelfType, 34 SelfType,
34 Static, 35 Static,
35 StringLiteral, 36 StringLiteral,
@@ -76,6 +77,7 @@ impl HighlightTag {
76 HighlightTag::Macro => "macro", 77 HighlightTag::Macro => "macro",
77 HighlightTag::Module => "module", 78 HighlightTag::Module => "module",
78 HighlightTag::NumericLiteral => "numeric_literal", 79 HighlightTag::NumericLiteral => "numeric_literal",
80 HighlightTag::SelfKeyword => "self_keyword",
79 HighlightTag::SelfType => "self_type", 81 HighlightTag::SelfType => "self_type",
80 HighlightTag::Static => "static", 82 HighlightTag::Static => "static",
81 HighlightTag::StringLiteral => "string_literal", 83 HighlightTag::StringLiteral => "string_literal",
diff --git a/crates/rust-analyzer/src/semantic_tokens.rs b/crates/rust-analyzer/src/semantic_tokens.rs
index 9b775871f..6f125c37c 100644
--- a/crates/rust-analyzer/src/semantic_tokens.rs
+++ b/crates/rust-analyzer/src/semantic_tokens.rs
@@ -40,6 +40,7 @@ define_semantic_token_types![
40 (BUILTIN_TYPE, "builtinType"), 40 (BUILTIN_TYPE, "builtinType"),
41 (ENUM_MEMBER, "enumMember"), 41 (ENUM_MEMBER, "enumMember"),
42 (LIFETIME, "lifetime"), 42 (LIFETIME, "lifetime"),
43 (SELF_KEYWORD, "selfKeyword"),
43 (TYPE_ALIAS, "typeAlias"), 44 (TYPE_ALIAS, "typeAlias"),
44 (UNION, "union"), 45 (UNION, "union"),
45 (UNRESOLVED_REFERENCE, "unresolvedReference"), 46 (UNRESOLVED_REFERENCE, "unresolvedReference"),
diff --git a/crates/rust-analyzer/src/to_proto.rs b/crates/rust-analyzer/src/to_proto.rs
index bb7594dbf..8e8e7033d 100644
--- a/crates/rust-analyzer/src/to_proto.rs
+++ b/crates/rust-analyzer/src/to_proto.rs
@@ -286,6 +286,7 @@ fn semantic_token_type_and_modifiers(
286 HighlightTag::TypeAlias => semantic_tokens::TYPE_ALIAS, 286 HighlightTag::TypeAlias => semantic_tokens::TYPE_ALIAS,
287 HighlightTag::Trait => lsp_types::SemanticTokenType::INTERFACE, 287 HighlightTag::Trait => lsp_types::SemanticTokenType::INTERFACE,
288 HighlightTag::BuiltinType => semantic_tokens::BUILTIN_TYPE, 288 HighlightTag::BuiltinType => semantic_tokens::BUILTIN_TYPE,
289 HighlightTag::SelfKeyword => semantic_tokens::SELF_KEYWORD,
289 HighlightTag::SelfType => lsp_types::SemanticTokenType::TYPE, 290 HighlightTag::SelfType => lsp_types::SemanticTokenType::TYPE,
290 HighlightTag::Field => lsp_types::SemanticTokenType::PROPERTY, 291 HighlightTag::Field => lsp_types::SemanticTokenType::PROPERTY,
291 HighlightTag::Function => lsp_types::SemanticTokenType::FUNCTION, 292 HighlightTag::Function => lsp_types::SemanticTokenType::FUNCTION,
diff --git a/editors/code/package.json b/editors/code/package.json
index 2f14eaebd..acf3ca4b5 100644
--- a/editors/code/package.json
+++ b/editors/code/package.json
@@ -587,6 +587,11 @@
587 "description": "Style for attributes" 587 "description": "Style for attributes"
588 }, 588 },
589 { 589 {
590 "id": "boolean",
591 "description": "Style for boolean literals",
592 "superType": "keyword"
593 },
594 {
590 "id": "builtinType", 595 "id": "builtinType",
591 "description": "Style for builtin types", 596 "description": "Style for builtin types",
592 "superType": "type" 597 "superType": "type"
@@ -596,6 +601,11 @@
596 "description": "Style for lifetimes" 601 "description": "Style for lifetimes"
597 }, 602 },
598 { 603 {
604 "id": "selfKeyword",
605 "description": "Style for the self keyword",
606 "superType": "keyword"
607 },
608 {
599 "id": "typeAlias", 609 "id": "typeAlias",
600 "description": "Style for type aliases", 610 "description": "Style for type aliases",
601 "superType": "type" 611 "superType": "type"