1 19 20 package org.netbeans.lib.lexer.test.simple; 21 22 import java.util.Collection ; 23 import java.util.EnumSet ; 24 import java.util.Map ; 25 import org.netbeans.api.lexer.InputAttributes; 26 import org.netbeans.api.lexer.Language; 27 import org.netbeans.api.lexer.LanguagePath; 28 import org.netbeans.api.lexer.Token; 29 import org.netbeans.api.lexer.TokenId; 30 import org.netbeans.spi.lexer.LanguageEmbedding; 31 import org.netbeans.spi.lexer.LanguageHierarchy; 32 import org.netbeans.spi.lexer.Lexer; 33 import org.netbeans.spi.lexer.LexerRestartInfo; 34 35 42 public enum SimpleJavadocTokenId implements TokenId { 43 44 IDENT("comment"), 45 TAG("javadoc-tag"), 46 HTML_TAG("html-tag"), 47 DOT("comment"), 48 HASH("comment"), 49 OTHER_TEXT("comment"); 50 51 private final String primaryCategory; 52 53 SimpleJavadocTokenId() { 54 this(null); 55 } 56 57 SimpleJavadocTokenId(String primaryCategory) { 58 this.primaryCategory = primaryCategory; 59 } 60 61 public String primaryCategory() { 62 return primaryCategory; 63 } 64 65 private static final Language<SimpleJavadocTokenId> language 66 = new LanguageHierarchy<SimpleJavadocTokenId>() { 67 @Override 68 protected Collection <SimpleJavadocTokenId> createTokenIds() { 69 return EnumSet.allOf(SimpleJavadocTokenId.class); 70 } 71 72 @Override 73 protected Map <String , Collection <SimpleJavadocTokenId>> createTokenCategories() { 74 return null; } 76 77 @Override 78 protected Lexer<SimpleJavadocTokenId> createLexer(LexerRestartInfo<SimpleJavadocTokenId> info) { 79 return new SimpleJavadocLexer(info); 80 } 81 82 @Override 83 protected LanguageEmbedding<? extends TokenId> embedding( 84 Token<SimpleJavadocTokenId> token, LanguagePath languagePath, InputAttributes inputAttributes) { 85 return null; } 87 88 @Override 89 protected String mimeType() { 90 return "text/x-javadoc"; 91 } 92 }.language(); 93 94 public static Language<SimpleJavadocTokenId> language() { 95 return language; 96 } 97 98 } 99 | Popular Tags |