aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide/src
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2020-07-11 13:50:00 +0100
committerAleksey Kladov <[email protected]>2020-07-11 13:51:41 +0100
commite1d6b7f7c48d82c3c03550bc702e64cd7d079c99 (patch)
tree5b39f39acd93780faa5809dda2b11cec106ad182 /crates/ra_ide/src
parent87ddcba05fe1a80e293565cd09a61c83adc6bc7d (diff)
Use dedicated semantic highlight tag for parameters
closes #5106
Diffstat (limited to 'crates/ra_ide/src')
-rw-r--r--crates/ra_ide/src/syntax_highlighting.rs5
-rw-r--r--crates/ra_ide/src/syntax_highlighting/html.rs5
-rw-r--r--crates/ra_ide/src/syntax_highlighting/tags.rs2
3 files changed, 8 insertions, 4 deletions
diff --git a/crates/ra_ide/src/syntax_highlighting.rs b/crates/ra_ide/src/syntax_highlighting.rs
index 028b55902..5bb6f9642 100644
--- a/crates/ra_ide/src/syntax_highlighting.rs
+++ b/crates/ra_ide/src/syntax_highlighting.rs
@@ -630,9 +630,10 @@ fn highlight_name(db: &RootDatabase, def: Definition) -> Highlight {
630 }, 630 },
631 Definition::SelfType(_) => HighlightTag::SelfType, 631 Definition::SelfType(_) => HighlightTag::SelfType,
632 Definition::TypeParam(_) => HighlightTag::TypeParam, 632 Definition::TypeParam(_) => HighlightTag::TypeParam,
633 // FIXME: distinguish between locals and parameters
634 Definition::Local(local) => { 633 Definition::Local(local) => {
635 let mut h = Highlight::new(HighlightTag::Local); 634 let tag =
635 if local.is_param(db) { HighlightTag::ValueParam } else { HighlightTag::Local };
636 let mut h = Highlight::new(tag);
636 if local.is_mut(db) || local.ty(db).is_mutable_reference() { 637 if local.is_mut(db) || local.ty(db).is_mutable_reference() {
637 h |= HighlightModifier::Mutable; 638 h |= HighlightModifier::Mutable;
638 } 639 }
diff --git a/crates/ra_ide/src/syntax_highlighting/html.rs b/crates/ra_ide/src/syntax_highlighting/html.rs
index 0c74f7370..0be55bca9 100644
--- a/crates/ra_ide/src/syntax_highlighting/html.rs
+++ b/crates/ra_ide/src/syntax_highlighting/html.rs
@@ -83,14 +83,15 @@ pre { color: #DCDCCC; background: #3F3F3F; font-size: 22px; padd
83.bool_literal { color: #BFE6EB; } 83.bool_literal { color: #BFE6EB; }
84.macro { color: #94BFF3; } 84.macro { color: #94BFF3; }
85.module { color: #AFD8AF; } 85.module { color: #AFD8AF; }
86.value_param { color: #DCDCCC; }
86.variable { color: #DCDCCC; } 87.variable { color: #DCDCCC; }
87.format_specifier { color: #CC696B; } 88.format_specifier { color: #CC696B; }
88.mutable { text-decoration: underline; } 89.mutable { text-decoration: underline; }
89.unresolved_reference { color: #FC5555; }
90.escape_sequence { color: #94BFF3; } 90.escape_sequence { color: #94BFF3; }
91
92.keyword { color: #F0DFAF; font-weight: bold; } 91.keyword { color: #F0DFAF; font-weight: bold; }
93.keyword.unsafe { color: #BC8383; font-weight: bold; } 92.keyword.unsafe { color: #BC8383; font-weight: bold; }
94.control { font-style: italic; } 93.control { font-style: italic; }
94
95.unresolved_reference { color: #FC5555; text-decoration: wavy underline; }
95</style> 96</style>
96"; 97";
diff --git a/crates/ra_ide/src/syntax_highlighting/tags.rs b/crates/ra_ide/src/syntax_highlighting/tags.rs
index 13d9dd195..719c6ed3c 100644
--- a/crates/ra_ide/src/syntax_highlighting/tags.rs
+++ b/crates/ra_ide/src/syntax_highlighting/tags.rs
@@ -41,6 +41,7 @@ pub enum HighlightTag {
41 TypeAlias, 41 TypeAlias,
42 TypeParam, 42 TypeParam,
43 Union, 43 Union,
44 ValueParam,
44 Local, 45 Local,
45 UnresolvedReference, 46 UnresolvedReference,
46 FormatSpecifier, 47 FormatSpecifier,
@@ -95,6 +96,7 @@ impl HighlightTag {
95 HighlightTag::TypeAlias => "type_alias", 96 HighlightTag::TypeAlias => "type_alias",
96 HighlightTag::TypeParam => "type_param", 97 HighlightTag::TypeParam => "type_param",
97 HighlightTag::Union => "union", 98 HighlightTag::Union => "union",
99 HighlightTag::ValueParam => "value_param",
98 HighlightTag::Local => "variable", 100 HighlightTag::Local => "variable",
99 HighlightTag::UnresolvedReference => "unresolved_reference", 101 HighlightTag::UnresolvedReference => "unresolved_reference",
100 } 102 }