public String parse(String markupContent) { if (markupLanguage == null) { throw new IllegalStateException("Must set markupLanguage"); //$NON-NLS-1$ } OutlineParser parser = new OutlineParser(markupLanguage); OutlineItem root = parser.parse(markupContent); return createToc(root); }
private void initializeOutlineParser() { synchronized (WikiTextSourceEditor.this) { if (outlineParser == null) { outlineParser = new OutlineParser(); outlineParser.setLabelMaxLength(48); outlineModel = outlineParser.createRootItem(); } } }
public OutlineItem createRootItem() { return createOutlineItem(null, 0, "<root>", 0, 0, "<root>"); //$NON-NLS-1$ //$NON-NLS-2$ }
public OutlineItem parse(String markup) { OutlineItem root = createRootItem(); return parse(root, markup); }
public Object getInformation2(ITextViewer textViewer, IRegion subject) { if (outline == null) { // If the outline was not set then parse it. This can happen in a task editor if (markupLanguage != null) { IDocument document = textViewer.getDocument(); if (document != null && document.getLength() > 0) { MarkupLanguage language = markupLanguage.clone(); OutlineParser outlineParser = new OutlineParser(); outlineParser.setMarkupLanguage(language.clone()); String markup = document.get(); final OutlineItem outline = outlineParser.parse(markup); if (MarkupSourceViewerConfiguration.this.file != null) { outline.setResourcePath(MarkupSourceViewerConfiguration.this.file.getFullPath().toString()); } return outline; } } } return outline; }
@Override protected IStatus run(IProgressMonitor monitor) { outlineParser.setMarkupLanguage(language); if (shouldCancel()) { return Status.CANCEL_STATUS; } final OutlineItem rootItem = outlineParser.parse(content); if (shouldCancel()) { return Status.CANCEL_STATUS; } display.asyncExec(new Runnable() { public void run() { updateOutline(contentGeneration, rootItem); } }); return Status.OK_STATUS; }
@Override public SplitOutlineItem parse(String markup) { SplitOutlineItem rootItem = (SplitOutlineItem) super.parse(markup); if (!rootItem.getChildren().isEmpty()) { SplitOutlineItem firstChild = (SplitOutlineItem) rootItem.getChildren().get(0); if (firstChild.getSplitTarget() == null || firstChild.getSplitTarget().equals(rootItem.getSplitTarget())) { rootItem.setLabel(firstChild.getLabel()); } else { rootItem.setLabel(""); //$NON-NLS-1$ } } return rootItem; } }
public OutlineItem parse(OutlineItem root, String markup) { if (markup == null || markup.length() == 0 || markupLanguage == null) { root.setLength(markup == null ? 0 : markup.length()); return root; } root.setLength(markup.length()); markupLanguage.setFilterGenerativeContents(true); markupLanguage.setBlocksOnly(isBlocksOnly()); try { OutlineBuilder outlineBuilder = (OutlineBuilder) createOutlineUpdater(root); outlineBuilder.idGenerator.setGenerationStrategy(markupLanguage.getIdGenerationStrategy()); MarkupParser markupParser = new MarkupParser(); markupParser.setBuilder(outlineBuilder); markupParser.setMarkupLanguage(markupLanguage); markupParser.parse(markup); } finally { markupLanguage.setFilterGenerativeContents(false); markupLanguage.setBlocksOnly(false); } return root; }
@Override protected IStatus run(IProgressMonitor monitor) { outlineParser.setMarkupLanguage(language); if (shouldCancel()) { return Status.CANCEL_STATUS; } final OutlineItem rootItem = outlineParser.parse(content); if (shouldCancel()) { return Status.CANCEL_STATUS; } display.asyncExec(new Runnable() { public void run() { updateOutline(contentGeneration, rootItem); } }); return Status.OK_STATUS; }
@Override public int processLineContent(String line, int offset) { if (blockLineNumber++ > 0) { setClosed(true); return 0; } if (!getMarkupLanguage().isFilterGenerativeContents()) { OutlineParser outlineParser = new OutlineParser(new TWikiLanguage()); OutlineItem rootItem = outlineParser.parse(state.getMarkupContent()); emitToc(rootItem); } return -1; }
private void updateOutlineNow() { if (!outlineDirty) { return; } if (!isSourceViewerValid()) { return; } // we maintain the outline even if the outline page is not in use, which allows us to use the outline for // content assist and other things MarkupLanguage markupLanguage = getMarkupLanguage(); if (markupLanguage == null) { return; } final MarkupLanguage language = markupLanguage.clone(); final String content = document.get(); final int contentGeneration; synchronized (MarkupEditor.this) { contentGeneration = documentGeneration; } outlineParser.setMarkupLanguage(language); OutlineItem rootItem = outlineParser.parse(content); updateOutline(contentGeneration, rootItem); }
id = idGenerator.newId(kind, fullLabelText); currentItem = createOutlineItem(currentItem, level, id, offset, length, label); currentItem.setTooltip(fullLabelText); currentItem.setKind(kind);
OutlineParser outlineParser = new OutlineParser(new TextileLanguage()); OutlineItem rootItem = outlineParser.parse(state.getMarkupContent());
private void updateOutlineNow() { if (!outlineDirty) { return; } if (getSourceViewer().getTextWidget().isDisposed()) { return; } // we maintain the outline even if the outline page is not in use, which allows us to use the outline for // content assist and other things MarkupLanguage markupLanguage = getMarkupLanguage(); if (markupLanguage == null) { return; } final MarkupLanguage language = markupLanguage.clone(); final String content = document.get(); final int contentGeneration; synchronized (WikiTextSourceEditor.this) { contentGeneration = documentGeneration; initializeOutlineParser(); } outlineParser.setMarkupLanguage(language); OutlineItem rootItem = outlineParser.parse(content); updateOutline(contentGeneration, rootItem); }
@Override public int processLineContent(String line, int offset) { if (blockLineNumber++ > 0) { setClosed(true); return 0; } if (!getMarkupLanguage().isFilterGenerativeContents()) { String options = matcher.group(1); setOptions(options); OutlineParser outlineParser = new OutlineParser(new ConfluenceLanguage()); OutlineItem rootItem = outlineParser.parse(state.getMarkupContent()); emitToc(rootItem); } setClosed(true); return matcher.start(2); }
@Override public int processLineContent(String line, int offset) { if (blockLineNumber++ > 0) { setClosed(true); return 0; } if (!getMarkupLanguage().isFilterGenerativeContents()) { String options = matcher.group(1); setOptions(options); OutlineParser outlineParser = new OutlineParser(new ConfluenceLanguage()); OutlineItem rootItem = outlineParser.parse(state.getMarkupContent()); emitToc(rootItem); } setClosed(true); return matcher.start(2); }
OutlineItem outline = new OutlineParser(markupLanguage).parse(markupContent);