Eclipse plugin开发 —实现语法高亮
2014-01-06 16:34
211 查看
1. 在public class XMLConfiguration中添加扫描函数:
protected ValueScanner getValueScanner() {
if (valuescanner == null) {
valuescanner = new ValueScanner(colorManager);
valuescanner.setDefaultReturnToken(
new Token(
new TextAttribute(
colorManager.getColor(IXMLColorConstants.DEFAULT))));
}
return valuescanner;
}
2. 在getPresentationReconciler函数中添加:
dr = new DefaultDamagerRepairer(getValueScanner());
reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE);
reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE);
3. 最后添加两个类:ValueScanner和WordDetector:
public class ValueScanner extends RuleBasedScanner{
String[]keywords = {"continent","country","hi","int"};
String[] funwords = {"short","long","double","long long",
"char","float","boolean","octet","string",
"unsigned short","unsigned long","unsigned long long"};
public ValueScanner(ColorManager manager)
{
IToken keywordToken =
new Token(
new TextAttribute(manager.getColor(IXMLColorConstants.STRING)));//IXMLColorConstants.STRING指定颜色
IToken funwordToken =
new Token(
new TextAttribute(manager.getColor(IXMLColorConstants.TAG)));
WordRule keywordRule = new WordRule(new WordDetector());
for(int i=0;i<keywords.length;i++)
{
keywordRule.addWord(keywords[i], keywordToken);
}
for(int i=0;i<funwords.length;i++)
{
keywordRule.addWord(funwords[i], funwordToken);
}
setRules(new IRule[]{keywordRule});
}
}
//******************************************************************
public class WordDetector implements IWordDetector{
public boolean isWordStart(char c){
return Character.isLetter(c);
}
public boolean isWordPart(char c){
return Character.isLetterOrDigit(c);
}
}
4. 打完手工。
protected ValueScanner getValueScanner() {
if (valuescanner == null) {
valuescanner = new ValueScanner(colorManager);
valuescanner.setDefaultReturnToken(
new Token(
new TextAttribute(
colorManager.getColor(IXMLColorConstants.DEFAULT))));
}
return valuescanner;
}
2. 在getPresentationReconciler函数中添加:
dr = new DefaultDamagerRepairer(getValueScanner());
reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE);
reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE);
3. 最后添加两个类:ValueScanner和WordDetector:
public class ValueScanner extends RuleBasedScanner{
String[]keywords = {"continent","country","hi","int"};
String[] funwords = {"short","long","double","long long",
"char","float","boolean","octet","string",
"unsigned short","unsigned long","unsigned long long"};
public ValueScanner(ColorManager manager)
{
IToken keywordToken =
new Token(
new TextAttribute(manager.getColor(IXMLColorConstants.STRING)));//IXMLColorConstants.STRING指定颜色
IToken funwordToken =
new Token(
new TextAttribute(manager.getColor(IXMLColorConstants.TAG)));
WordRule keywordRule = new WordRule(new WordDetector());
for(int i=0;i<keywords.length;i++)
{
keywordRule.addWord(keywords[i], keywordToken);
}
for(int i=0;i<funwords.length;i++)
{
keywordRule.addWord(funwords[i], funwordToken);
}
setRules(new IRule[]{keywordRule});
}
}
//******************************************************************
public class WordDetector implements IWordDetector{
public boolean isWordStart(char c){
return Character.isLetter(c);
}
public boolean isWordPart(char c){
return Character.isLetterOrDigit(c);
}
}
4. 打完手工。
相关文章推荐
- Eclipse plugin开发 —实现语法高亮
- Eclipse plugin开发 —实现文本内容帮助
- Eclipse plugin开发 —实现单行与多行注释
- Eclipse plugin开发 —实现文本内容帮助
- Docker Volume Plugin 开发及Golang实现
- 一点一点学maven(10)——eclipse实现maven模块化开发
- Eclipse下搭建Corba开发环境+HelloWorld实现过程
- Eclipse自动安装Android开发插件(ADT- plugin)
- 学习eclipse插件开发资源全收集(plugin)
- eclipse 插件开发 实现控制台管理
- 关于Eclipse Plugin开发 (1)
- 使用GitHub与Eclipse实现小组间合作开发——组长篇
- eclipse plugin develop ---how to access eclipse workspace?(eclipse 插件开发)
- eclipse插件开发[用Eclipse RCP & ECF 实现 Google Talk客户端]
- 编译hadoop的eclipse插件hadoop-eclipse-plugin-1.2.1.jar 【用来管理hadoop的HDFS和开发MapReduce项目】
- jsp开发所需要的eclipse插件(lomboz、tomcatplugin)及其安装、配置方法
- Eclipse SWT开发教程以及一个连连看游戏的代码实现下载
- 在用Eclipse IDE for Java EE Developers进行maven项目的开发时,报错Could not calculate build plan: Plugin org.apach
- GWT开发 - Eclipse, Google Plugin and Google Web Toolkit SDK
- EclipsePlug-in使用TextEditor开发自己的编辑器,实现关键字高亮和代码提示.