1 19 package org.netbeans.modules.ruby; 20 21 import org.netbeans.modules.ruby.lexer.RubyCommentTokenId; 22 import org.netbeans.modules.ruby.lexer.RubyStringTokenId; 23 import org.netbeans.modules.ruby.lexer.RubyTokenId; 24 import java.util.ArrayList ; 25 import java.util.List ; 26 27 import org.netbeans.api.gsf.GsfTokenId; 28 import org.netbeans.api.lexer.Language; 29 import org.netbeans.api.gsf.GsfLanguage; 30 import org.netbeans.api.lexer.TokenId; 31 32 33 38 public class RubyLanguage implements GsfLanguage { 39 public RubyLanguage() { 40 } 41 42 public List <? extends TokenId> getRelevantTokenTypes() { 43 List <TokenId> list = new ArrayList <TokenId>(30); 44 list.addAll(RubyTokenId.getUsedTokens()); 45 list.add(RubyStringTokenId.STRING_TEXT); 46 list.add(RubyStringTokenId.STRING_ESCAPE); 47 list.add(RubyStringTokenId.STRING_INVALID); 48 list.add(RubyCommentTokenId.COMMENT_TEXT); 49 list.add(RubyCommentTokenId.COMMENT_TODO); 50 list.add(RubyCommentTokenId.COMMENT_RDOC); 51 list.add(RubyCommentTokenId.COMMENT_HTMLTAG); 52 list.add(RubyCommentTokenId.COMMENT_LINK); 53 54 return list; 55 } 56 57 public String getLineCommentPrefix() { 58 return "#"; } 60 61 public boolean isIdentifierChar(char c) { 62 return Character.isJavaIdentifierPart(c) || 63 c == '$' || c == '@' || c == '&' || c == ':' || 65 c == '!' || c == '?' || c == '='; 67 } 68 69 public Language getLexerLanguage() { 70 return RubyTokenId.language(); 71 } 72 } 73 | Popular Tags |