postcss-less
Version:
LESS parser for PostCSS
49 lines (35 loc) • 1.76 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = tokenizeDefault;
var _globals = require('./globals');
var _isEscaping = require('./is-escaping');
var _isEscaping2 = _interopRequireDefault(_isEscaping);
var _tokenizeInlineComment = require('./tokenize-inline-comment');
var _tokenizeInlineComment2 = _interopRequireDefault(_tokenizeInlineComment);
var _tokenizeMultilineComment = require('./tokenize-multiline-comment');
var _tokenizeMultilineComment2 = _interopRequireDefault(_tokenizeMultilineComment);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function tokenizeDefault(state) {
state.nextSymbolCode = state.css.charCodeAt(state.pos + 1);
if (state.symbolCode === _globals.slash && state.nextSymbolCode === _globals.asterisk) {
(0, _tokenizeMultilineComment2.default)(state);
} else if (state.symbolCode === _globals.slash && state.nextSymbolCode === _globals.slash) {
(0, _tokenizeInlineComment2.default)(state);
} else {
if ((0, _isEscaping2.default)(state) === false) {
_globals.wordEndPattern.lastIndex = state.pos + 1;
_globals.wordEndPattern.test(state.css);
if (_globals.wordEndPattern.lastIndex === 0) {
state.nextPos = state.css.length - 1;
} else {
state.nextPos = _globals.wordEndPattern.lastIndex - 2;
}
}
state.cssPart = state.css.slice(state.pos, state.nextPos + 1);
state.tokens.push(['word', state.cssPart, state.line, state.pos - state.offset, state.line, state.nextPos - state.offset]);
state.pos = state.nextPos;
}
}
module.exports = exports['default'];