下面列出了怎么用org.eclipse.jface.text.rules.IPartitionTokenScanner的API类实例代码及写法,或者点击链接到github查看源代码。
/**
* @return
*/
public IPartitionTokenScanner getTLAPartitionScanner()
{
if (partitionTokenScanner == null)
{
partitionTokenScanner = new TLAPartitionScanner();
}
return partitionTokenScanner;
}
/**
* @param scanner
* @param legalContentTypes
*/
public ExtendedFastPartitioner(IPartitionTokenScanner scanner, String[] legalContentTypes) {
super(scanner, legalContentTypes);
this.legalContentTypes = new HashSet<String>(legalContentTypes.length);
for (String contentType : legalContentTypes) {
this.legalContentTypes.add(contentType);
}
}
private static IPartitionTokenScanner createDefaultScanner() {
final IToken string = new Token(PatternExpressionViewer.GROOVY_EXPRESSION_CONTENT_TYPE);
final RuleBasedPartitionScanner scanner = new RuleBasedPartitionScanner();
scanner.setPredicateRules(new IPredicateRule[] {
new MultiLineRule(GROOVY_START_TAG, GROOVY_END_TAG, string)
});
return scanner;
}
@Override
public Class<? extends IPartitionTokenScanner> bindIPartitionTokenScanner() {
return TemplateAwarePartitionTokenScanner.class;
}
public XMLPartitioner( IPartitionTokenScanner scanner, String[] legalContentTypes) {
super(scanner, legalContentTypes);
}
public Class<? extends IPartitionTokenScanner> bindIPartitionTokenScanner() {
return PartitionTokenScanner.class;
}
@Inject
public DocumentPartitioner(IPartitionTokenScanner scanner, ITokenTypeToPartitionTypeMapper mapper) {
this(scanner, mapper.getSupportedPartitionTypes());
}
@Override
public IPartitionTokenScanner getPartitionScanner() {
return new FastTypeScriptPartitionScanner();
}
public CompositePartitionScanner(IPartitionTokenScanner javaScanner,
IPartitionTokenScanner jsniScanner) {
this.javaScanner = javaScanner;
this.jsniScanner = jsniScanner;
}
@Override
public IPartitionTokenScanner createPartitionScanner()
{
return new JSSourcePartitionScannerJFlex();
}
@Override
public IPartitionTokenScanner createPartitionScanner()
{
return new DTDPartitionScanner();
}
@Override
public IPartitionTokenScanner createPartitionScanner()
{
return new CSSSourcePartitionScannerJFlex();
}
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 createDocumentPartitioner() {
IPartitionTokenScanner scanner = LangUIPlugin_Actual.createPartitionScanner();
return new FastPartitioner(scanner, LEGAL_CONTENT_TYPES);
}
public static IPartitionTokenScanner createPartitionScanner() {
return new GoPartitionScanner();
}
/**
* Creates a new partitioner that uses the given scanner and may return partitions of the given legal content types.
*
* @param scanner
* the scanner this partitioner is supposed to use
* @param legalContentTypes
* the legal content types of this partitioner
* @since 2.2
*/
public DocumentPartitioner(IPartitionTokenScanner scanner, String[] legalContentTypes) {
fScanner = scanner;
fLegalContentTypes = TextUtilities.copy(legalContentTypes);
fPositionCategory = CONTENT_TYPES_CATEGORY + hashCode();
fPositionUpdater = new DefaultPositionUpdater(fPositionCategory);
}
/**
* Creates a new partitioner that uses the given scanner and may return
* partitions of the given legal content types.
*
* @param scanner the scanner this partitioner is supposed to use
* @param legalContentTypes the legal content types of this partitioner
*/
public TLAFastPartitioner(IPartitionTokenScanner scanner, String[] legalContentTypes) {
fScanner= (TLAPartitionScanner) scanner;
fLegalContentTypes= TextUtilities.copy(legalContentTypes);
fPositionCategory= CONTENT_TYPES_CATEGORY + hashCode();
fPositionUpdater= new DefaultPositionUpdater(fPositionCategory);
}
/**
* Create a partition scanner for this editor's top-level language
*
* @return
*/
public abstract IPartitionTokenScanner createPartitionScanner();
/**
* Returns a scanner which is configured to scan
* Java-specific partitions, which are multi-line comments,
* Javadoc comments, and regular Java source code.
*
* @return a Java partition scanner
*/
public IPartitionTokenScanner getPartitionScanner() {
return new FastJavaPartitionScanner();
}