Added highlighting for parameters.
This commit is contained in:
@@ -132,6 +132,7 @@ public class JetColorSettingsPage implements ColorSettingsPage {
|
|||||||
new AttributesDescriptor("Mutable variable, parameter or property", JetHighlightingColors.MUTABLE_VARIABLE),
|
new AttributesDescriptor("Mutable variable, parameter or property", JetHighlightingColors.MUTABLE_VARIABLE),
|
||||||
|
|
||||||
new AttributesDescriptor("Local variable", JetHighlightingColors.LOCAL_VARIABLE),
|
new AttributesDescriptor("Local variable", JetHighlightingColors.LOCAL_VARIABLE),
|
||||||
|
new AttributesDescriptor("Parameter", JetHighlightingColors.PARAMETER),
|
||||||
new AttributesDescriptor("Closure or anonymous object bound variable", JetHighlightingColors.WRAPPED_INTO_REF),
|
new AttributesDescriptor("Closure or anonymous object bound variable", JetHighlightingColors.WRAPPED_INTO_REF),
|
||||||
|
|
||||||
new AttributesDescriptor("Instance property", JetHighlightingColors.INSTANCE_PROPERTY),
|
new AttributesDescriptor("Instance property", JetHighlightingColors.INSTANCE_PROPERTY),
|
||||||
|
|||||||
@@ -161,14 +161,19 @@ public class JetHighlightingColors {
|
|||||||
CodeInsightColors.ANNOTATION_NAME_ATTRIBUTES.getDefaultAttributes()
|
CodeInsightColors.ANNOTATION_NAME_ATTRIBUTES.getDefaultAttributes()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
public static final TextAttributesKey MUTABLE_VARIABLE = TextAttributesKey.createTextAttributesKey(
|
||||||
|
"KOTLIN_MUTABLE_VARIABLE",
|
||||||
|
new TextAttributes(null, null, Color.BLACK, EffectType.LINE_UNDERSCORE, 0)
|
||||||
|
);
|
||||||
|
|
||||||
public static final TextAttributesKey LOCAL_VARIABLE = TextAttributesKey.createTextAttributesKey(
|
public static final TextAttributesKey LOCAL_VARIABLE = TextAttributesKey.createTextAttributesKey(
|
||||||
"KOTLIN_LOCAL_VARIABLE",
|
"KOTLIN_LOCAL_VARIABLE",
|
||||||
CodeInsightColors.LOCAL_VARIABLE_ATTRIBUTES.getDefaultAttributes()
|
CodeInsightColors.LOCAL_VARIABLE_ATTRIBUTES.getDefaultAttributes()
|
||||||
);
|
);
|
||||||
|
|
||||||
public static final TextAttributesKey MUTABLE_VARIABLE = TextAttributesKey.createTextAttributesKey(
|
public static final TextAttributesKey PARAMETER = TextAttributesKey.createTextAttributesKey(
|
||||||
"KOTLIN_MUTABLE_VARIABLE",
|
"KOTLIN_PARAMETER",
|
||||||
new TextAttributes(null, null, Color.BLACK, EffectType.LINE_UNDERSCORE, 0)
|
CodeInsightColors.PARAMETER_ATTRIBUTES.getDefaultAttributes()
|
||||||
);
|
);
|
||||||
|
|
||||||
public static final TextAttributesKey WRAPPED_INTO_REF = TextAttributesKey.createTextAttributesKey(
|
public static final TextAttributesKey WRAPPED_INTO_REF = TextAttributesKey.createTextAttributesKey(
|
||||||
|
|||||||
@@ -89,17 +89,23 @@ class VariablesHighlightingVisitor extends AfterAnalysisHighlightingVisitor {
|
|||||||
|
|
||||||
private void highlightVariable(@NotNull PsiElement elementToHighlight, @NotNull DeclarationDescriptor descriptor) {
|
private void highlightVariable(@NotNull PsiElement elementToHighlight, @NotNull DeclarationDescriptor descriptor) {
|
||||||
if (descriptor instanceof VariableDescriptor) {
|
if (descriptor instanceof VariableDescriptor) {
|
||||||
if (((VariableDescriptor)descriptor).isVar()) {
|
VariableDescriptor variableDescriptor = (VariableDescriptor) descriptor;
|
||||||
|
if (variableDescriptor.isVar()) {
|
||||||
holder.createInfoAnnotation(elementToHighlight, null).setTextAttributes(JetHighlightingColors.MUTABLE_VARIABLE);
|
holder.createInfoAnnotation(elementToHighlight, null).setTextAttributes(JetHighlightingColors.MUTABLE_VARIABLE);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (descriptor instanceof LocalVariableDescriptor) {
|
|
||||||
LocalVariableDescriptor variableDescriptor = (LocalVariableDescriptor) descriptor;
|
|
||||||
if (Boolean.TRUE.equals(bindingContext.get(MUST_BE_WRAPPED_IN_A_REF, variableDescriptor))) {
|
if (Boolean.TRUE.equals(bindingContext.get(MUST_BE_WRAPPED_IN_A_REF, variableDescriptor))) {
|
||||||
holder.createInfoAnnotation(elementToHighlight, "Wrapped into a ref-object to be modifier when captured in a closure").setTextAttributes(
|
holder.createInfoAnnotation(elementToHighlight, "Wrapped into a ref-object to be modifier when captured in a closure").setTextAttributes(
|
||||||
JetHighlightingColors.WRAPPED_INTO_REF);
|
JetHighlightingColors.WRAPPED_INTO_REF);
|
||||||
}
|
}
|
||||||
holder.createInfoAnnotation(elementToHighlight, null).setTextAttributes(JetHighlightingColors.LOCAL_VARIABLE);
|
|
||||||
|
if (descriptor instanceof LocalVariableDescriptor) {
|
||||||
|
holder.createInfoAnnotation(elementToHighlight, null).setTextAttributes(JetHighlightingColors.LOCAL_VARIABLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (descriptor instanceof ValueParameterDescriptor) {
|
||||||
|
holder.createInfoAnnotation(elementToHighlight, null).setTextAttributes(JetHighlightingColors.PARAMETER);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user