123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- "use strict";
- exports.__esModule = true;
- exports.default = void 0;
- var _chalk = _interopRequireDefault(require("chalk"));
- var _tokenize = _interopRequireDefault(require("./tokenize"));
- var _input = _interopRequireDefault(require("./input"));
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
- var HIGHLIGHT_THEME = {
- 'brackets': _chalk.default.cyan,
- 'at-word': _chalk.default.cyan,
- 'comment': _chalk.default.gray,
- 'string': _chalk.default.green,
- 'class': _chalk.default.yellow,
- 'call': _chalk.default.cyan,
- 'hash': _chalk.default.magenta,
- '(': _chalk.default.cyan,
- ')': _chalk.default.cyan,
- '{': _chalk.default.yellow,
- '}': _chalk.default.yellow,
- '[': _chalk.default.yellow,
- ']': _chalk.default.yellow,
- ':': _chalk.default.yellow,
- ';': _chalk.default.yellow
- };
- function getTokenType(_ref, processor) {
- var type = _ref[0],
- value = _ref[1];
- if (type === 'word') {
- if (value[0] === '.') {
- return 'class';
- }
- if (value[0] === '#') {
- return 'hash';
- }
- }
- if (!processor.endOfFile()) {
- var next = processor.nextToken();
- processor.back(next);
- if (next[0] === 'brackets' || next[0] === '(') return 'call';
- }
- return type;
- }
- function terminalHighlight(css) {
- var processor = (0, _tokenize.default)(new _input.default(css), {
- ignoreErrors: true
- });
- var result = '';
- var _loop = function _loop() {
- var token = processor.nextToken();
- var color = HIGHLIGHT_THEME[getTokenType(token, processor)];
- if (color) {
- result += token[1].split(/\r?\n/).map(function (i) {
- return color(i);
- }).join('\n');
- } else {
- result += token[1];
- }
- };
- while (!processor.endOfFile()) {
- _loop();
- }
- return result;
- }
- var _default = terminalHighlight;
- exports.default = _default;
- module.exports = exports.default;
|