/* * @see SourceViewerConfiguration#getPresentationReconciler(ISourceViewer) */ public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) { PresentationReconciler reconciler = new JavaPresentationReconciler(); reconciler.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer)); DefaultDamagerRepairer dr = new DefaultDamagerRepairer(getCodeScanner()); reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE); reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE); dr = new DefaultDamagerRepairer(getJavaDocScanner()); reconciler.setDamager(dr, IJavaPartitions.JAVA_DOC); reconciler.setRepairer(dr, IJavaPartitions.JAVA_DOC); dr = new DefaultDamagerRepairer(getMultilineCommentScanner()); reconciler.setDamager(dr, IJavaPartitions.JAVA_MULTI_LINE_COMMENT); reconciler.setRepairer(dr, IJavaPartitions.JAVA_MULTI_LINE_COMMENT); dr = new DefaultDamagerRepairer(getSinglelineCommentScanner()); reconciler.setDamager(dr, IJavaPartitions.JAVA_SINGLE_LINE_COMMENT); reconciler.setRepairer(dr, IJavaPartitions.JAVA_SINGLE_LINE_COMMENT); dr = new DefaultDamagerRepairer(getStringScanner()); reconciler.setDamager(dr, IJavaPartitions.JAVA_STRING); reconciler.setRepairer(dr, IJavaPartitions.JAVA_STRING); dr = new DefaultDamagerRepairer(getStringScanner()); reconciler.setDamager(dr, IJavaPartitions.JAVA_CHARACTER); reconciler.setRepairer(dr, IJavaPartitions.JAVA_CHARACTER); return reconciler; }
@Override public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) { PresentationReconciler reconciler = new DartPresentationReconciler(); reconciler.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer)); DefaultDamagerRepairer dr = new DefaultDamagerRepairer(getCodeScanner()); reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE); reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE); dr = new DefaultDamagerRepairer(getJavaDocScanner()); reconciler.setDamager(new DartIndiscriminateDamager(), DartPartitions.DART_DOC); reconciler.setRepairer(dr, DartPartitions.DART_DOC); reconciler.setDamager(new DartIndiscriminateDamager(), DartPartitions.DART_SINGLE_LINE_DOC); reconciler.setRepairer(dr, DartPartitions.DART_SINGLE_LINE_DOC); dr = new DefaultDamagerRepairer(getMultilineCommentScanner()); reconciler.setDamager(dr, DartPartitions.DART_MULTI_LINE_COMMENT); reconciler.setRepairer(dr, DartPartitions.DART_MULTI_LINE_COMMENT); dr = new DefaultDamagerRepairer(getSinglelineCommentScanner()); reconciler.setDamager(dr, DartPartitions.DART_SINGLE_LINE_COMMENT); reconciler.setRepairer(dr, DartPartitions.DART_SINGLE_LINE_COMMENT); dr = new DefaultDamagerRepairer(getStringScanner()); reconciler.setDamager(dr, DartPartitions.DART_STRING); reconciler.setRepairer(dr, DartPartitions.DART_STRING); dr = new DefaultDamagerRepairer(getMultilineStringScanner()); reconciler.setDamager(dr, DartPartitions.DART_MULTI_LINE_STRING); reconciler.setRepairer(dr, DartPartitions.DART_MULTI_LINE_STRING); return reconciler; }
/** * This code is used to activate syntax coloring for each section detected by the * XWikiPartitionner The partitioner is activated in createDocument in PageDocumentProvider.java * * @see PageDocumentProvider#createDocument(Object) */ @Override public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) { PresentationReconciler reconciler = new PresentationReconciler(); reconciler.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer)); /* Use the XWiki markup for tables and default content. */ DefaultDamagerRepairer dr = new DefaultDamagerRepairer(new XWikiMarkupScanner()); reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE); reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE); reconciler.setDamager(dr, XWikiPartitionScanner.XWIKI_TABLE); reconciler.setRepairer(dr, XWikiPartitionScanner.XWIKI_TABLE); /* Use the Velocity Scanner for velocity blocks */ dr = new DefaultDamagerRepairer(new VelocityScanner()); reconciler.setDamager(dr, XWikiPartitionScanner.VELOCITY); reconciler.setRepairer(dr, XWikiPartitionScanner.VELOCITY); /* Use the Groovy Scanner for groovy blocks */ dr = new DefaultDamagerRepairer(new GroovyScanner()); reconciler.setDamager(dr, XWikiPartitionScanner.GROOVY); reconciler.setRepairer(dr, XWikiPartitionScanner.GROOVY); /* Use a uniform style for html blocks. */ RuleBasedScanner codeScanner = new RuleBasedScanner(); codeScanner.setDefaultReturnToken( new Token(Preferences.getDefault().getTextAttribute(Preferences.Style.HTML))); dr = new DefaultDamagerRepairer(codeScanner); reconciler.setDamager(dr, XWikiPartitionScanner.XWIKI_HTML); reconciler.setRepairer(dr, XWikiPartitionScanner.XWIKI_HTML); /* Use a uniform style for code blocks. */ codeScanner = new RuleBasedScanner(); codeScanner.setDefaultReturnToken( new Token(Preferences.getDefault().getTextAttribute(Preferences.Style.CODE))); dr = new DefaultDamagerRepairer(codeScanner); reconciler.setDamager(dr, XWikiPartitionScanner.XWIKI_CODE); reconciler.setRepairer(dr, XWikiPartitionScanner.XWIKI_CODE); /* Use a uniform style for pre blocks. */ RuleBasedScanner preScanner = new RuleBasedScanner(); preScanner.setDefaultReturnToken( new Token(Preferences.getDefault().getTextAttribute(Preferences.Style.CODE))); dr = new DefaultDamagerRepairer(preScanner); reconciler.setDamager(dr, XWikiPartitionScanner.XWIKI_PRE); reconciler.setRepairer(dr, XWikiPartitionScanner.XWIKI_PRE); RuleBasedScanner javadocScanner = new GroovyScanner(); dr = new DefaultDamagerRepairer(javadocScanner); reconciler.setDamager(dr, GroovyPartitionScanner.GROOVY_DEFAULT); reconciler.setRepairer(dr, GroovyPartitionScanner.GROOVY_DEFAULT); return reconciler; }
public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) { synchronized (lock) { if (reconciler == null) { reconciler = new PresentationReconciler(); reconciler.setDocumentPartitioning(IPythonPartitions.PYTHON_PARTITION_TYPE); DefaultDamagerRepairer dr; // DefaultDamagerRepairer implements both IPresentationDamager, IPresentationRepairer // IPresentationDamager::getDamageRegion does not scan, just // returns the intersection of document event, and partition region // IPresentationRepairer::createPresentation scans // gets each token, and sets text attributes according to token // We need to cover all the content types from PyPartitionScanner // Comments have uniform color commentScanner = new PyColoredScanner(colorCache, PydevEditorPrefs.COMMENT_COLOR); dr = new DefaultDamagerRepairer(commentScanner); reconciler.setDamager(dr, IPythonPartitions.PY_COMMENT); reconciler.setRepairer(dr, IPythonPartitions.PY_COMMENT); // Backquotes have uniform color backquotesScanner = new PyColoredScanner(colorCache, PydevEditorPrefs.BACKQUOTES_COLOR); dr = new DefaultDamagerRepairer(backquotesScanner); reconciler.setDamager(dr, IPythonPartitions.PY_BACKQUOTES); reconciler.setRepairer(dr, IPythonPartitions.PY_BACKQUOTES); // Strings have uniform color stringScanner = new PyColoredScanner(colorCache, PydevEditorPrefs.STRING_COLOR); dr = new DefaultDamagerRepairer(stringScanner); reconciler.setDamager(dr, IPythonPartitions.PY_SINGLELINE_STRING1); reconciler.setRepairer(dr, IPythonPartitions.PY_SINGLELINE_STRING1); reconciler.setDamager(dr, IPythonPartitions.PY_SINGLELINE_STRING2); reconciler.setRepairer(dr, IPythonPartitions.PY_SINGLELINE_STRING2); reconciler.setDamager(dr, IPythonPartitions.PY_MULTILINE_STRING1); reconciler.setRepairer(dr, IPythonPartitions.PY_MULTILINE_STRING1); reconciler.setDamager(dr, IPythonPartitions.PY_MULTILINE_STRING2); reconciler.setRepairer(dr, IPythonPartitions.PY_MULTILINE_STRING2); // Default content is code, we need syntax highlighting codeScanner = new PyCodeScanner(colorCache); dr = new DefaultDamagerRepairer(codeScanner); reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE); reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE); } } return reconciler; }
@Override public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) { PresentationReconciler reconciler = new PresentationReconciler(); reconciler.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer)); MarkupDamagerRepairer damagerRepairer = new MarkupDamagerRepairer(getMarkupScanner()); for (String partitionType : FastMarkupPartitioner.ALL_CONTENT_TYPES) { reconciler.setDamager(damagerRepairer, partitionType); reconciler.setRepairer(damagerRepairer, partitionType); } reconciler.setDamager(damagerRepairer, IDocument.DEFAULT_CONTENT_TYPE); reconciler.setRepairer(damagerRepairer, IDocument.DEFAULT_CONTENT_TYPE); return reconciler; }
@Override public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) { PresentationReconciler pr = new PresentationReconciler(); pr.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer)); setDamagerRepairer(pr, new DefaultDamagerRepairer(scanner), IDocument.DEFAULT_CONTENT_TYPE); setDamagerRepairer( pr, new DefaultDamagerRepairer(new MultilineCommentScanner(scanner.getCommentAttribute())), JsPartitionScanner.MULTILINE_COMMENT); setDamagerRepairer( pr, new DefaultDamagerRepairer(new MultilineCommentScanner(scanner.getJsDocAttribute())), JsPartitionScanner.JSDOC); return pr; }
@Override public IPresentationReconciler getPresentationReconciler(final ISourceViewer aSourceViewer) { initProviders(); // Scanners RestLiteralBlockScanner literalBlockScanner = new RestLiteralBlockScanner(pRuleProvider); RestSectionBlockScanner sectionBlockScanner = new RestSectionBlockScanner(pRuleProvider); RestSourceBlockScanner sourceBlockScanner = new RestSourceBlockScanner(pTokenProvider); RestTableBlockScanner tableBlockScanner = new RestTableBlockScanner(pRuleProvider); // Reconciler PresentationReconciler reconciler = new PresentationReconciler(); reconciler.setDocumentPartitioning(getConfiguredDocumentPartitioning(aSourceViewer)); // Text data DefaultDamagerRepairer dr = new DefaultDamagerRepairer(getDocumentScanner()); reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE); reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE); // Literal blocks dr = new DefaultDamagerRepairer(literalBlockScanner); reconciler.setDamager(dr, RestPartitionScanner.LITERAL_BLOCK); reconciler.setRepairer(dr, RestPartitionScanner.LITERAL_BLOCK); // Section blocks dr = new DefaultDamagerRepairer(sectionBlockScanner); reconciler.setDamager(dr, RestPartitionScanner.SECTION_BLOCK); reconciler.setRepairer(dr, RestPartitionScanner.SECTION_BLOCK); // Source blocks dr = new DefaultDamagerRepairer(sourceBlockScanner); reconciler.setDamager(dr, RestPartitionScanner.SOURCE_BLOCK); reconciler.setRepairer(dr, RestPartitionScanner.SOURCE_BLOCK); // Table blocks dr = new DefaultDamagerRepairer(tableBlockScanner); reconciler.setDamager(dr, RestPartitionScanner.GRID_TABLE_BLOCK); reconciler.setRepairer(dr, RestPartitionScanner.GRID_TABLE_BLOCK); return reconciler; }
@Override public IPresentationReconciler getPresentationReconciler(final ISourceViewer sourceViewer) { final PresentationReconciler reconciler = new ErlangPresentationReconciler(); reconciler.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer)); DefaultDamagerRepairer dr = new ErlDamagerRepairer(codeScanner); reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE); reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE); dr = new ErlDamagerRepairer(commentScanner); reconciler.setDamager(dr, IErlangPartitions.ERLANG_COMMENT); reconciler.setRepairer(dr, IErlangPartitions.ERLANG_COMMENT); dr = new ErlDamagerRepairer(stringScanner); reconciler.setDamager(dr, IErlangPartitions.ERLANG_STRING); reconciler.setRepairer(dr, IErlangPartitions.ERLANG_STRING); dr = new ErlDamagerRepairer(qatomScanner); reconciler.setDamager(dr, IErlangPartitions.ERLANG_QATOM); reconciler.setRepairer(dr, IErlangPartitions.ERLANG_QATOM); dr = new ErlDamagerRepairer(charScanner); reconciler.setDamager(dr, IErlangPartitions.ERLANG_CHARACTER); reconciler.setRepairer(dr, IErlangPartitions.ERLANG_CHARACTER); return reconciler; }