UNPKG

8.75 kBJavaScriptView Raw
1// koffee 1.14.0
2
3/*
400000000 00000000 000 000 0000000 00000000 00000000
5000 000 000 0000 000 000 000 000 000 000
60000000 0000000 000 0 000 000 000 0000000 0000000
7000 000 000 000 0000 000 000 000 000 000
8000 000 00000000 000 000 0000000 00000000 000 000
9 */
10var kolor, render;
11
12kolor = require('kxk').kolor;
13
14render = function(rgs) {
15 var cfunc, i, index, plain, ref, result, rng;
16 result = '';
17 plain = '';
18 for (index = i = 0, ref = rgs.length; 0 <= ref ? i < ref : i > ref; index = 0 <= ref ? ++i : --i) {
19 rng = rgs[index];
20 while (plain.length < rng.start) {
21 plain += ' ';
22 result += ' ';
23 }
24 cfunc = (function() {
25 switch (rng.clss) {
26 case 'text':
27 return function(s) {
28 return kolor.white(kolor.dim(s));
29 };
30 case 'comment':
31 return function(s) {
32 return kolor.gray(kolor.bold(s));
33 };
34 case 'punct comment':
35 case 'punct':
36 return function(s) {
37 return kolor.gray(kolor.dim(s));
38 };
39 case 'function':
40 case 'function call':
41 case 'string single':
42 case 'string double':
43 case 'dir text':
44 case 'property':
45 return function(s) {
46 return kolor.green(kolor.bold(s));
47 };
48 case 'punct function call':
49 case 'punct string single':
50 case 'punct string double':
51 case 'punct dir':
52 return function(s) {
53 return kolor.green(kolor.dim(s));
54 };
55 case 'obj':
56 case 'class':
57 case 'git file':
58 return function(s) {
59 return kolor.yellow(kolor.bold(s));
60 };
61 case 'punct git':
62 case 'git ext':
63 return function(s) {
64 return kolor.yellow(kolor.dim(s));
65 };
66 case 'number':
67 case 'keyword':
68 case 'url domain':
69 return function(s) {
70 return kolor.blue(kolor.bold(s));
71 };
72 case 'require':
73 case 'punct property':
74 return function(s) {
75 return kolor.green(kolor.dim(s));
76 };
77 case 'punct semver':
78 case 'url protocol':
79 case 'punct url':
80 return function(s) {
81 return kolor.magenta(s);
82 };
83 case 'semver':
84 case 'dir url tld':
85 case 'punct url tld':
86 return function(s) {
87 return kolor.magenta(kolor.bold(s));
88 };
89 default:
90 return function(s) {
91 return kolor.white(kolor.bold(s));
92 };
93 }
94 })();
95 plain += rng.match;
96 result += cfunc(rng.match);
97 }
98 return result;
99};
100
101module.exports = render;
102
103//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLmpzIiwic291cmNlUm9vdCI6Ii4uL2NvZmZlZSIsInNvdXJjZXMiOlsicmVuZGVyLmNvZmZlZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7O0FBQUEsSUFBQTs7QUFRRSxRQUFVLE9BQUEsQ0FBUSxLQUFSOztBQUVaLE1BQUEsR0FBUyxTQUFDLEdBQUQ7QUFFTCxRQUFBO0lBQUEsTUFBQSxHQUFTO0lBQ1QsS0FBQSxHQUFTO0FBRVQsU0FBYSwyRkFBYjtRQUNJLEdBQUEsR0FBTSxHQUFJLENBQUEsS0FBQTtBQUNWLGVBQU0sS0FBSyxDQUFDLE1BQU4sR0FBZSxHQUFHLENBQUMsS0FBekI7WUFDSSxLQUFBLElBQVU7WUFDVixNQUFBLElBQVU7UUFGZDtRQUlBLEtBQUE7QUFBUSxvQkFBTyxHQUFHLENBQUMsSUFBWDtBQUFBLHFCQUNDLE1BREQ7MkJBRUEsU0FBQyxDQUFEOytCQUFPLEtBQUssQ0FBQyxLQUFOLENBQVksS0FBSyxDQUFDLEdBQU4sQ0FBVSxDQUFWLENBQVo7b0JBQVA7QUFGQSxxQkFHQyxTQUhEOzJCQUlBLFNBQUMsQ0FBRDsrQkFBTyxLQUFLLENBQUMsSUFBTixDQUFXLEtBQUssQ0FBQyxJQUFOLENBQVcsQ0FBWCxDQUFYO29CQUFQO0FBSkEscUJBS0MsZUFMRDtBQUFBLHFCQUtpQixPQUxqQjsyQkFNQSxTQUFDLENBQUQ7K0JBQU8sS0FBSyxDQUFDLElBQU4sQ0FBVyxLQUFLLENBQUMsR0FBTixDQUFVLENBQVYsQ0FBWDtvQkFBUDtBQU5BLHFCQU9DLFVBUEQ7QUFBQSxxQkFPWSxlQVBaO0FBQUEscUJBTzRCLGVBUDVCO0FBQUEscUJBTzRDLGVBUDVDO0FBQUEscUJBTzRELFVBUDVEO0FBQUEscUJBT3VFLFVBUHZFOzJCQVFBLFNBQUMsQ0FBRDsrQkFBTyxLQUFLLENBQUMsS0FBTixDQUFZLEtBQUssQ0FBQyxJQUFOLENBQVcsQ0FBWCxDQUFaO29CQUFQO0FBUkEscUJBU0MscUJBVEQ7QUFBQSxxQkFTdUIscUJBVHZCO0FBQUEscUJBUzZDLHFCQVQ3QztBQUFBLHFCQVNtRSxXQVRuRTsyQkFVQSxTQUFDLENBQUQ7K0JBQU8sS0FBSyxDQUFDLEtBQU4sQ0FBWSxLQUFLLENBQUMsR0FBTixDQUFVLENBQVYsQ0FBWjtvQkFBUDtBQVZBLHFCQVdDLEtBWEQ7QUFBQSxxQkFXTyxPQVhQO0FBQUEscUJBV2UsVUFYZjsyQkFZQSxTQUFDLENBQUQ7K0JBQU8sS0FBSyxDQUFDLE1BQU4sQ0FBYSxLQUFLLENBQUMsSUFBTixDQUFXLENBQVgsQ0FBYjtvQkFBUDtBQVpBLHFCQWFDLFdBYkQ7QUFBQSxxQkFhYSxTQWJiOzJCQWNBLFNBQUMsQ0FBRDsrQkFBTyxLQUFLLENBQUMsTUFBTixDQUFhLEtBQUssQ0FBQyxHQUFOLENBQVUsQ0FBVixDQUFiO29CQUFQO0FBZEEscUJBZUMsUUFmRDtBQUFBLHFCQWVVLFNBZlY7QUFBQSxxQkFlb0IsWUFmcEI7MkJBZ0JBLFNBQUMsQ0FBRDsrQkFBTyxLQUFLLENBQUMsSUFBTixDQUFXLEtBQUssQ0FBQyxJQUFOLENBQVcsQ0FBWCxDQUFYO29CQUFQO0FBaEJBLHFCQWlCQyxTQWpCRDtBQUFBLHFCQWlCVyxnQkFqQlg7MkJBa0JBLFNBQUMsQ0FBRDsrQkFBTyxLQUFLLENBQUMsS0FBTixDQUFZLEtBQUssQ0FBQyxHQUFOLENBQVUsQ0FBVixDQUFaO29CQUFQO0FBbEJBLHFCQW1CQyxjQW5CRDtBQUFBLHFCQW1CZ0IsY0FuQmhCO0FBQUEscUJBbUIrQixXQW5CL0I7MkJBb0JBLFNBQUMsQ0FBRDsrQkFBTyxLQUFLLENBQUMsT0FBTixDQUFjLENBQWQ7b0JBQVA7QUFwQkEscUJBcUJDLFFBckJEO0FBQUEscUJBcUJVLGFBckJWO0FBQUEscUJBcUJ3QixlQXJCeEI7MkJBc0JBLFNBQUMsQ0FBRDsrQkFBTyxLQUFLLENBQUMsT0FBTixDQUFjLEtBQUssQ0FBQyxJQUFOLENBQVcsQ0FBWCxDQUFkO29CQUFQO0FBdEJBOzJCQXdCQSxTQUFDLENBQUQ7K0JBQU8sS0FBSyxDQUFDLEtBQU4sQ0FBWSxLQUFLLENBQUMsSUFBTixDQUFXLENBQVgsQ0FBWjtvQkFBUDtBQXhCQTs7UUEwQlIsS0FBQSxJQUFVLEdBQUcsQ0FBQztRQUNkLE1BQUEsSUFBVSxLQUFBLENBQU0sR0FBRyxDQUFDLEtBQVY7QUFqQ2Q7V0FtQ0E7QUF4Q0s7O0FBMENULE1BQU0sQ0FBQyxPQUFQLEdBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiIyMjXG4wMDAwMDAwMCAgIDAwMDAwMDAwICAwMDAgICAwMDAgIDAwMDAwMDAgICAgMDAwMDAwMDAgIDAwMDAwMDAwIFxuMDAwICAgMDAwICAwMDAgICAgICAgMDAwMCAgMDAwICAwMDAgICAwMDAgIDAwMCAgICAgICAwMDAgICAwMDBcbjAwMDAwMDAgICAgMDAwMDAwMCAgIDAwMCAwIDAwMCAgMDAwICAgMDAwICAwMDAwMDAwICAgMDAwMDAwMCAgXG4wMDAgICAwMDAgIDAwMCAgICAgICAwMDAgIDAwMDAgIDAwMCAgIDAwMCAgMDAwICAgICAgIDAwMCAgIDAwMFxuMDAwICAgMDAwICAwMDAwMDAwMCAgMDAwICAgMDAwICAwMDAwMDAwICAgIDAwMDAwMDAwICAwMDAgICAwMDBcbiMjI1xuXG57IGtvbG9yIH0gPSByZXF1aXJlICdreGsnXG5cbnJlbmRlciA9IChyZ3MpIC0+XG5cbiAgICByZXN1bHQgPSAnJ1xuICAgIHBsYWluICA9ICcnXG4gICAgXG4gICAgZm9yIGluZGV4IGluIFswLi4ucmdzLmxlbmd0aF1cbiAgICAgICAgcm5nID0gcmdzW2luZGV4XVxuICAgICAgICB3aGlsZSBwbGFpbi5sZW5ndGggPCBybmcuc3RhcnRcbiAgICAgICAgICAgIHBsYWluICArPSAnICdcbiAgICAgICAgICAgIHJlc3VsdCArPSAnICdcblxuICAgICAgICBjZnVuYyA9IHN3aXRjaCBybmcuY2xzc1xuICAgICAgICAgICAgd2hlbiAndGV4dCdcbiAgICAgICAgICAgICAgICAocykgLT4ga29sb3Iud2hpdGUga29sb3IuZGltIHNcbiAgICAgICAgICAgIHdoZW4gJ2NvbW1lbnQnXG4gICAgICAgICAgICAgICAgKHMpIC0+IGtvbG9yLmdyYXkga29sb3IuYm9sZCBzXG4gICAgICAgICAgICB3aGVuICdwdW5jdCBjb21tZW50JyAncHVuY3QnXG4gICAgICAgICAgICAgICAgKHMpIC0+IGtvbG9yLmdyYXkga29sb3IuZGltIHNcbiAgICAgICAgICAgIHdoZW4gJ2Z1bmN0aW9uJyAnZnVuY3Rpb24gY2FsbCcgJ3N0cmluZyBzaW5nbGUnICdzdHJpbmcgZG91YmxlJyAnZGlyIHRleHQnICdwcm9wZXJ0eSdcbiAgICAgICAgICAgICAgICAocykgLT4ga29sb3IuZ3JlZW4ga29sb3IuYm9sZCBzXG4gICAgICAgICAgICB3aGVuICdwdW5jdCBmdW5jdGlvbiBjYWxsJyAncHVuY3Qgc3RyaW5nIHNpbmdsZScgJ3B1bmN0IHN0cmluZyBkb3VibGUnICdwdW5jdCBkaXInXG4gICAgICAgICAgICAgICAgKHMpIC0+IGtvbG9yLmdyZWVuIGtvbG9yLmRpbSBzXG4gICAgICAgICAgICB3aGVuICdvYmonICdjbGFzcycgJ2dpdCBmaWxlJ1xuICAgICAgICAgICAgICAgIChzKSAtPiBrb2xvci55ZWxsb3cga29sb3IuYm9sZCBzXG4gICAgICAgICAgICB3aGVuICdwdW5jdCBnaXQnICdnaXQgZXh0J1xuICAgICAgICAgICAgICAgIChzKSAtPiBrb2xvci55ZWxsb3cga29sb3IuZGltIHNcbiAgICAgICAgICAgIHdoZW4gJ251bWJlcicgJ2tleXdvcmQnICd1cmwgZG9tYWluJ1xuICAgICAgICAgICAgICAgIChzKSAtPiBrb2xvci5ibHVlIGtvbG9yLmJvbGQgc1xuICAgICAgICAgICAgd2hlbiAncmVxdWlyZScgJ3B1bmN0IHByb3BlcnR5J1xuICAgICAgICAgICAgICAgIChzKSAtPiBrb2xvci5ncmVlbiBrb2xvci5kaW0gc1xuICAgICAgICAgICAgd2hlbiAncHVuY3Qgc2VtdmVyJyAndXJsIHByb3RvY29sJyAncHVuY3QgdXJsJ1xuICAgICAgICAgICAgICAgIChzKSAtPiBrb2xvci5tYWdlbnRhIHNcbiAgICAgICAgICAgIHdoZW4gJ3NlbXZlcicgJ2RpciB1cmwgdGxkJyAncHVuY3QgdXJsIHRsZCdcbiAgICAgICAgICAgICAgICAocykgLT4ga29sb3IubWFnZW50YSBrb2xvci5ib2xkIHNcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAocykgLT4ga29sb3Iud2hpdGUga29sb3IuYm9sZCBzXG4gICAgICAgICAgICBcbiAgICAgICAgcGxhaW4gICs9IHJuZy5tYXRjaFxuICAgICAgICByZXN1bHQgKz0gY2Z1bmMgcm5nLm1hdGNoXG4gICAgXG4gICAgcmVzdWx0XG5cbm1vZHVsZS5leHBvcnRzID0gcmVuZGVyXG4iXX0=
104//# sourceURL=../coffee/render.coffee
\No newline at end of file