类org.eclipse.jface.text.rules.ITokenScanner源码实例Demo

下面列出了怎么用org.eclipse.jface.text.rules.ITokenScanner的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: xds-ide   文件: InactiveCodeRule.java
@Override
public IToken evaluate(ICharacterScanner scanner, boolean resume) {
	if (scanner instanceof ITokenScanner) {
		if (isShowInactiveCode && !CollectionUtils.isEmpty(inactiveCodeRegions)) {
			ITokenScanner tokenScanner = (ITokenScanner) scanner;
			ITextRegion reg = findInactiveCodeRegion(tokenScanner.getTokenOffset());
			if (reg != null) {
				for (int i = tokenScanner.getTokenOffset(); i < reg.getOffset() + reg.getLength(); i++) {
					scanner.read();
				}
				return ModulaPartitionTokens.DISABLED_CODE;
			}
		}
	}
	return Token.UNDEFINED;
}
 
@Override
public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) {
	
	DSLPresentationReconciler reconciler = new DSLPresentationReconciler(sourceViewer);
	ITokenScanner scanner = new TokenScanner();
	String contentType = IDocument.DEFAULT_CONTENT_TYPE;
	// TODO preference store
	long delay = 300;
	DefaultDamagerRepairer dr = new DelayedDamagerRepairer(scanner, reconciler, delay);
	reconciler.setDamager(dr, contentType);
	reconciler.setRepairer(dr, contentType);
	
	// IResource file = this.extractResource(this.editor);
	
	return reconciler;
}
 
源代码3 项目: tmxeditor8   文件: TagStyleConfigurator.java
private static ITokenScanner getRecipeScanner(final IDocument doc) {
		IPreferenceStore store = Activator.getDefault().getPreferenceStore();
		/*final*/ InnerTagScanner scanner = new InnerTagScanner(store, IColorPreferenceConstant.TAG_FG_COLOR,
				IColorPreferenceConstant.TAG_BG_COLOR);
//		store.addPropertyChangeListener(new IPropertyChangeListener() {
//
//			public void propertyChange(PropertyChangeEvent event) {
//				String property = event.getProperty();
//				if (IColorPreferenceConstant.TAG_FG_COLOR.equals(property)
//						|| IColorPreferenceConstant.TAG_BG_COLOR.equals(property)) {
//					scanner.updateToken(IColorPreferenceConstant.TAG_FG_COLOR, IColorPreferenceConstant.TAG_BG_COLOR);
//
//					if (doc != null) { // 刷新
//						try {
//							doc.replace(doc.getLength(), 0, "");
//						} catch (BadLocationException e) {
//							e.printStackTrace();
//						}
//					}
//				}
//			}
//		});
		return scanner;
	}
 
源代码4 项目: translationstudio8   文件: TagStyleConfigurator.java
public static void configure(TextLayout textLayout) {
	String text = textLayout.getText();
	Document doc = new Document(text);
	ITokenScanner scanner = getRecipeScanner(doc);
	scanner.setRange(doc, 0, doc.getLength());
	IToken token;
	while ((token = scanner.nextToken()) != Token.EOF) {
		int offset = scanner.getTokenOffset();
		int length = scanner.getTokenLength();
		Object data = token.getData();
		if (data != null && data instanceof TextStyle) {
			TextStyle textStyle = (TextStyle) data;
			textLayout.setStyle(textStyle, offset, offset + length - 1);
		}
	}
}
 
源代码5 项目: translationstudio8   文件: TagStyleConfigurator.java
private static ITokenScanner getRecipeScanner(final IDocument doc) {
//		IPreferenceStore store = Activator.getDefault().getPreferenceStore();
		final InnerTagScanner scanner = new InnerTagScanner();
//		store.addPropertyChangeListener(new IPropertyChangeListener() {
//
//			public void propertyChange(PropertyChangeEvent event) {
//				String property = event.getProperty();
//				if (IPreferenceConstants.TAG_FOREGROUND.equals(property)
//						|| IPreferenceConstants.TAG_BACKGROUND.equals(property)) {
//					scanner.updateToken(IPreferenceConstants.TAG_FOREGROUND, IPreferenceConstants.TAG_BACKGROUND);
//
//					if (doc != null) { // 刷新
//						try {
//							doc.replace(doc.getLength(), 0, "");
//						} catch (BadLocationException e) {
//							e.printStackTrace();
//						}
//					}
//				}
//			}
//		});
		return scanner;
	}
 
源代码6 项目: translationstudio8   文件: TagStyleConfigurator.java
public static void configure(TextLayout textLayout) {
	String text = textLayout.getText();
	Document doc = new Document(text);
	ITokenScanner scanner = getRecipeScanner(doc);
	scanner.setRange(doc, 0, doc.getLength());
	IToken token;
	while ((token = scanner.nextToken()) != Token.EOF) {
		int offset = scanner.getTokenOffset();
		int length = scanner.getTokenLength();
		Object data = token.getData();
		if (data != null && data instanceof TextStyle) {
			TextStyle textStyle = (TextStyle) data;
			textLayout.setStyle(textStyle, offset, offset + length - 1);
		}
	}
	scanner = null;
	doc = null;
}
 
源代码7 项目: translationstudio8   文件: TagStyleConfigurator.java
private static ITokenScanner getRecipeScanner(final IDocument doc) {
		IPreferenceStore store = Activator.getDefault().getPreferenceStore();
		/*final*/ InnerTagScanner scanner = new InnerTagScanner(store, IColorPreferenceConstant.TAG_FG_COLOR,
				IColorPreferenceConstant.TAG_BG_COLOR);
//		store.addPropertyChangeListener(new IPropertyChangeListener() {
//
//			public void propertyChange(PropertyChangeEvent event) {
//				String property = event.getProperty();
//				if (IColorPreferenceConstant.TAG_FG_COLOR.equals(property)
//						|| IColorPreferenceConstant.TAG_BG_COLOR.equals(property)) {
//					scanner.updateToken(IColorPreferenceConstant.TAG_FG_COLOR, IColorPreferenceConstant.TAG_BG_COLOR);
//
//					if (doc != null) { // 刷新
//						try {
//							doc.replace(doc.getLength(), 0, "");
//						} catch (BadLocationException e) {
//							e.printStackTrace();
//						}
//					}
//				}
//			}
//		});
		return scanner;
	}
 
public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) {
    final PresentationReconciler reconciler = new PresentationReconciler();
    reconciler.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
    final SyntaxHighlighter scanner = new SyntaxHighlighter(
            com.abstratt.mdd.frontend.textuml.core.TextUMLConstants.KEYWORDS);
    final DefaultDamagerRepairer dr = new DefaultDamagerRepairer(scanner);
    reconciler.setDamager(dr, ContentTypes.DEFAULT_CONTENT_TYPE);
    reconciler.setRepairer(dr, ContentTypes.DEFAULT_CONTENT_TYPE);

    // fix bug 2127735 --multiline comment is broken
    final ITokenScanner commentScanner = scanner.getCommentScanner();
    final DefaultDamagerRepairer commentDamagerRepairer = new DefaultDamagerRepairer(commentScanner);
    reconciler.setDamager(commentDamagerRepairer, ContentTypes.COMMENT_CONTENT_TYPE);
    reconciler.setRepairer(commentDamagerRepairer, ContentTypes.COMMENT_CONTENT_TYPE);

    return reconciler;
}
 
源代码9 项目: tmxeditor8   文件: TagStyleConfigurator.java
public static void configure(TextLayout textLayout) {
	String text = textLayout.getText();
	Document doc = new Document(text);
	ITokenScanner scanner = getRecipeScanner(doc);
	scanner.setRange(doc, 0, doc.getLength());
	IToken token;
	while ((token = scanner.nextToken()) != Token.EOF) {
		int offset = scanner.getTokenOffset();
		int length = scanner.getTokenLength();
		Object data = token.getData();
		if (data != null && data instanceof TextStyle) {
			TextStyle textStyle = (TextStyle) data;
			textLayout.setStyle(textStyle, offset, offset + length - 1);
		}
	}
}
 
源代码10 项目: tmxeditor8   文件: TagStyleConfigurator.java
private static ITokenScanner getRecipeScanner(final IDocument doc) {
//		IPreferenceStore store = Activator.getDefault().getPreferenceStore();
		InnerTagScanner scanner = new InnerTagScanner();
//		store.addPropertyChangeListener(new IPropertyChangeListener() {
//
//			public void propertyChange(PropertyChangeEvent event) {
//				String property = event.getProperty();
//				if (IPreferenceConstants.TAG_FOREGROUND.equals(property)
//						|| IPreferenceConstants.TAG_BACKGROUND.equals(property)) {
//					scanner.updateToken(IPreferenceConstants.TAG_FOREGROUND, IPreferenceConstants.TAG_BACKGROUND);
//
//					if (doc != null) { // 刷新
//						try {
//							doc.replace(doc.getLength(), 0, "");
//						} catch (BadLocationException e) {
//							e.printStackTrace();
//						}
//					}
//				}
//			}
//		});
		return scanner;
	}
 
源代码11 项目: tmxeditor8   文件: TagStyleConfigurator.java
public static void configure(TextLayout textLayout) {
	String text = textLayout.getText();
	Document doc = new Document(text);
	ITokenScanner scanner = getRecipeScanner(doc);
	scanner.setRange(doc, 0, doc.getLength());
	IToken token;
	while ((token = scanner.nextToken()) != Token.EOF) {
		int offset = scanner.getTokenOffset();
		int length = scanner.getTokenLength();
		Object data = token.getData();
		if (data != null && data instanceof TextStyle) {
			TextStyle textStyle = (TextStyle) data;
			textLayout.setStyle(textStyle, offset, offset + length - 1);
		}
	}
}
 
源代码12 项目: tmxeditor8   文件: TagStyleConfigurator.java
private static ITokenScanner getRecipeScanner(final IDocument doc) {
//		IPreferenceStore store = Activator.getDefault().getPreferenceStore();
		final InnerTagScanner scanner = new InnerTagScanner();
//		store.addPropertyChangeListener(new IPropertyChangeListener() {
//
//			public void propertyChange(PropertyChangeEvent event) {
//				String property = event.getProperty();
//				if (IPreferenceConstants.TAG_FOREGROUND.equals(property)
//						|| IPreferenceConstants.TAG_BACKGROUND.equals(property)) {
//					scanner.updateToken(IPreferenceConstants.TAG_FOREGROUND, IPreferenceConstants.TAG_BACKGROUND);
//
//					if (doc != null) { // 刷新
//						try {
//							doc.replace(doc.getLength(), 0, "");
//						} catch (BadLocationException e) {
//							e.printStackTrace();
//						}
//					}
//				}
//			}
//		});
		return scanner;
	}
 
源代码13 项目: tlaplus   文件: TLAEditorActivator.java
/**
 * @return
 */
public ITokenScanner getTLACodeScanner()
{
    if (tlaCodeScanner== null) 
    {
        tlaCodeScanner = new TLACodeScanner();
    }
    return tlaCodeScanner; 
}
 
源代码14 项目: tlaplus   文件: TLAEditorActivator.java
public ITokenScanner getPCALCodeScanner()
{
    if (pcalCodeScanner== null) 
    {
        pcalCodeScanner = new PCALCodeScanner();
    }
    return pcalCodeScanner; 
}
 
源代码15 项目: APICloud-Studio   文件: SVGSourceConfiguration.java
/**
 * getPreProcessorScanner
 * 
 * @return
 */
private ITokenScanner getPreProcessorScanner()
{
	XMLTagScanner preProcessorScanner = new XMLTagScanner();

	preProcessorScanner.setDefaultReturnToken(getToken("meta.tag.preprocessor.xml.svg")); //$NON-NLS-1$

	return preProcessorScanner;
}
 
源代码16 项目: APICloud-Studio   文件: HTMLParser.java
protected void processLanguage(String language, short endToken) throws IOException, Exception
{
	ITokenScanner tokenScanner = fScanner.getTokenScanner().getPrimaryTokenScanner();
	if (tokenScanner instanceof HTMLTokenScanner)
	{
		((HTMLTokenScanner) tokenScanner).setInsideSpecialTag(true);
	}

	Symbol startTag = fCurrentSymbol;
	advance();

	int start = fCurrentSymbol.getStart();
	int end = start - 1;
	short id = fCurrentSymbol.getId();
	while (id != endToken && id != HTMLTokens.EOF)
	{
		end = fCurrentSymbol.getEnd();
		advance();
		id = fCurrentSymbol.getId();
	}

	if (tokenScanner instanceof HTMLTokenScanner)
	{
		((HTMLTokenScanner) tokenScanner).setInsideSpecialTag(false);
	}

	IParseNode[] nested = getParseResult(language, start, end);
	if (fCurrentElement != null)
	{
		HTMLSpecialNode node = new HTMLSpecialNode(startTag, nested, startTag.getStart(), fCurrentSymbol.getEnd());
		node.setEndNode(fCurrentSymbol.getStart(), fCurrentSymbol.getEnd());
		parseAttribute(node, startTag);
		fCurrentElement.addChild(node);
	}
}
 
源代码17 项目: APICloud-Studio   文件: ThemeingDamagerRepairer.java
public ThemeingDamagerRepairer(ITokenScanner scanner)
{
	super(scanner);
	maxLinesToColor = Platform.getPreferencesService().getInt(CommonEditorPlugin.PLUGIN_ID,
			IPreferenceConstants.EDITOR_MAX_COLORED_COLUMNS,
			IPreferenceConstants.EDITOR_MAX_COLORED_COLUMNS_DEFAULT,
			new IScopeContext[] { EclipseUtil.instanceScope(), EclipseUtil.defaultScope() });
}
 
源代码18 项目: APICloud-Studio   文件: QueuedRuleBasedScanner.java
public Entry(ITokenScanner tokenScanner, IToken token, int offset, int length)
{
	this.tokenScanner = tokenScanner;
	this.token = token;
	this.offset = offset;
	this.length = length;
}
 
private ITokenScanner getStartEndTokenScanner() {
	if (startEndTokenScanner == null) {
		RuleBasedScanner ts = new RuleBasedScanner();
		IToken seqToken = new Token(getStartEndTokenType());
		List<IRule> rules = new ArrayList<IRule>();
		for (String[] pair : getPartitionerSwitchStrategy().getSwitchTagPairs()) {
			rules.add(new SingleTagRule(pair[0], seqToken));
			rules.add(new SingleTagRule(pair[1], seqToken));
		}
		ts.setRules(rules.toArray(new IRule[rules.size()]));
		ts.setDefaultReturnToken(new Token("text")); //$NON-NLS-1$
		startEndTokenScanner = ts;
	}
	return startEndTokenScanner;
}
 
源代码20 项目: translationstudio8   文件: PresentationRepairer.java
public PresentationRepairer(ITokenScanner scanner, ISegmentViewer viewer) {
	Assert.isNotNull(scanner);

	fViewer = viewer;
	fScanner = scanner;
	fDefaultTextStyle = new TextStyle();
}
 
源代码21 项目: textuml   文件: SyntaxHighlighter.java
ITokenScanner getCommentScanner() {
    // lazy init
    if (this.commentScanner == null) {
        final Token comment = new Token(new TextAttribute(JFaceResources.getColorRegistry().get(COMMENT_COLOR)));
        // no rules needed, because this will apply to comment partition
        // only
        final RuleBasedScanner ruleBasedScanner = new RuleBasedScanner();
        // this will apply the syntax
        ruleBasedScanner.setDefaultReturnToken(comment);
        this.commentScanner = ruleBasedScanner;
    }
    return commentScanner;
}
 
源代码22 项目: tmxeditor8   文件: PresentationRepairer.java
public PresentationRepairer(ITokenScanner scanner, CellEditorTextViewer viewer) {
	Assert.isNotNull(scanner);

	this.viewer = viewer;
	fScanner = scanner;
	fDefaultTextStyle = new TextStyle();
}
 
源代码23 项目: tmxeditor8   文件: PresentationRepairer.java
public PresentationRepairer(ITokenScanner scanner, ISegmentViewer viewer) {
	Assert.isNotNull(scanner);

	fViewer = viewer;
	fScanner = scanner;
	fDefaultTextStyle = new TextStyle();
}
 
源代码24 项目: n4js   文件: N4JSUiModule.java
@Override
public Class<? extends ITokenScanner> bindITokenScanner() {
	return TemplateAwareTokenScanner.class;
}
 
源代码25 项目: xtext-eclipse   文件: DefaultUiModule.java
public Class<? extends ITokenScanner> bindITokenScanner() {
	return TokenScanner.class;
}
 
源代码26 项目: xtext-eclipse   文件: PresentationRepairer.java
@Inject
public PresentationRepairer(ITokenScanner scanner) {
	super(scanner);
}
 
@Override
public void setUp() throws Exception {
	super.setUp();
	document = get(XtextDocument.class);
	scanner = get(ITokenScanner.class);
}
 
源代码28 项目: xtext-xtend   文件: XtendUiModule.java
@Override
public Class<? extends ITokenScanner> bindITokenScanner() {
	return RichStringAwareTokenScanner.class;
}
 
源代码29 项目: LogViewer   文件: DamageRepairer.java
public DamageRepairer(ITokenScanner scanner) {
    logger = LogViewerPlugin.getDefault().getLogger();
    Assert.isNotNull(scanner);
    this.scanner = scanner;
    defaultTextAttribute = new TextAttribute(null);
}
 
源代码30 项目: APICloud-Studio   文件: XMLSourceConfiguration.java
private ITokenScanner getPreProcessorScanner()
{
	XMLTagScanner preProcessorScanner = new XMLTagScanner();
	preProcessorScanner.setDefaultReturnToken(getToken(IXMLScopes.META_TAG_PREPROCESSOR_XML));
	return preProcessorScanner;
}
 
 类所在包
 类方法
 同包方法