1 19 20 package org.netbeans.modules.gsf; 21 22 import org.netbeans.api.gsf.GsfLanguage; 23 import org.netbeans.editor.DrawLayer; 24 import org.netbeans.editor.DrawLayerFactory; 25 import org.netbeans.editor.Formatter; 26 import org.netbeans.modules.editor.NbEditorDocument; 27 import org.netbeans.modules.gsf.Language; 28 import org.netbeans.modules.gsf.Language; 29 import org.netbeans.modules.retouche.editor.GsfFormatter; 30 31 36 public class GsfDocument extends NbEditorDocument { 37 private Language language; 38 private Formatter formatter; 39 40 public GsfDocument(Class kitClass, Language language) { 41 super(kitClass); 42 if (language.getGsfLanguage() != null) { 43 putProperty(org.netbeans.api.lexer.Language.class, language.getGsfLanguage().getLexerLanguage()); 44 } 45 46 this.language = language; 47 } 48 49 @Override 50 public boolean isIdentifierPart(char ch) { 51 GsfLanguage gsfLanguage = language.getGsfLanguage(); 52 if (gsfLanguage != null) { 53 return gsfLanguage.isIdentifierChar(ch); 54 } 55 56 return super.isIdentifierPart(ch); 57 } 58 59 @Override 60 public boolean addLayer(DrawLayer layer, int visibility) { 61 if (DrawLayerFactory.SyntaxLayer.class.equals(layer.getClass())) 62 return false; 63 64 return super.addLayer(layer, visibility); 65 } 66 67 @Override 68 public Formatter getFormatter() { 69 if (formatter == null) { 70 formatter = new GsfFormatter(getKitClass(), language, this); 71 } 72 73 return formatter; 74 } 75 } 76 | Popular Tags |