merge named-colors patch

This commit is contained in:
Alexis Sellier
2011-12-10 13:41:20 +01:00
16 changed files with 208 additions and 24 deletions

View File

@@ -30,6 +30,7 @@ less:
build/ecma-5.js\
${SRC}/parser.js\
${SRC}/functions.js\
${SRC}/colors.js\
${SRC}/tree/*.js\
${SRC}/tree.js\
${SRC}/browser.js >> ${DIST}

151
lib/less/colors.js Normal file
View File

@@ -0,0 +1,151 @@
(function (tree) {
tree.colors = {
'aliceblue':'#f0f8ff',
'antiquewhite':'#faebd7',
'aqua':'#00ffff',
'aquamarine':'#7fffd4',
'azure':'#f0ffff',
'beige':'#f5f5dc',
'bisque':'#ffe4c4',
'black':'#000000',
'blanchedalmond':'#ffebcd',
'blue':'#0000ff',
'blueviolet':'#8a2be2',
'brown':'#a52a2a',
'burlywood':'#deb887',
'cadetblue':'#5f9ea0',
'chartreuse':'#7fff00',
'chocolate':'#d2691e',
'coral':'#ff7f50',
'cornflowerblue':'#6495ed',
'cornsilk':'#fff8dc',
'crimson':'#dc143c',
'cyan':'#00ffff',
'darkblue':'#00008b',
'darkcyan':'#008b8b',
'darkgoldenrod':'#b8860b',
'darkgray':'#a9a9a9',
'darkgrey':'#a9a9a9',
'darkgreen':'#006400',
'darkkhaki':'#bdb76b',
'darkmagenta':'#8b008b',
'darkolivegreen':'#556b2f',
'darkorange':'#ff8c00',
'darkorchid':'#9932cc',
'darkred':'#8b0000',
'darksalmon':'#e9967a',
'darkseagreen':'#8fbc8f',
'darkslateblue':'#483d8b',
'darkslategray':'#2f4f4f',
'darkslategrey':'#2f4f4f',
'darkturquoise':'#00ced1',
'darkviolet':'#9400d3',
'deeppink':'#ff1493',
'deepskyblue':'#00bfff',
'dimgray':'#696969',
'dimgrey':'#696969',
'dodgerblue':'#1e90ff',
'firebrick':'#b22222',
'floralwhite':'#fffaf0',
'forestgreen':'#228b22',
'fuchsia':'#ff00ff',
'gainsboro':'#dcdcdc',
'ghostwhite':'#f8f8ff',
'gold':'#ffd700',
'goldenrod':'#daa520',
'gray':'#808080',
'grey':'#808080',
'green':'#008000',
'greenyellow':'#adff2f',
'honeydew':'#f0fff0',
'hotpink':'#ff69b4',
'indianred':'#cd5c5c',
'indigo':'#4b0082',
'ivory':'#fffff0',
'khaki':'#f0e68c',
'lavender':'#e6e6fa',
'lavenderblush':'#fff0f5',
'lawngreen':'#7cfc00',
'lemonchiffon':'#fffacd',
'lightblue':'#add8e6',
'lightcoral':'#f08080',
'lightcyan':'#e0ffff',
'lightgoldenrodyellow':'#fafad2',
'lightgray':'#d3d3d3',
'lightgrey':'#d3d3d3',
'lightgreen':'#90ee90',
'lightpink':'#ffb6c1',
'lightsalmon':'#ffa07a',
'lightseagreen':'#20b2aa',
'lightskyblue':'#87cefa',
'lightslategray':'#778899',
'lightslategrey':'#778899',
'lightsteelblue':'#b0c4de',
'lightyellow':'#ffffe0',
'lime':'#00ff00',
'limegreen':'#32cd32',
'linen':'#faf0e6',
'magenta':'#ff00ff',
'maroon':'#800000',
'mediumaquamarine':'#66cdaa',
'mediumblue':'#0000cd',
'mediumorchid':'#ba55d3',
'mediumpurple':'#9370d8',
'mediumseagreen':'#3cb371',
'mediumslateblue':'#7b68ee',
'mediumspringgreen':'#00fa9a',
'mediumturquoise':'#48d1cc',
'mediumvioletred':'#c71585',
'midnightblue':'#191970',
'mintcream':'#f5fffa',
'mistyrose':'#ffe4e1',
'moccasin':'#ffe4b5',
'navajowhite':'#ffdead',
'navy':'#000080',
'oldlace':'#fdf5e6',
'olive':'#808000',
'olivedrab':'#6b8e23',
'orange':'#ffa500',
'orangered':'#ff4500',
'orchid':'#da70d6',
'palegoldenrod':'#eee8aa',
'palegreen':'#98fb98',
'paleturquoise':'#afeeee',
'palevioletred':'#d87093',
'papayawhip':'#ffefd5',
'peachpuff':'#ffdab9',
'peru':'#cd853f',
'pink':'#ffc0cb',
'plum':'#dda0dd',
'powderblue':'#b0e0e6',
'purple':'#800080',
'red':'#ff0000',
'rosybrown':'#bc8f8f',
'royalblue':'#4169e1',
'saddlebrown':'#8b4513',
'salmon':'#fa8072',
'sandybrown':'#f4a460',
'seagreen':'#2e8b57',
'seashell':'#fff5ee',
'sienna':'#a0522d',
'silver':'#c0c0c0',
'skyblue':'#87ceeb',
'slateblue':'#6a5acd',
'slategray':'#708090',
'slategrey':'#708090',
'snow':'#fffafa',
'springgreen':'#00ff7f',
'steelblue':'#4682b4',
'tan':'#d2b48c',
'teal':'#008080',
'thistle':'#d8bfd8',
'tomato':'#ff6347',
'turquoise':'#40e0d0',
'violet':'#ee82ee',
'wheat':'#f5deb3',
'white':'#ffffff',
'whitesmoke':'#f5f5f5',
'yellow':'#ffff00',
'yellowgreen':'#9acd32'
};
})(require('./tree'));

View File

@@ -117,6 +117,7 @@ less.Parser.importer = function (file, paths, callback) {
}
require('./functions');
require('./colors');
for (var k in less) { exports[k] = less[k] }

View File

@@ -486,7 +486,15 @@ less.Parser = function Parser(env) {
//
keyword: function () {
var k;
if (k = $(/^[_A-Za-z-][_A-Za-z0-9-]*/)) { return new(tree.Keyword)(k) }
if (k = $(/^[_A-Za-z-][_A-Za-z0-9-]*/)) {
if (tree.colors.hasOwnProperty(k)) {
// detect named color
return new(tree.Color)(tree.colors[k].slice(1));
} else {
return new(tree.Keyword)(k)
}
}
},
//

View File

@@ -46,3 +46,13 @@
#00ff00 {
color: #00ff00;
}
.lightenblue {
color: #3333ff;
}
.darkenblue {
color: #0000cc;
}
.unknowncolors {
color: blue2;
border: 2px solid superred;
}

View File

@@ -45,8 +45,8 @@
}
*/
.selector, .lots, .comments {
color: grey, /* blue */ orange;
color: #808080, /* blue */ #ffa500;
}
#last {
color: blue;
color: #0000ff;
}

View File

@@ -1,6 +1,6 @@
.comma-delimited {
background: url(bg.jpg) no-repeat, url(bg.png) repeat-x top left, url(bg);
text-shadow: -1px -1px 1px red, 6px 5px 5px yellow;
text-shadow: -1px -1px 1px #ff0000, 6px 5px 5px #ffff00;
-moz-box-shadow: 0pt 0pt 2px rgba(255, 255, 255, 0.4) inset, 0pt 4px 6px rgba(255, 255, 255, 0.4) inset;
}
@font-face {

View File

@@ -8,7 +8,7 @@
background: red;
}
.\34 04 strong {
color: fuchsia;
color: #ff00ff;
font-weight: bold;
}
.trailingTest\+ {

View File

@@ -64,7 +64,7 @@ p + h1 {
width: .1em;
background-color: #009998;
background-image: url(images/image.jpg);
background: -webkit-gradient(linear, left top, left bottom, from(red), to(blue));
background: -webkit-gradient(linear, left top, left bottom, from(#ff0000), to(#0000ff));
margin: ;
filter: alpha(opacity=100);
}

6
test/css/import.css vendored
View File

@@ -2,15 +2,15 @@
@import url(http://fonts.googleapis.com/css?family=Open+Sans);
#import {
color: red;
color: #ff0000;
}
.mixin {
height: 10px;
color: red;
color: #ff0000;
}
#import-test {
height: 10px;
color: red;
color: #ff0000;
width: 10px;
height: 30%;
}

View File

@@ -6,7 +6,7 @@
color: blue;
width: 10px;
height: 99%;
border: 2px dotted black;
border: 2px dotted #000000;
}
.one-arg {
width: 15px;
@@ -54,7 +54,7 @@ body {
color: red;
}
.arguments {
border: 1px solid black;
border: 1px solid #000000;
}
.arguments2 {
border: 0px;

View File

@@ -1,5 +1,5 @@
.parens {
border: 2px solid black;
border: 2px solid #000000;
margin: 1px 3px 16 3;
width: 36;
padding: 2px 36px;

View File

@@ -2,14 +2,14 @@
color: #998899;
}
.scope1 {
color: blue;
border-color: black;
color: #0000ff;
border-color: #000000;
}
.scope1 .scope2 {
color: blue;
color: #0000ff;
}
.scope1 .scope2 .scope3 {
color: red;
border-color: black;
background-color: white;
color: #ff0000;
border-color: #000000;
background-color: #ffffff;
}

View File

@@ -31,8 +31,8 @@
url5: "http://lesscss.org/54.4";
}
.mix-mul-class {
color: blue;
color: red;
color: blue;
color: orange;
color: #0000ff;
color: #ff0000;
color: #0000ff;
color: #ffa500;
}

View File

@@ -17,14 +17,14 @@
color: white;
}
.no-semi-column {
color: white;
color: #ffffff;
}
.no-semi-column {
color: white;
white-space: pre;
}
.no-semi-column {
border: 2px solid white;
border: 2px solid #ffffff;
}
.newlines {
background: the,

View File

@@ -50,3 +50,16 @@
#00ff00 {
color: hsl(120, 100%, 50%);
}
.lightenblue {
color: lighten(blue, 10%);
}
.darkenblue {
color: darken(blue, 10%);
}
.unknowncolors {
color: blue2;
border: 2px solid superred;
}