下面列出了org.eclipse.jface.text.rules.IPartitionTokenScanner#org.eclipse.jface.text.rules.FastPartitioner 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Installs a java partitioner with <code>document</code>.
*
* @param document the document
*/
private static void installJavaStuff(Document document) {
String[] types= new String[] {
IJavaScriptPartitions.JAVA_DOC,
IJavaScriptPartitions.JAVA_MULTI_LINE_COMMENT,
IJavaScriptPartitions.JAVA_SINGLE_LINE_COMMENT,
IJavaScriptPartitions.JAVA_STRING,
IJavaScriptPartitions.JAVASCRIPT_TEMPLATE_LITERAL,
IJavaScriptPartitions.JAVA_CHARACTER,
IJSXPartitions.JSX,
IDocument.DEFAULT_CONTENT_TYPE
};
FastPartitioner partitioner= new FastPartitioner(new FastTypeScriptPartitionScanner(), types);
partitioner.connect(document);
document.setDocumentPartitioner(IJavaScriptPartitions.JAVA_PARTITIONING, partitioner);
}
public SourceEditor() {
setSourceViewerConfiguration(new TextUMLSourceViewerConfiguration(this));
// set the document provider to create the partitioner
setDocumentProvider(new FileDocumentProvider() {
protected IDocument createDocument(Object element) throws CoreException {
IDocument document = super.createDocument(element);
if (document != null) {
// this will create partitions
IDocumentPartitioner partitioner = new FastPartitioner(new PartitionScanner(),
ContentTypes.CONFIGURED_CONTENT_TYPES);
partitioner.connect(document);
document.setDocumentPartitioner(partitioner);
}
return document;
}
});
}
public void setup(IDocument document) {
if (document instanceof IDocumentExtension3) {
IDocumentExtension3 extension3 = (IDocumentExtension3) document;
IDocumentPartitioner partitioner =
new FastPartitioner(new BibPartitionScanner(), BibPartitionScanner.BIB_PARTITION_TYPES);
extension3.setDocumentPartitioner(BibEditor.BIB_PARTITIONING, partitioner);
partitioner.connect(document);
}
}
public void setup(IDocument document) {
if (document instanceof IDocumentExtension3) {
IDocumentExtension3 extension3= (IDocumentExtension3) document;
IDocumentPartitioner partitioner =
new FastPartitioner(
new FastLaTeXPartitionScanner(),
FastLaTeXPartitionScanner.TEX_PARTITION_TYPES);
extension3.setDocumentPartitioner(TexEditor.TEX_PARTITIONING, partitioner);
partitioner.connect(document);
}
}
@Override
protected IDocument createDocument(Object element) throws CoreException {
IDocument document = super.createDocument(element);
if (document != null) {
JsonScanner scanner = new JsonScanner(new ColorManager(), store);
Set<String> tokens = YAMLToken.VALID_TOKENS.keySet();
FastPartitioner partitioner = new FastPartitioner(scanner, tokens.toArray(new String[tokens.size()]));
document.setDocumentPartitioner(partitioner);
partitioner.connect(document);
}
return document;
}
/**
* Installs a java partitioner with <code>document</code>.
*
* @param document the document
*/
private static void installJavaStuff(Document document) {
String[] types= new String[] {
IJavaPartitions.JAVA_DOC,
IJavaPartitions.JAVA_MULTI_LINE_COMMENT,
IJavaPartitions.JAVA_SINGLE_LINE_COMMENT,
IJavaPartitions.JAVA_STRING,
IJavaPartitions.JAVA_CHARACTER,
IDocument.DEFAULT_CONTENT_TYPE
};
FastPartitioner partitioner= new FastPartitioner(new FastJavaPartitionScanner(), types);
partitioner.connect(document);
document.setDocumentPartitioner(IJavaPartitions.JAVA_PARTITIONING, partitioner);
}
/**
* Installs a java partitioner with <code>document</code>.
*
* @param document the document
*/
private static void installJavaStuff(Document document) {
String[] types= new String[] {
IJavaPartitions.JAVA_DOC,
IJavaPartitions.JAVA_MULTI_LINE_COMMENT,
IJavaPartitions.JAVA_SINGLE_LINE_COMMENT,
IJavaPartitions.JAVA_STRING,
IJavaPartitions.JAVA_CHARACTER,
IDocument.DEFAULT_CONTENT_TYPE
};
FastPartitioner partitioner= new FastPartitioner(new FastJavaPartitionScanner(), types);
partitioner.connect(document);
document.setDocumentPartitioner(IJavaPartitions.JAVA_PARTITIONING, partitioner);
}
@Override
protected IDocument createDocument(Object element) throws CoreException {
IDocument document = super.createDocument(element);
if (document != null) {
IDocumentPartitioner partitioner = new FastPartitioner(new XMLPartitionScanner(),
new String[] { XMLPartitionScanner.XML_TAG, XMLPartitionScanner.XML_COMMENT });
partitioner.connect(document);
document.setDocumentPartitioner(partitioner);
}
return document;
}
protected IDocument createDocument( Object element ) throws CoreException
{
IDocument document = super.createDocument( element );
if ( document != null )
{
IDocumentPartitioner partitioner = new FastPartitioner( new XMLPartitionScanner( ),
new String[]{
XMLPartitionScanner.XML_TAG,
XMLPartitionScanner.XML_COMMENT
} );
partitioner.connect( document );
document.setDocumentPartitioner( partitioner );
}
return document;
}
protected IDocument createDocument( Object element ) throws CoreException
{
IDocument document = super.createDocument( element );
if ( document != null )
{
IDocumentPartitioner partitioner = new FastPartitioner( new XMLPartitionScanner( ),
new String[]{
XMLPartitionScanner.XML_TAG,
XMLPartitionScanner.XML_COMMENT
} );
partitioner.connect( document );
document.setDocumentPartitioner( partitioner );
}
return document;
}
public TagBasedTLCOutputIncrementalParser(Model model, int prio, boolean isTraceExplorer, Mode mode, final long size)
{
// create the document
document = new LargeTextStoreDocument(size);
this.analyzer = new TagBasedTLCAnalyzer(document);
this.source = new CachingTLCOutputSource(model, prio);
// set up the partitioner
FastPartitioner partitioner = new FastPartitioner(new TagBasedTLCOutputTokenScanner(),
TagBasedTLCOutputTokenScanner.CONTENT_TYPES);
partitioner.connect(document);
document.setDocumentPartitioner(partitioner);
// now register the listener, responsible for evaluating the partitioning information
document.addDocumentPartitioningListener(new TLCOutputPartitionChangeListener(mode));
/*
* Register the process source
*
* There are two different source registries, one for trace exploration
* and one for model checking. The source must be added to the
* appropriate registry.
*/
if (isTraceExplorer)
{
TLCOutputSourceRegistry.getTraceExploreSourceRegistry().addTLCOutputSource(this.source);
} else
{
if (mode == Mode.BATCH) {
// TLC always appends to the document. Therefore, we can tell the
// document to use a more efficient rewrite mode which reduces the time
// taken to execute replace operations from minutes and hours to
// seconds.
// Its down side is that the ResultPage is only updated when the
// complete log file is fully parsed, whereas in incremental
// mode, it (potentially) updates after each line.
document.startRewriteSession(DocumentRewriteSessionType.STRICTLY_SEQUENTIAL);
}
TLCOutputSourceRegistry.getModelCheckSourceRegistry().addTLCOutputSource(this.source);
}
}
@Override
public IDocumentPartitioner createDocumentPartitioner() {
return new FastPartitioner(getPartitionScanner(), LEGAL_CONTENT_TYPES);
}
@Override
protected IDocumentPartitioner getDocumentPartitioner() {
return new FastPartitioner(new PropertiesFilePartitionScanner(), IPropertiesFilePartitions.PARTITIONS);
}
@Override
protected IDocumentPartitioner getDocumentPartitioner() {
return new FastPartitioner(new PropertiesFilePartitionScanner(), IPropertiesFilePartitions.PARTITIONS);
}
public static FastPartitioner setupPartitioner(Document document, IPartitionTokenScanner partitionScanner,
String partitioning, String[] legalContentTypes) {
FastPartitioner fp = new FastPartitioner(partitionScanner, legalContentTypes);
EclipseUtils.setupDocumentPartitioner(document, partitioning, fp);
return fp;
}
public FastPartitioner setupDocument(IDocument document) {
return setupDocumentPartitioner(document, TextSettings_Actual.PARTITIONING_ID);
}
public FastPartitioner createDocumentPartitioner() {
IPartitionTokenScanner scanner = LangUIPlugin_Actual.createPartitionScanner();
return new FastPartitioner(scanner, LEGAL_CONTENT_TYPES);
}
protected FastPartitioner setupDocumentPartitioner(IDocument document, String partitioning) {
FastPartitioner partitioner = createDocumentPartitioner();
EclipseUtils.setupDocumentPartitioner(document, partitioning, partitioner);
return partitioner;
}
/**
* Factory method for creating a Java-specific document partitioner
* using this object's partitions scanner. This method is a
* convenience method.
*
* @return a newly created Java document partitioner
*/
public IDocumentPartitioner createDocumentPartitioner() {
return new FastPartitioner(getPartitionScanner(), LEGAL_CONTENT_TYPES);
}
/**
* Factory method for creating a properties file document specific document
* partitioner.
*
* @return a newly created properties file document partitioner
*/
private static IDocumentPartitioner createDocumentPartitioner() {
return new FastPartitioner(new PropertiesFilePartitionScanner(), IPropertiesFilePartitions.PARTITIONS);
}
/**
* Factory method for creating a .editorconfig document specific document
* partitioner.
*
* @return a newly created .editorconfig document partitioner
*/
private static IDocumentPartitioner createDocumentPartitioner() {
return new FastPartitioner(new EditorConfigPartitionScanner(), IEditorConfigPartitions.PARTITIONS);
}