类org.eclipse.jface.text.IAutoEditStrategy源码实例Demo

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

源代码1 项目: n4js   文件: AutoEditStrategyProvider.java
@Override
protected void configureMultilineComments(IEditStrategyAcceptor acceptor) {
	// To avoid JSDocEditStrategy handling /***+ multiline3andMoreAsterisks instance is added
	IAutoEditStrategy multiline3andMoreAsterisks = multiLineTerminals.newInstance("/***", " * ", " */");
	JSDocEditStrategy jsdoc = new JSDocEditStrategy();
	injector.injectMembers(jsdoc);
	IAutoEditStrategy multiline = multiLineTerminals.newInstance("/*", " * ", " */");
	IAutoEditStrategy singleline = singleLineTerminals.newInstance("/*", " */", new SupressingMLCommentPredicate());

	acceptor.accept(singleline, IDocument.DEFAULT_CONTENT_TYPE);
	acceptor.accept(singleLineTerminals.newInstance("/*", " */"), REG_EX_PARTITION);

	acceptor.accept(multiline3andMoreAsterisks, IDocument.DEFAULT_CONTENT_TYPE);
	acceptor.accept(multiline3andMoreAsterisks, TerminalsTokenTypeToPartitionMapper.COMMENT_PARTITION);
	acceptor.accept(multiline3andMoreAsterisks, REG_EX_PARTITION);

	acceptor.accept(jsdoc, IDocument.DEFAULT_CONTENT_TYPE);
	acceptor.accept(jsdoc, TerminalsTokenTypeToPartitionMapper.COMMENT_PARTITION);
	acceptor.accept(jsdoc, JS_DOC_PARTITION);
	acceptor.accept(jsdoc, REG_EX_PARTITION);

	acceptor.accept(multiline, IDocument.DEFAULT_CONTENT_TYPE);
	acceptor.accept(multiline, TerminalsTokenTypeToPartitionMapper.COMMENT_PARTITION);
	acceptor.accept(multiline, JS_DOC_PARTITION);
	acceptor.accept(multiline, REG_EX_PARTITION);
}
 
public List<IAutoEditStrategy> getStrategies(final ISourceViewer sourceViewer,final String contentType) {
	final List<IAutoEditStrategy> strategies = Lists.newArrayList();
	configure(new IEditStrategyAcceptor() {
		@Override
		public void accept(IAutoEditStrategy strategy, String type) {
			if (type == null || contentType.equals(type)) {
				if (strategy instanceof ISourceViewerAware) {
					((ISourceViewerAware) strategy).setSourceViewer(sourceViewer);
				}
				if (strategy instanceof VerifyKeyListener) {
					sourceViewer.getTextWidget().addVerifyKeyListener((VerifyKeyListener) strategy);
				}
				strategies.add(strategy);
			}
		}
	});
	return strategies;
}
 
@Override
public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer, String contentType) {
	String partitioning = getConfiguredDocumentPartitioning(sourceViewer);
	if (IJavaScriptPartitions.JAVA_DOC.equals(contentType)
			|| IJavaScriptPartitions.JAVA_MULTI_LINE_COMMENT.equals(contentType)
			|| IJavaScriptPartitions.JAVASCRIPT_TEMPLATE_LITERAL.equals(contentType)) {
		return new IAutoEditStrategy[] { new JSDocAutoIndentStrategy(partitioning) };
	} else if (IJavaScriptPartitions.JAVA_STRING.equals(contentType))
		return new IAutoEditStrategy[] { new SmartSemicolonAutoEditStrategy(partitioning),
				new JavaStringAutoIndentStrategy(partitioning) };
	else if (IJavaScriptPartitions.JAVA_CHARACTER.equals(contentType)
			|| IDocument.DEFAULT_CONTENT_TYPE.equals(contentType))
		return new IAutoEditStrategy[] { new SmartSemicolonAutoEditStrategy(partitioning),
				new TypeScriptAutoIndentStrategy(partitioning, getTypeScriptFile(), sourceViewer) };
	else
		return new IAutoEditStrategy[] {
				new TypeScriptAutoIndentStrategy(partitioning, getTypeScriptFile(), sourceViewer) };
}
 
@Override
public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer,
    String contentType) {

  if (contentType == ICSSPartitions.STYLE) {
    IAutoEditStrategy[] autoEditStrategies = cssSourceViewerConfiguration.getAutoEditStrategies(
        sourceViewer, contentType);

    for (int i = 0; i < autoEditStrategies.length; i++) {
      // Replace any StructuredAutoEditStrategyCSS with the one that works
      // with inlined CSS
      if (autoEditStrategies[i] instanceof StructuredAutoEditStrategyCSS) {
        autoEditStrategies[i] = new StructuredAutoEditStrategyInlinedCss();
      }
    }

    return autoEditStrategies;
  }

  return super.getAutoEditStrategies(sourceViewer, contentType);
}
 
@Override
public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer, String contentType) {
	IAutoEditStrategy[] autoEditStrategies= super.getAutoEditStrategies(sourceViewer, contentType);

	if (fTextEditor == null)
		return autoEditStrategies;

	try {
		if (!PropertiesFileDocumentProvider.isJavaPropertiesFile(fTextEditor.getEditorInput())) {
			return autoEditStrategies;
		}
		List<IAutoEditStrategy> stratergies= new ArrayList<IAutoEditStrategy>();
		for (int i= 0; i < autoEditStrategies.length; i++) {
			stratergies.add(autoEditStrategies[i]);
		}
		stratergies.add(new PropertiesFileAutoEditStrategy(((IFileEditorInput)fTextEditor.getEditorInput()).getFile(), sourceViewer));
		return stratergies.toArray(new IAutoEditStrategy[stratergies.size()]);
	} catch (CoreException e) {
		JavaPlugin.log(e);
		return autoEditStrategies;
	}
}
 
源代码6 项目: texlipse   文件: TexSourceViewerConfiguration.java
public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer, String contentType) {
    //return super.getAutoEditStrategies(sourceViewer, contentType);
    if (autoIndentStrategy == null) {
        autoIndentStrategy = new TexAutoIndentStrategy();
    }
    return new IAutoEditStrategy[] {autoIndentStrategy};
}
 
源代码7 项目: xds-ide   文件: ModulaSourceViewerConfiguration.java
/**
 * {@inheritDoc}
 */
@Override
public IAutoEditStrategy[] getAutoEditStrategies( ISourceViewer sourceViewer
                                                , String contentType ) 
{
    IAutoEditStrategy strategy =  IDocument.DEFAULT_CONTENT_TYPE.equals(contentType)
                               ?  new ModulaAutoEditStrategy()
                               :  new DefaultIndentLineAutoEditStrategy();
    return new IAutoEditStrategy[] { strategy };
}
 
源代码8 项目: gef   文件: DotAutoEditStrategyProvider.java
@Override
protected void configure(IEditStrategyAcceptor acceptor) {
	super.configure(acceptor);
	configureAngleBrackets(acceptor);

	/*
	 * TODO: verify why the strategy has to added to both content types
	 */
	IAutoEditStrategy strategy = new DotAutoEditStrategy();
	acceptor.accept(strategy, IDocument.DEFAULT_CONTENT_TYPE);
	acceptor.accept(strategy,
			DotTerminalsTokenTypeToPartitionMapper.HTML_STRING_PARTITION);
}
 
@Override
public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer,
    String contentType) {
  if (GWTPartitions.JSNI_METHOD.equals(contentType)) {
    // Get project's formatting settings
    IJavaProject javaProject = ((GWTJavaEditor) getEditor()).getInputJavaProject();
    Map<?, ?> prefs = (javaProject != null ? javaProject.getOptions(true)
        : JavaCore.getOptions());
    return new IAutoEditStrategy[] {new JsniAutoEditStrategy(prefs)};
  }
  return super.getAutoEditStrategies(sourceViewer, contentType);
}
 
@Override
public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer, String contentType) {
	String partitioning= getConfiguredDocumentPartitioning(sourceViewer);
	if (IJavaPartitions.JAVA_DOC.equals(contentType) || IJavaPartitions.JAVA_MULTI_LINE_COMMENT.equals(contentType))
		return new IAutoEditStrategy[] { new JavaDocAutoIndentStrategy(partitioning) };
	else if (IJavaPartitions.JAVA_STRING.equals(contentType))
		return new IAutoEditStrategy[] { new SmartSemicolonAutoEditStrategy(partitioning), new JavaStringAutoIndentStrategy(partitioning, getProject()) };
	else if (IJavaPartitions.JAVA_CHARACTER.equals(contentType) || IDocument.DEFAULT_CONTENT_TYPE.equals(contentType))
		return new IAutoEditStrategy[] { new SmartSemicolonAutoEditStrategy(partitioning), new JavaAutoIndentStrategy(partitioning, getProject(), sourceViewer) };
	else
		return new IAutoEditStrategy[] { new JavaAutoIndentStrategy(partitioning, getProject(), sourceViewer) };
}
 
@Override
public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer, String contentType) {
	if(IDocument.DEFAULT_CONTENT_TYPE.equals(contentType)) {
		return array(new AutoEditStrategyAdapter(
			LangUIPlugin_Actual.createAutoEditStrategy(contentType, new VerifyKeyRecorder(sourceViewer))
		));
	} else {
		return super.getAutoEditStrategies(sourceViewer, contentType);
	}
}
 
@Override
public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer, String contentType) {
	return null;
}
 
@Override
public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer, String contentType) {
	List<IAutoEditStrategy> strategies = editStrategyProvider.getStrategies(sourceViewer, contentType);
	return strategies.toArray(new IAutoEditStrategy[strategies.size()]);
}
 
@Override
public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer, String contentType)
{
	return new IAutoEditStrategy[] { new RubyRegexpAutoIndentStrategy(contentType, this, sourceViewer, XMLPlugin
			.getDefault().getPreferenceStore()) };
}
 
@Override
public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer, String contentType)
{
	return new IAutoEditStrategy[] { new JSAutoIndentStrategy(contentType, this, sourceViewer, JSPlugin
			.getDefault().getPreferenceStore()) };
}
 
@Override
public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer, String contentType) {
	return new IAutoEditStrategy[] { new RubyRegexpAutoIndentStrategy(contentType, this, sourceViewer, CSSPlugin.getDefault().getPreferenceStore()) };
}
 
@Override
public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer, String contentType) {
	return new IAutoEditStrategy[] { new RubyRegexpAutoIndentStrategy(contentType, this, sourceViewer, HTMLPlugin.getDefault().getPreferenceStore()) };
}
 
@Override
public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer, String contentType)
{
	return new IAutoEditStrategy[] { new RubyRegexpAutoIndentStrategy(contentType, this, sourceViewer,
			CommonEditorPlugin.getDefault().getPreferenceStore()) };
}
 
@Override
public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer, String contentType) {
	return null;
}
 
源代码20 项目: Pydev   文件: ScriptConsoleViewerWrapper.java
public void prependAutoEditStrategy(IAutoEditStrategy strategy, String contentType) {
    viewer.prependAutoEditStrategy(strategy, contentType);
}
 
源代码21 项目: Pydev   文件: ScriptConsoleViewerWrapper.java
public void removeAutoEditStrategy(IAutoEditStrategy strategy, String contentType) {
    viewer.removeAutoEditStrategy(strategy, contentType);
}
 
源代码22 项目: Pydev   文件: ScriptConsoleViewerWrapper.java
public void setTabsToSpacesConverter(IAutoEditStrategy converter) {
    viewer.setTabsToSpacesConverter(converter);
}
 
@Override
public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer, String contentType) {
       
	IAutoEditStrategy strategy= (IDocument.DEFAULT_CONTENT_TYPE.equalsIgnoreCase(contentType) ? new ImpexBracesAutoEditStrategy() : new DefaultIndentLineAutoEditStrategy());
       
	IAutoEditStrategy headerStr = (ImpexDocumentPartitioner.IMPEX_HEADER.equalsIgnoreCase(contentType) ? new ImpexBracesAutoEditStrategy() : new DefaultIndentLineAutoEditStrategy());
       
	return new IAutoEditStrategy[] { strategy, headerStr };
}
 
public void accept(IAutoEditStrategy strategy, String contentType); 
 类所在包
 同包方法