Search in sources :

Example 1 with MarkupDocumentProvider

use of org.eclipse.mylyn.internal.wikitext.ui.editor.syntax.MarkupDocumentProvider in project mylyn.docs by eclipse.

the class MarkupEditor method setMarkupLanguage.

public void setMarkupLanguage(MarkupLanguage markupLanguage, boolean persistSetting) {
    if (markupLanguage instanceof AbstractMarkupLanguage) {
        ((AbstractMarkupLanguage) markupLanguage).setEnableMacros(false);
    }
    ((MarkupDocumentProvider) getDocumentProvider()).setMarkupLanguage(markupLanguage);
    IDocument document = getDocumentProvider().getDocument(getEditorInput());
    IDocumentPartitioner partitioner = document.getDocumentPartitioner();
    if (partitioner instanceof FastMarkupPartitioner) {
        final FastMarkupPartitioner fastMarkupPartitioner = (FastMarkupPartitioner) partitioner;
        fastMarkupPartitioner.setMarkupLanguage(markupLanguage);
    }
    sourceViewerConfiguration.setMarkupLanguage(markupLanguage);
    if (getSourceViewer() != null) {
        getSourceViewer().invalidateTextPresentation();
    }
    outlineDirty = true;
    scheduleOutlineUpdate();
    updateSourceTabLabel();
    if (viewer != null) {
        viewer.getTextWidget().setData(MarkupLanguage.class.getName(), getMarkupLanguage());
    }
    if (persistSetting && markupLanguage != null) {
        storeMarkupLanguagePreference(markupLanguage);
    }
    if (persistSetting) {
        ISourceViewer sourceViewer = getSourceViewer();
        if (sourceViewer instanceof MarkupProjectionViewer) {
            IReconciler reconciler = ((MarkupProjectionViewer) sourceViewer).getReconciler();
            if (reconciler instanceof MarkupMonoReconciler) {
                ((MarkupMonoReconciler) reconciler).forceReconciling();
            }
        }
    }
}
Also used : FastMarkupPartitioner(org.eclipse.mylyn.internal.wikitext.ui.editor.syntax.FastMarkupPartitioner) IReconciler(org.eclipse.jface.text.reconciler.IReconciler) IDocumentPartitioner(org.eclipse.jface.text.IDocumentPartitioner) MarkupMonoReconciler(org.eclipse.mylyn.internal.wikitext.ui.editor.reconciler.MarkupMonoReconciler) AbstractMarkupLanguage(org.eclipse.mylyn.wikitext.parser.markup.AbstractMarkupLanguage) MarkupLanguage(org.eclipse.mylyn.wikitext.parser.markup.MarkupLanguage) AbstractMarkupLanguage(org.eclipse.mylyn.wikitext.parser.markup.AbstractMarkupLanguage) ISourceViewer(org.eclipse.jface.text.source.ISourceViewer) MarkupDocumentProvider(org.eclipse.mylyn.internal.wikitext.ui.editor.syntax.MarkupDocumentProvider) IDocument(org.eclipse.jface.text.IDocument)

Aggregations

IDocument (org.eclipse.jface.text.IDocument)1 IDocumentPartitioner (org.eclipse.jface.text.IDocumentPartitioner)1 IReconciler (org.eclipse.jface.text.reconciler.IReconciler)1 ISourceViewer (org.eclipse.jface.text.source.ISourceViewer)1 MarkupMonoReconciler (org.eclipse.mylyn.internal.wikitext.ui.editor.reconciler.MarkupMonoReconciler)1 FastMarkupPartitioner (org.eclipse.mylyn.internal.wikitext.ui.editor.syntax.FastMarkupPartitioner)1 MarkupDocumentProvider (org.eclipse.mylyn.internal.wikitext.ui.editor.syntax.MarkupDocumentProvider)1 AbstractMarkupLanguage (org.eclipse.mylyn.wikitext.parser.markup.AbstractMarkupLanguage)1 MarkupLanguage (org.eclipse.mylyn.wikitext.parser.markup.MarkupLanguage)1