/* * Copyright (c) 2012 Sam Harwell, Tunnel Vision Laboratories LLC * All rights reserved. * * The source code of this document is proprietary work, and is not licensed for * distribution. For information about licensing, contact Sam Harwell at: * sam@tunnelvisionlabs.com */ package org.antlr.works.editor.grammar.highlighter; import javax.swing.text.StyledDocument; import org.antlr.works.editor.grammar.GrammarEditorKit; import org.netbeans.api.editor.mimelookup.MimeRegistration; import org.netbeans.spi.editor.highlighting.HighlightsLayer; import org.netbeans.spi.editor.highlighting.HighlightsLayerFactory; import org.netbeans.spi.editor.highlighting.ZOrder; /** * * @author Sam Harwell */ @MimeRegistration(mimeType=GrammarEditorKit.GRAMMAR_MIME_TYPE, service=HighlightsLayerFactory.class) public class GrammarHighlighterLayerFactory implements HighlightsLayerFactory { @Override public HighlightsLayer[] createLayers(Context context) { if (!(context.getDocument() instanceof StyledDocument)) return new HighlightsLayer[0]; StyledDocument document = (StyledDocument)context.getDocument(); GrammarHighlighter highlighter = new GrammarHighlighter(document); highlighter.initialize(); return new HighlightsLayer[] { HighlightsLayer.create(GrammarHighlighter.class.getName(), ZOrder.SYNTAX_RACK, true, highlighter) }; } }