Search in sources :

Example 1 with ListItem

use of com.vladsch.flexmark.ast.ListItem in project flexmark-java by vsch.

the class TaskListItemBlockPreProcessor method preProcess.

@Override
public void preProcess(ParserState state, Block block) {
    if (block instanceof BulletListItem || block instanceof OrderedListItem) {
        // we chop up the previous paragraph into definition terms and add the definition item to the last one
        // we add all these to the previous DefinitionList or add a new one if there isn't one
        final ListItem listItem = (ListItem) block;
        final BasedSequence markerSuffix = listItem.getMarkerSuffix();
        if (markerSuffix.matches("[ ]") || markerSuffix.matches("[x]") || markerSuffix.matches("[X]")) {
            TaskListItem taskListItem = new TaskListItem(listItem);
            taskListItem.setTight(listItem.isTight());
            listItem.insertBefore(taskListItem);
            listItem.unlink();
            state.blockAdded(taskListItem);
            state.blockRemoved(listItem);
        }
    }
}
Also used : BulletListItem(com.vladsch.flexmark.ast.BulletListItem) TaskListItem(com.vladsch.flexmark.ext.gfm.tasklist.TaskListItem) BasedSequence(com.vladsch.flexmark.util.sequence.BasedSequence) OrderedListItem(com.vladsch.flexmark.ast.OrderedListItem) ListItem(com.vladsch.flexmark.ast.ListItem) BulletListItem(com.vladsch.flexmark.ast.BulletListItem) TaskListItem(com.vladsch.flexmark.ext.gfm.tasklist.TaskListItem) OrderedListItem(com.vladsch.flexmark.ast.OrderedListItem)

Aggregations

BulletListItem (com.vladsch.flexmark.ast.BulletListItem)1 ListItem (com.vladsch.flexmark.ast.ListItem)1 OrderedListItem (com.vladsch.flexmark.ast.OrderedListItem)1 TaskListItem (com.vladsch.flexmark.ext.gfm.tasklist.TaskListItem)1 BasedSequence (com.vladsch.flexmark.util.sequence.BasedSequence)1