/** * @author Titus Wormer * @copyright 2015 Titus Wormer * @license MIT * @module remark:parse:tokenize:break * @fileoverview Tokenise a break. */ 'use strict'; var locate = require('../locate/break'); module.exports = hardBreak; hardBreak.locator = locate; var MIN_BREAK_LENGTH = 2; /* Tokenise a break. */ function hardBreak(eat, value, silent) { var self = this; var breaks = self.options.breaks; var length = value.length; var index = -1; var queue = ''; var character; while (++index < length) { character = value.charAt(index); if (character === '\n') { if (!breaks && index < MIN_BREAK_LENGTH) { return; } /* istanbul ignore if - never used (yet) */ if (silent) { return true; } queue += character; return eat(queue)({type: 'break'}); } if (character !== ' ') { return; } queue += character; } }