From c36f95563b8f65a53a2a3258876afb4e96d9c457 Mon Sep 17 00:00:00 2001 From: Ekaterina Tuzova Date: Wed, 23 Dec 2015 18:27:06 +0300 Subject: [PATCH] PY-9875 Incorrect syntax highlighting for function parameters --- .../jetbrains/python/validation/HighlightingAnnotator.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/python/src/com/jetbrains/python/validation/HighlightingAnnotator.java b/python/src/com/jetbrains/python/validation/HighlightingAnnotator.java index 0d935511c704..23dbf22eb104 100644 --- a/python/src/com/jetbrains/python/validation/HighlightingAnnotator.java +++ b/python/src/com/jetbrains/python/validation/HighlightingAnnotator.java @@ -17,6 +17,7 @@ package com.jetbrains.python.validation; import com.intellij.lang.ASTNode; import com.intellij.lang.annotation.Annotation; +import com.intellij.psi.PsiElement; import com.intellij.psi.util.PsiTreeUtil; import com.jetbrains.python.highlighting.PyHighlighter; import com.jetbrains.python.psi.*; @@ -29,7 +30,8 @@ public class HighlightingAnnotator extends PyAnnotator { public void visitPyParameter(PyParameter node) { PyFunction function = PsiTreeUtil.getParentOfType(node, PyFunction.class); if (function != null) { - Annotation annotation = getHolder().createInfoAnnotation(node, null); + final PsiElement anchor = node.hasDefaultValue() ? node.getFirstChild() : node; + final Annotation annotation = getHolder().createInfoAnnotation(anchor, null); annotation.setTextAttributes(node.isSelf() ? PyHighlighter.PY_SELF_PARAMETER : PyHighlighter.PY_PARAMETER); } }