@Override public boolean parse(final InlineParser inlineParser) { final BasedSequence match = inlineParser.match(inlineParser.getParsing().intellijDummyIdentifier ? MACRO_REFERENCE_INTELLIJ : MACRO_REFERENCE); if (match != null) { BasedSequence name = match.midSequence(3, -3); MacroReference macro = new MacroReference(match.subSequence(0, 3), name, match.midSequence(-3)); inlineParser.flushTextNode(); inlineParser.getBlock().appendChild(macro); return true; } return false; }
public SimTocBlock(BasedSequence chars, BasedSequence styleChars, BasedSequence titleChars) { super(chars, styleChars, true); int anchorPos = chars.indexOf('#', closingMarker.getEndOffset() - chars.getStartOffset()); if (anchorPos == -1) { throw new IllegalStateException("Invalid TOC block sequence"); } anchorMarker = chars.subSequence(anchorPos, anchorPos + 1); if (titleChars != null) { if (titleChars.length() < 2) { throw new IllegalStateException("Invalid TOC block title sequence"); } openingTitleMarker = titleChars.subSequence(0, 1); title = titleChars.midSequence(1, -1).nullIfEmpty(); closingTitleMarker = titleChars.endSequence(1); } }
@Override public Node createNode(BasedSequence nodeChars) { BasedSequence footnoteId = nodeChars.midSequence(2, -1).trim(); FootnoteBlock footnoteBlock = footnoteId.length() > 0 ? footnoteRepository.get(footnoteId.toString()) : null; Footnote footnote = new Footnote(nodeChars.subSequence(0, 2), footnoteId, nodeChars.endSequence(1)); footnote.setFootnoteBlock(footnoteBlock); if (footnoteBlock != null) { footnoteRepository.addFootnoteReference(footnoteBlock, footnote); } return footnote; }
attributeValue = attributeValue.midSequence(1,-1);
attributeValue = attributeValue.midSequence(1,-1);
attributeValue = attributeValue.midSequence(1, -1);
@Override public Node createNode(BasedSequence nodeChars) { BasedSequence enumeratedReferenceId = nodeChars.midSequence(2, -1).trim(); EnumeratedReferenceBlock enumeratedReferenceBlock = enumeratedReferenceId.length() > 0 ? enumeratedReferenceRepository.get(enumeratedReferenceId.toString()) : null; if (nodeChars.charAt(1) == '@') { // reference link EnumeratedReferenceLink enumeratedReference = new EnumeratedReferenceLink(nodeChars.subSequence(0, 2), enumeratedReferenceId, nodeChars.endSequence(1)); enumeratedReference.setEnumeratedReferenceBlock(enumeratedReferenceBlock); return enumeratedReference; } else { // reference text EnumeratedReferenceText enumeratedReferenceText = new EnumeratedReferenceText(nodeChars.subSequence(0, 2), enumeratedReferenceId, nodeChars.endSequence(1)); enumeratedReferenceText.setEnumeratedReferenceBlock(enumeratedReferenceBlock); return enumeratedReferenceText; } }
if (chars.eolLength() > 0) chars = chars.midSequence(0, -1);
public SimTocBlock(BasedSequence chars, BasedSequence styleChars, BasedSequence titleChars) { super(chars, styleChars, true); int anchorPos = chars.indexOf('#', closingMarker.getEndOffset() - chars.getStartOffset()); if (anchorPos == -1) { throw new IllegalStateException("Invalid TOC block sequence"); } anchorMarker = chars.subSequence(anchorPos, anchorPos + 1); if (titleChars != null) { if (titleChars.length() < 2) { throw new IllegalStateException("Invalid TOC block title sequence"); } openingTitleMarker = titleChars.subSequence(0, 1); title = titleChars.midSequence(1, -1).nullIfEmpty(); closingTitleMarker = titleChars.endSequence(1); } }
@Override public Node createNode(BasedSequence nodeChars) { BasedSequence footnoteId = nodeChars.midSequence(2, -1).trim(); FootnoteBlock footnoteBlock = footnoteId.length() > 0 ? footnoteRepository.get(footnoteId.toString()) : null; Footnote footnote = new Footnote(nodeChars.subSequence(0, 2), footnoteId, nodeChars.endSequence(1)); footnote.setFootnoteBlock(footnoteBlock); if (footnoteBlock != null) { footnoteRepository.addFootnoteReference(footnoteBlock, footnote); } return footnote; }
attributeValue = attributeValue.midSequence(1, -1);
if (chars.eolLength() > 0) chars = chars.midSequence(0, -1);