/** * Process the given line of markup starting at the provided offset. * * @param line * the markup line to process * @param offset * the offset at which to start processing * * @return a non-negative integer to indicate that processing of the block completed before the end of the line, or * -1 if the entire line was processed. */ public int processLine(String line, int offset) { getState().setLineCharacterOffset(offset); return processLineContent(line, offset); }
state.setLineCharacterOffset(start); builder.beginBlock(BlockType.TABLE_CELL_NORMAL, attributes);
state.setLineCharacterOffset(start); builder.beginBlock(BlockType.TABLE_CELL_NORMAL, attributes);
Textile.configureAttributes(attributes, rowMatcher, 4, false); state.setLineCharacterOffset(start); builder.beginBlock(header ? BlockType.TABLE_CELL_HEADER : BlockType.TABLE_CELL_NORMAL, attributes);
state.setLineCharacterOffset(0); state.setLineSegmentEndOffset(0); state.setLineLength(line.length()); state.setLineCharacterOffset(0); state.setLineLength(0);
int newOffset = phraseModifier.getLineStartOffset(); if (offset < newOffset) { state.setLineCharacterOffset(state.getShift() + offset); state.setLineSegmentEndOffset(state.getShift() + newOffset); String text = line.substring(offset, newOffset); phraseModifier.setParser(parser); phraseModifier.setState(state); state.setLineCharacterOffset(state.getShift() + phraseModifier.getLineStartOffset()); state.setLineSegmentEndOffset(state.getShift() + phraseModifier.getLineEndOffset()); phraseModifier.emit(); state.setLineCharacterOffset(state.getShift() + offset); state.setLineSegmentEndOffset(state.getShift() + line.length()); emitMarkupText(parser, state, line.substring(offset));
@Override public void emit() { String footnote = group(1); if (((TextileLanguage) getMarkupLanguage()).isPreprocessFootnotes() && !((TextileContentState) getState()).hasFootnoteNumber(footnote)) { builder.characters(group(0)); } else { String htmlId = state.getFootnoteId(footnote); int originalSegmentEndOffset = state.getLineSegmentEndOffset(); state.setLineCharacterOffset(start(1) - 1); state.setLineSegmentEndOffset(end(1) + 1); builder.beginSpan(SpanType.SUPERSCRIPT, new Attributes(null, "footnote", null, null)); //$NON-NLS-1$ builder.link("#" + htmlId, footnote); //$NON-NLS-1$ builder.endSpan(); state.setLineCharacterOffset(originalSegmentEndOffset); state.setLineSegmentEndOffset(originalSegmentEndOffset); } } }
tokenReplacement.setState(state); state.setLineCharacterOffset(state.getShift() + tokenReplacement.getLineStartOffset()); state.setLineSegmentEndOffset(state.getShift() + tokenReplacement.getLineEndOffset());