use of com.vladsch.flexmark.ast.DelimitedNode in project flexmark-java by vsch.
the class StrikethroughSubscriptDelimiterProcessor method process.
@Override
public void process(Delimiter opener, Delimiter closer, int delimitersUsed) {
// wrap nodes between delimiters in strikethrough.
DelimitedNode emphasis = delimitersUsed == 1 ? new Subscript(opener.getTailChars(delimitersUsed), BasedSequence.NULL, closer.getLeadChars(delimitersUsed)) : new Strikethrough(opener.getTailChars(delimitersUsed), BasedSequence.NULL, closer.getLeadChars(delimitersUsed));
opener.moveNodesBetweenDelimitersTo(emphasis, closer);
}
use of com.vladsch.flexmark.ast.DelimitedNode in project flexmark-java by vsch.
the class Delimiter method moveNodesBetweenDelimitersTo.
public void moveNodesBetweenDelimitersTo(DelimitedNode delimitedNode, Delimiter closer) {
Node tmp = getNode().getNext();
while (tmp != null && tmp != closer.getNode()) {
Node next = tmp.getNext();
((Node) delimitedNode).appendChild(tmp);
tmp = next;
}
delimitedNode.setText(input.subSequence(getEndIndex(), closer.getStartIndex()));
getNode().insertAfter((Node) delimitedNode);
}
use of com.vladsch.flexmark.ast.DelimitedNode in project flexmark-java by vsch.
the class EmphasisDelimiterProcessor method process.
@Override
public void process(Delimiter opener, Delimiter closer, int delimitersUsed) {
DelimitedNode emphasis = delimitersUsed == 1 ? new Emphasis(opener.getTailChars(delimitersUsed), BasedSequence.NULL, closer.getLeadChars(delimitersUsed)) : new StrongEmphasis(opener.getTailChars(delimitersUsed), BasedSequence.NULL, closer.getLeadChars(delimitersUsed));
opener.moveNodesBetweenDelimitersTo(emphasis, closer);
}
Aggregations