diff --git a/json/src/com/intellij/json/highlighting/JsonRainbowVisitor.java b/json/src/com/intellij/json/highlighting/JsonRainbowVisitor.java new file mode 100644 index 000000000000..bebe022d6af1 --- /dev/null +++ b/json/src/com/intellij/json/highlighting/JsonRainbowVisitor.java @@ -0,0 +1,30 @@ +// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package com.intellij.json.highlighting; + +import com.intellij.codeInsight.daemon.RainbowVisitor; +import com.intellij.codeInsight.daemon.impl.HighlightVisitor; +import com.intellij.json.psi.JsonFile; +import com.intellij.json.psi.JsonProperty; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiFile; +import org.jetbrains.annotations.NotNull; + +public class JsonRainbowVisitor extends RainbowVisitor { + @Override + public boolean suitableForFile(@NotNull PsiFile file) { + return file instanceof JsonFile; + } + + @Override + public void visit(@NotNull PsiElement element) { + if (element instanceof JsonProperty) { + addInfo(getInfo(element.getContainingFile(), element, ((JsonProperty)element).getName(), JsonSyntaxHighlighterFactory.JSON_PROPERTY_KEY)); + } + } + + @NotNull + @Override + public HighlightVisitor clone() { + return new JsonRainbowVisitor(); + } +} diff --git a/platform/platform-resources/src/META-INF/JsonPlugin.xml b/platform/platform-resources/src/META-INF/JsonPlugin.xml index aec0bb12d234..bde5fdaf60a7 100644 --- a/platform/platform-resources/src/META-INF/JsonPlugin.xml +++ b/platform/platform-resources/src/META-INF/JsonPlugin.xml @@ -108,6 +108,7 @@ +