package org.netbeans.freemarker.highlight;
import javax.swing.text.Document;
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 rostanek
*/
@MimeRegistration(mimeType = "text/x-ftl", service = HighlightsLayerFactory.class)
public class FTLHighlightFactory implements HighlightsLayerFactory {
public static FTLHighlighter getHighlighter(Document doc) {
FTLHighlighter highlighter = (FTLHighlighter) doc.getProperty(FTLHighlighter.class);
if (highlighter == null) {
doc.putProperty(FTLHighlighter.class, highlighter = new FTLHighlighter(doc));
}
return highlighter;
}
@Override
public HighlightsLayer[] createLayers(Context context) {
return new HighlightsLayer[]{
HighlightsLayer.create(
FTLHighlighter.class.getName(),
ZOrder.CARET_RACK.forPosition(2000),
true,
getHighlighter(context.getDocument()).getHighlightsBag())
};
}
}