package org.basex.gui.layout; import java.awt.Color; import org.basex.gui.GUIConstants; /** * This class defines syntax highlighting for JSON files. * * @author BaseX Team 2005-12, BSD License * @author Christian Gruen */ public final class JSONSyntax extends BaseXSyntax { /** Quoted flag. */ private boolean quoted; @Override public void init() { quoted = false; } @Override public Color getColor(final BaseXTextTokens text) { final int ch = text.curr(); final boolean quote = text.curr() == '"'; Color color = quoted || quote ? GUIConstants.BLUE : Color.black; if(!quoted) { if("{}[]".indexOf(ch) != -1) color = GUIConstants.RED; if(":,".indexOf(ch) != -1) color = GUIConstants.GRAY; } if(quote) quoted ^= true; return color; } }