1 19 20 package org.netbeans.lib.lexer.test.simple; 21 22 import java.util.Collection ; 23 import java.util.EnumSet ; 24 import org.netbeans.api.lexer.InputAttributes; 25 import org.netbeans.api.lexer.Language; 26 import org.netbeans.api.lexer.LanguagePath; 27 import org.netbeans.api.lexer.Token; 28 import org.netbeans.api.lexer.TokenId; 29 import org.netbeans.spi.lexer.LanguageEmbedding; 30 import org.netbeans.spi.lexer.LanguageHierarchy; 31 import org.netbeans.spi.lexer.Lexer; 32 import org.netbeans.spi.lexer.LexerRestartInfo; 33 34 39 public enum SimplePlainTokenId implements TokenId { 40 41 WORD, 42 WHITESPACE("whitespace"); 43 44 private final String primaryCategory; 45 46 SimplePlainTokenId() { 47 this(null); 48 } 49 50 SimplePlainTokenId(String primaryCategory) { 51 this.primaryCategory = primaryCategory; 52 } 53 54 public String primaryCategory() { 55 return primaryCategory; 56 } 57 58 private static final Language<SimplePlainTokenId> language 59 = new LanguageHierarchy<SimplePlainTokenId>() { 60 61 @Override 62 protected Collection <SimplePlainTokenId> createTokenIds() { 63 return EnumSet.allOf(SimplePlainTokenId.class); 64 } 65 66 @Override 67 public Lexer<SimplePlainTokenId> createLexer(LexerRestartInfo<SimplePlainTokenId> info) { 68 return new SimplePlainLexer(info); 69 } 70 71 @Override 72 protected LanguageEmbedding<? extends TokenId> embedding( 73 Token<SimplePlainTokenId> token, LanguagePath languagePath, InputAttributes inputAttributes) { 74 return null; } 76 77 @Override 78 protected String mimeType() { 79 return "text/x-simple-plain"; 80 } 81 82 }.language(); 83 84 public static Language<SimplePlainTokenId> language() { 85 return language; 86 } 87 88 } 89 | Popular Tags |