less 1.2.21 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. data/.gitignore +4 -3
  2. data/.gitmodules +6 -0
  3. data/Gemfile +3 -0
  4. data/README.md +39 -46
  5. data/Rakefile +5 -50
  6. data/bin/lessc +1 -100
  7. data/less.gemspec +21 -125
  8. data/lib/less.rb +11 -30
  9. data/{LICENSE → lib/less/js/LICENSE} +1 -1
  10. data/lib/less/js/Makefile +56 -0
  11. data/lib/less/js/README.md +20 -0
  12. data/lib/less/js/benchmark/benchmark.less +3979 -0
  13. data/lib/less/js/benchmark/less-benchmark.js +49 -0
  14. data/lib/less/js/bin/lessc +105 -0
  15. data/lib/less/js/build/ecma-5.js +120 -0
  16. data/lib/less/js/build/header.js +7 -0
  17. data/lib/less/js/build/require.js +7 -0
  18. data/lib/less/js/dist/less-1.0.44.js +2655 -0
  19. data/lib/less/js/dist/less-1.1.0.js +2695 -0
  20. data/lib/less/js/dist/less-1.1.0.min.js +16 -0
  21. data/lib/less/js/dist/less-1.1.1.js +2710 -0
  22. data/lib/less/js/dist/less-1.1.1.min.js +16 -0
  23. data/lib/less/js/dist/less-1.1.2.js +2712 -0
  24. data/lib/less/js/dist/less-1.1.2.min.js +16 -0
  25. data/lib/less/js/dist/less-1.1.3.js +2721 -0
  26. data/lib/less/js/dist/less-1.1.3.min.js +16 -0
  27. data/lib/less/js/lib/less/browser.js +369 -0
  28. data/lib/less/js/lib/less/functions.js +174 -0
  29. data/lib/less/js/lib/less/index.js +137 -0
  30. data/lib/less/js/lib/less/parser.js +1098 -0
  31. data/lib/less/js/lib/less/tree.js +13 -0
  32. data/lib/less/js/lib/less/tree/alpha.js +17 -0
  33. data/lib/less/js/lib/less/tree/anonymous.js +13 -0
  34. data/lib/less/js/lib/less/tree/call.js +45 -0
  35. data/lib/less/js/lib/less/tree/color.js +98 -0
  36. data/lib/less/js/lib/less/tree/comment.js +14 -0
  37. data/lib/less/js/lib/less/tree/dimension.js +34 -0
  38. data/lib/less/js/lib/less/tree/directive.js +33 -0
  39. data/lib/less/js/lib/less/tree/element.js +32 -0
  40. data/lib/less/js/lib/less/tree/expression.js +23 -0
  41. data/lib/less/js/lib/less/tree/import.js +77 -0
  42. data/lib/less/js/lib/less/tree/javascript.js +51 -0
  43. data/lib/less/js/lib/less/tree/keyword.js +9 -0
  44. data/lib/less/js/lib/less/tree/mixin.js +106 -0
  45. data/lib/less/js/lib/less/tree/operation.js +32 -0
  46. data/lib/less/js/lib/less/tree/quoted.js +29 -0
  47. data/lib/less/js/lib/less/tree/rule.js +38 -0
  48. data/lib/less/js/lib/less/tree/ruleset.js +179 -0
  49. data/lib/less/js/lib/less/tree/selector.js +28 -0
  50. data/lib/less/js/lib/less/tree/url.js +25 -0
  51. data/lib/less/js/lib/less/tree/value.js +24 -0
  52. data/lib/less/js/lib/less/tree/variable.js +24 -0
  53. data/lib/less/js/package.json +13 -0
  54. data/lib/less/js/test/css/colors.css +42 -0
  55. data/lib/less/js/test/css/comments.css +52 -0
  56. data/lib/less/js/test/css/css-3.css +42 -0
  57. data/lib/less/js/test/css/css-escapes.css +20 -0
  58. data/lib/less/js/test/css/css.css +82 -0
  59. data/lib/less/js/test/css/functions.css +30 -0
  60. data/{spec → lib/less/js/test}/css/import.css +4 -2
  61. data/lib/less/js/test/css/javascript.css +22 -0
  62. data/lib/less/js/test/css/lazy-eval.css +3 -0
  63. data/lib/less/js/test/css/media.css +21 -0
  64. data/lib/less/js/test/css/mixins-args.css +61 -0
  65. data/lib/less/js/test/css/mixins-closure.css +9 -0
  66. data/lib/less/js/test/css/mixins-nested.css +14 -0
  67. data/lib/less/js/test/css/mixins-pattern.css +49 -0
  68. data/lib/less/js/test/css/mixins.css +50 -0
  69. data/{spec → lib/less/js/test}/css/operations.css +20 -2
  70. data/{spec → lib/less/js/test}/css/parens.css +0 -0
  71. data/lib/less/js/test/css/rulesets.css +29 -0
  72. data/{spec → lib/less/js/test}/css/scope.css +6 -2
  73. data/lib/less/js/test/css/selectors.css +32 -0
  74. data/lib/less/js/test/css/strings.css +38 -0
  75. data/lib/less/js/test/css/variables.css +24 -0
  76. data/lib/less/js/test/css/whitespace.css +36 -0
  77. data/lib/less/js/test/less-test.js +75 -0
  78. data/{spec → lib/less/js/test}/less/colors.less +13 -2
  79. data/{spec → lib/less/js/test}/less/comments.less +19 -2
  80. data/{spec → lib/less/js/test}/less/css-3.less +4 -1
  81. data/lib/less/js/test/less/css-escapes.less +28 -0
  82. data/{spec → lib/less/js/test}/less/css.less +10 -18
  83. data/lib/less/js/test/less/functions.less +35 -0
  84. data/{spec → lib/less/js/test}/less/import.less +1 -1
  85. data/{spec → lib/less/js/test}/less/import/import-test-a.less +0 -0
  86. data/{spec → lib/less/js/test}/less/import/import-test-b.less +0 -0
  87. data/{spec → lib/less/js/test}/less/import/import-test-c.less +0 -0
  88. data/{spec → lib/less/js/test}/less/import/import-test-d.css +0 -0
  89. data/lib/less/js/test/less/javascript.less +27 -0
  90. data/{spec → lib/less/js/test}/less/lazy-eval.less +0 -0
  91. data/lib/less/js/test/less/media.less +25 -0
  92. data/lib/less/js/test/less/mixins-args.less +118 -0
  93. data/lib/less/js/test/less/mixins-closure.less +26 -0
  94. data/lib/less/js/test/less/mixins-nested.less +22 -0
  95. data/lib/less/js/test/less/mixins-pattern.less +96 -0
  96. data/{spec → lib/less/js/test}/less/mixins.less +8 -4
  97. data/{spec → lib/less/js/test}/less/operations.less +19 -0
  98. data/{spec → lib/less/js/test}/less/parens.less +0 -0
  99. data/{spec → lib/less/js/test}/less/rulesets.less +2 -2
  100. data/{spec → lib/less/js/test}/less/scope.less +1 -1
  101. data/{spec → lib/less/js/test}/less/selectors.less +1 -1
  102. data/lib/less/js/test/less/strings.less +49 -0
  103. data/lib/less/js/test/less/variables.less +50 -0
  104. data/{spec → lib/less/js/test}/less/whitespace.less +3 -0
  105. data/lib/less/loader.rb +67 -0
  106. data/lib/less/parser.rb +46 -0
  107. data/lib/less/version.rb +3 -0
  108. data/spec/less/one/one.less +1 -0
  109. data/spec/less/parser_spec.rb +30 -0
  110. data/spec/less/two/two.less +1 -0
  111. data/spec/spec_helper.rb +2 -7
  112. metadata +156 -106
  113. data/CHANGELOG +0 -62
  114. data/VERSION +0 -1
  115. data/lib/less/command.rb +0 -110
  116. data/lib/less/engine.rb +0 -52
  117. data/lib/less/engine/grammar/common.tt +0 -29
  118. data/lib/less/engine/grammar/entity.tt +0 -144
  119. data/lib/less/engine/grammar/less.tt +0 -341
  120. data/lib/less/engine/nodes.rb +0 -9
  121. data/lib/less/engine/nodes/element.rb +0 -281
  122. data/lib/less/engine/nodes/entity.rb +0 -79
  123. data/lib/less/engine/nodes/function.rb +0 -93
  124. data/lib/less/engine/nodes/literal.rb +0 -171
  125. data/lib/less/engine/nodes/property.rb +0 -232
  126. data/lib/less/engine/nodes/ruleset.rb +0 -12
  127. data/lib/less/engine/nodes/selector.rb +0 -44
  128. data/lib/less/ext.rb +0 -60
  129. data/spec/command_spec.rb +0 -102
  130. data/spec/css/accessors.css +0 -18
  131. data/spec/css/big.css +0 -3768
  132. data/spec/css/colors.css +0 -14
  133. data/spec/css/comments.css +0 -9
  134. data/spec/css/css-3.css +0 -21
  135. data/spec/css/css.css +0 -50
  136. data/spec/css/dash-prefix.css +0 -12
  137. data/spec/css/functions.css +0 -6
  138. data/spec/css/import-with-extra-paths.css +0 -8
  139. data/spec/css/import-with-partial-in-extra-path.css +0 -6
  140. data/spec/css/lazy-eval.css +0 -1
  141. data/spec/css/mixins-args.css +0 -32
  142. data/spec/css/mixins.css +0 -28
  143. data/spec/css/rulesets.css +0 -17
  144. data/spec/css/selectors.css +0 -13
  145. data/spec/css/strings.css +0 -12
  146. data/spec/css/variables.css +0 -8
  147. data/spec/css/whitespace.css +0 -7
  148. data/spec/engine_spec.rb +0 -127
  149. data/spec/less/accessors.less +0 -20
  150. data/spec/less/big.less +0 -1264
  151. data/spec/less/dash-prefix.less +0 -21
  152. data/spec/less/exceptions/mixed-units-error.less +0 -3
  153. data/spec/less/exceptions/name-error-1.0.less +0 -3
  154. data/spec/less/exceptions/syntax-error-1.0.less +0 -3
  155. data/spec/less/extra_import_path/extra.less +0 -1
  156. data/spec/less/extra_import_path/import/import-test-a.css +0 -1
  157. data/spec/less/extra_import_path/import/import-test-a.less +0 -4
  158. data/spec/less/functions.less +0 -6
  159. data/spec/less/hidden.less +0 -25
  160. data/spec/less/import-with-extra-paths.less +0 -4
  161. data/spec/less/literal-css.less +0 -11
  162. data/spec/less/mixins-args.less +0 -59
  163. data/spec/less/strings.less +0 -14
  164. data/spec/less/variables.less +0 -29
  165. data/spec/spec.css +0 -50
@@ -13,19 +13,23 @@
13
13
  }
14
14
  }
15
15
  }
16
- #theme > .mixin {
17
- background-color: grey;
16
+ #theme {
17
+ > .mixin {
18
+ background-color: grey;
19
+ }
18
20
  }
19
21
  #container {
20
22
  color: black;
21
- .mixin, .mixout;
23
+ .mixin;
24
+ .mixout;
22
25
  #theme > .mixin;
23
26
  }
24
27
 
25
28
  #header {
26
29
  .milk {
27
30
  color: white;
28
- .mixin, #theme > .mixin;
31
+ .mixin;
32
+ #theme > .mixin;
29
33
  }
30
34
  #cookie {
31
35
  .chips {
@@ -6,6 +6,8 @@
6
6
  height: 10px / 2px+6px-1px*2;
7
7
  width: 2 * 4-5em;
8
8
  }
9
+ substraction: 20 - 10 - 5 - 5; // 0
10
+ division: 20 / 5 / 4; // 1
9
11
  }
10
12
 
11
13
  @x: 4;
@@ -17,6 +19,12 @@
17
19
  size: 5cm - @x; // 1cm
18
20
  }
19
21
 
22
+ .with-functions {
23
+ color: rgb(200, 200, 200) / 2;
24
+ color: 2 * hsl(0, 50%, 50%);
25
+ color: rgb(10, 10, 10) + hsl(0, 50%, 50%);
26
+ }
27
+
20
28
  @z: -2;
21
29
 
22
30
  .negative {
@@ -37,3 +45,14 @@
37
45
  border-color: #333333 / 3 + #111; // #222222
38
46
  }
39
47
  }
48
+
49
+ .negations {
50
+ @var: 4px;
51
+ variable: -@var; // 4
52
+ variable1: -@var + @var; // 0
53
+ variable2: @var + -@var; // 0
54
+ variable3: @var - -@var; // 8
55
+ variable4: -@var - -@var; // 0
56
+ paren: -(@var); // -4px
57
+ paren2: -(2 + 2) * -@var; // 16
58
+ }
File without changes
@@ -2,7 +2,7 @@
2
2
  > #second .two > #deux {
3
3
  width: 50%;
4
4
  #third {
5
- :focus {
5
+ &:focus {
6
6
  color: black;
7
7
  #fifth {
8
8
  > #sixth {
@@ -27,4 +27,4 @@
27
27
  }
28
28
  }
29
29
  font-size: 2em;
30
- }
30
+ }
@@ -29,4 +29,4 @@
29
29
  background-color: @local; // white
30
30
  }
31
31
  }
32
- }
32
+ }
@@ -1,6 +1,6 @@
1
1
  h1, h2, h3 {
2
2
  a, p {
3
- :hover {
3
+ &:hover {
4
4
  color: red;
5
5
  }
6
6
  }
@@ -0,0 +1,49 @@
1
+ #strings {
2
+ background-image: url("http://son-of-a-banana.com");
3
+ quotes: "~" "~";
4
+ content: "#*%:&^,)!.(~*})";
5
+ empty: "";
6
+ brackets: "{" "}";
7
+ }
8
+ #comments {
9
+ content: "/* hello */ // not-so-secret";
10
+ }
11
+ #single-quote {
12
+ quotes: "'" "'";
13
+ content: '""#!&""';
14
+ empty: '';
15
+ semi-colon: ';';
16
+ }
17
+ #escaped {
18
+ filter: ~"DX.Transform.MS.BS.filter(opacity=50)";
19
+ }
20
+ #one-line { image: url(http://tooks.com) }
21
+ #crazy { image: url(http://), "}", url("http://}") }
22
+ #interpolation {
23
+ @var: '/dev';
24
+ url: "http://lesscss.org@{var}/image.jpg";
25
+
26
+ @var2: 256;
27
+ url2: "http://lesscss.org/image-@{var2}.jpg";
28
+
29
+ @var3: #456;
30
+ url3: "http://lesscss.org@{var3}";
31
+
32
+ @var4: hello;
33
+ url4: "http://lesscss.org/@{var4}";
34
+
35
+ @var5: 54.4px;
36
+ url5: "http://lesscss.org/@{var5}";
37
+ }
38
+
39
+ // multiple calls with string interpolation
40
+
41
+ .mix-mul (@a: green) {
42
+ color: ~"@{a}";
43
+ }
44
+ .mix-mul-class {
45
+ .mix-mul(blue);
46
+ .mix-mul(red);
47
+ .mix-mul(blue);
48
+ .mix-mul(orange);
49
+ }
@@ -0,0 +1,50 @@
1
+ @a: 2;
2
+ @x: @a * @a;
3
+ @y: @x + 1;
4
+ @z: @x * 2 + @y;
5
+
6
+ .variables {
7
+ width: @z + 1cm; // 14cm
8
+ }
9
+
10
+ @b: @a * 10;
11
+ @c: #888;
12
+
13
+ @fonts: "Trebuchet MS", Verdana, sans-serif;
14
+ @f: @fonts;
15
+
16
+ @quotes: "~" "~";
17
+ @q: @quotes;
18
+
19
+ .variables {
20
+ height: @b + @x + 0px; // 24px
21
+ color: @c;
22
+ font-family: @f;
23
+ quotes: @q;
24
+ }
25
+
26
+ .redefinition {
27
+ @var: 4;
28
+ @var: 2;
29
+ @var: 3;
30
+ three: @var;
31
+ }
32
+
33
+ .values {
34
+ @a: 'Trebuchet';
35
+ @multi: 'A', B, C;
36
+ font-family: @a, @a, @a;
37
+ color: @c !important;
38
+ url: url(@a);
39
+ multi: something @multi, @a;
40
+ }
41
+
42
+ .variable-names {
43
+ @var: 'hello';
44
+ @name: 'var';
45
+ name: @@name;
46
+ }
47
+ .alpha {
48
+ @var: 42;
49
+ filter: alpha(opacity=@var);
50
+ }
@@ -25,6 +25,9 @@
25
25
  }
26
26
  .no-semi-column {border: 2px solid white}
27
27
  .newlines {
28
+ background: the,
29
+ great,
30
+ wall;
28
31
  border: 2px
29
32
  solid
30
33
  black;
@@ -0,0 +1,67 @@
1
+
2
+ module Less
3
+ class Loader
4
+
5
+ def initialize
6
+ @cxt = V8::Context.new
7
+ @path = Pathname(__FILE__).dirname.join('js','lib')
8
+ @exports = {
9
+ "path" => Path.new,
10
+ "sys" => Sys.new,
11
+ "fs" => Fs.new
12
+ }
13
+ @process = Process.new
14
+ @cxt['console'] = Console.new
15
+ end
16
+
17
+ def require(path)
18
+ unless exports = @exports[path]
19
+ filename = path =~ /\.js$/ ? path : "#{path}.js"
20
+ filepath = @path.join(filename)
21
+ fail LoadError, "no such file: #{filename}" unless filepath.exist?
22
+ load = @cxt.eval("(function(process, require, exports, __dirname) {require.paths = [];#{File.read(filepath)}})", filepath.expand_path)
23
+ @exports[path] = exports = @cxt['Object'].new
24
+ load.call(@process, method(:require), exports, Dir.pwd)
25
+ end
26
+ return exports
27
+ end
28
+
29
+ class Path
30
+ def join(*components)
31
+ File.join(*components)
32
+ end
33
+
34
+ def dirname(path)
35
+ File.dirname(path)
36
+ end
37
+ end
38
+
39
+ class Sys
40
+ def error(*errors)
41
+ raise errors.join(' ')
42
+ end
43
+ end
44
+
45
+ class Fs
46
+ def statSync(path)
47
+ File.stat(path)
48
+ end
49
+
50
+ def readFile(path, encoding, callback)
51
+ callback.call(nil, File.read(path))
52
+ end
53
+
54
+ end
55
+
56
+ class Process
57
+ def exit(*args)
58
+ end
59
+ end
60
+
61
+ class Console
62
+ def log(*msgs)
63
+ puts msgs.join(',')
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,46 @@
1
+
2
+ require 'v8'
3
+
4
+ module Less
5
+ class Parser
6
+
7
+ def initialize(options = {})
8
+ stringy = {}
9
+ options.each do |k,v|
10
+ stringy[k.to_s] = v.is_a?(Array) ? v.map(&:to_s) : v.to_s
11
+ end
12
+ @parser = Less.Parser.new(stringy)
13
+ end
14
+
15
+ def parse(less)
16
+ error,tree = nil
17
+ @parser.parse(less, lambda {|e, t| error = e; tree = t})
18
+ return Tree.new(tree) if tree
19
+ rescue V8::JSError => e
20
+ raise ParseError.new(e)
21
+ end
22
+
23
+ end
24
+
25
+ class Tree
26
+ def initialize(tree)
27
+ @tree = tree
28
+ end
29
+
30
+ def to_css(options = {})
31
+ @tree.toCSS(options)
32
+ end
33
+ end
34
+
35
+ class ParseError < StandardError
36
+
37
+ def initialize(error)
38
+ super(error.message)
39
+ @backtrace = error.backtrace
40
+ end
41
+
42
+ def backtrace
43
+ @backtrace
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,3 @@
1
+ module Less
2
+ VERSION = '2.0.0'
3
+ end
@@ -0,0 +1 @@
1
+ .one {width: 1;}
@@ -0,0 +1,30 @@
1
+ require 'spec_helper'
2
+
3
+ describe Less::Parser do
4
+
5
+ cwd = Pathname(__FILE__).dirname
6
+
7
+ describe "simple usage" do
8
+ it "parse less into a tree" do
9
+ root = subject.parse(".class {width: 1+1}")
10
+ root.to_css.gsub(/\n/,'').should eql ".class { width: 2;}"
11
+ end
12
+
13
+ it "accepts options when assembling the parse tree" do
14
+ subject.parse(".class {width: 1+1}").to_css(:compress => true).strip.should eql ".class{width:2;}"
15
+ end
16
+ end
17
+ it "throws a ParseError if the lesscss is bogus" do
18
+ expect {subject.parse('{^)')}.should raise_error(Less::ParseError)
19
+ end
20
+
21
+ describe "when configured with mulitple load paths" do
22
+ before {@parser = Less::Parser.new :paths => [cwd.join('one'), cwd.join('two')]}
23
+
24
+ it "will load files from both paths" do
25
+ @parser.parse('@import "one.less";').to_css.gsub(/\n/,'').strip.should eql ".one { width: 1;}"
26
+ @parser.parse('@import "two.less";').to_css.gsub(/\n/,'').strip.should eql ".two { width: 1;}"
27
+ end
28
+ end
29
+
30
+ end
@@ -0,0 +1 @@
1
+ .two {width: 1;}
data/spec/spec_helper.rb CHANGED
@@ -1,8 +1,3 @@
1
- require 'rubygems'
2
- require 'spec'
3
-
4
- $:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
5
- $:.unshift File.dirname(__FILE__)
6
-
7
- require 'less'
1
+ $:.unshift Pathname(__FILE__).dirname.join('..','lib')
8
2
 
3
+ require 'less'
metadata CHANGED
@@ -1,158 +1,208 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: less
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.21
4
+ prerelease:
5
+ version: 2.0.0
5
6
  platform: ruby
6
7
  authors:
7
- - cloudhead
8
+ - Charles Lowell
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
12
 
12
- date: 2010-01-13 00:00:00 -05:00
13
- default_executable: lessc
13
+ date: 2011-06-02 00:00:00 -05:00
14
+ default_executable:
14
15
  dependencies:
15
16
  - !ruby/object:Gem::Dependency
16
- name: treetop
17
+ name: therubyracer
18
+ requirement: &id001 !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ~>
22
+ - !ruby/object:Gem::Version
23
+ version: 0.9.0beta6
17
24
  type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
25
+ prerelease: false
26
+ version_requirements: *id001
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: &id002 !ruby/object:Gem::Requirement
30
+ none: false
20
31
  requirements:
21
- - - ">="
32
+ - - ~>
22
33
  - !ruby/object:Gem::Version
23
- version: 1.4.2
24
- version:
34
+ version: 0.9.1
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: *id002
25
38
  - !ruby/object:Gem::Dependency
26
- name: mutter
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
39
+ name: rspec
40
+ requirement: &id003 !ruby/object:Gem::Requirement
41
+ none: false
30
42
  requirements:
31
- - - ">="
43
+ - - ~>
32
44
  - !ruby/object:Gem::Version
33
- version: 0.4.2
34
- version:
35
- description: LESS is leaner CSS
36
- email: self@cloudhead.net
45
+ version: "2.0"
46
+ type: :development
47
+ prerelease: false
48
+ version_requirements: *id003
49
+ description: Invoke the Less CSS compiler from Ruby (http://lesscss.org)
50
+ email:
51
+ - cowboyd@thefrontside.net
37
52
  executables:
38
53
  - lessc
39
54
  extensions: []
40
55
 
41
- extra_rdoc_files:
42
- - LICENSE
43
- - README.md
56
+ extra_rdoc_files: []
57
+
44
58
  files:
45
59
  - .gitignore
46
- - CHANGELOG
47
- - LICENSE
60
+ - .gitmodules
61
+ - Gemfile
48
62
  - README.md
49
63
  - Rakefile
50
- - VERSION
51
64
  - bin/lessc
52
65
  - less.gemspec
53
66
  - lib/less.rb
54
- - lib/less/command.rb
55
- - lib/less/engine.rb
56
- - lib/less/engine/grammar/common.tt
57
- - lib/less/engine/grammar/entity.tt
58
- - lib/less/engine/grammar/less.tt
59
- - lib/less/engine/nodes.rb
60
- - lib/less/engine/nodes/element.rb
61
- - lib/less/engine/nodes/entity.rb
62
- - lib/less/engine/nodes/function.rb
63
- - lib/less/engine/nodes/literal.rb
64
- - lib/less/engine/nodes/property.rb
65
- - lib/less/engine/nodes/ruleset.rb
66
- - lib/less/engine/nodes/selector.rb
67
- - lib/less/ext.rb
68
- - spec/command_spec.rb
69
- - spec/css/accessors.css
70
- - spec/css/big.css
71
- - spec/css/colors.css
72
- - spec/css/comments.css
73
- - spec/css/css-3.css
74
- - spec/css/css.css
75
- - spec/css/dash-prefix.css
76
- - spec/css/functions.css
77
- - spec/css/import-with-extra-paths.css
78
- - spec/css/import-with-partial-in-extra-path.css
79
- - spec/css/import.css
80
- - spec/css/lazy-eval.css
81
- - spec/css/mixins-args.css
82
- - spec/css/mixins.css
83
- - spec/css/operations.css
84
- - spec/css/parens.css
85
- - spec/css/rulesets.css
86
- - spec/css/scope.css
87
- - spec/css/selectors.css
88
- - spec/css/strings.css
89
- - spec/css/variables.css
90
- - spec/css/whitespace.css
91
- - spec/engine_spec.rb
92
- - spec/less/accessors.less
93
- - spec/less/big.less
94
- - spec/less/colors.less
95
- - spec/less/comments.less
96
- - spec/less/css-3.less
97
- - spec/less/css.less
98
- - spec/less/dash-prefix.less
99
- - spec/less/exceptions/mixed-units-error.less
100
- - spec/less/exceptions/name-error-1.0.less
101
- - spec/less/exceptions/syntax-error-1.0.less
102
- - spec/less/extra_import_path/extra.less
103
- - spec/less/extra_import_path/import/import-test-a.css
104
- - spec/less/extra_import_path/import/import-test-a.less
105
- - spec/less/functions.less
106
- - spec/less/hidden.less
107
- - spec/less/import-with-extra-paths.less
108
- - spec/less/import.less
109
- - spec/less/import/import-test-a.less
110
- - spec/less/import/import-test-b.less
111
- - spec/less/import/import-test-c.less
112
- - spec/less/import/import-test-d.css
113
- - spec/less/lazy-eval.less
114
- - spec/less/literal-css.less
115
- - spec/less/mixins-args.less
116
- - spec/less/mixins.less
117
- - spec/less/operations.less
118
- - spec/less/parens.less
119
- - spec/less/rulesets.less
120
- - spec/less/scope.less
121
- - spec/less/selectors.less
122
- - spec/less/strings.less
123
- - spec/less/variables.less
124
- - spec/less/whitespace.less
125
- - spec/spec.css
67
+ - lib/less/loader.rb
68
+ - lib/less/parser.rb
69
+ - lib/less/version.rb
70
+ - spec/less/one/one.less
71
+ - spec/less/parser_spec.rb
72
+ - spec/less/two/two.less
126
73
  - spec/spec_helper.rb
74
+ - lib/less/js/LICENSE
75
+ - lib/less/js/Makefile
76
+ - lib/less/js/README.md
77
+ - lib/less/js/benchmark/benchmark.less
78
+ - lib/less/js/benchmark/less-benchmark.js
79
+ - lib/less/js/bin/lessc
80
+ - lib/less/js/build/ecma-5.js
81
+ - lib/less/js/build/header.js
82
+ - lib/less/js/build/require.js
83
+ - lib/less/js/dist/less-1.0.44.js
84
+ - lib/less/js/dist/less-1.1.0.js
85
+ - lib/less/js/dist/less-1.1.0.min.js
86
+ - lib/less/js/dist/less-1.1.1.js
87
+ - lib/less/js/dist/less-1.1.1.min.js
88
+ - lib/less/js/dist/less-1.1.2.js
89
+ - lib/less/js/dist/less-1.1.2.min.js
90
+ - lib/less/js/dist/less-1.1.3.js
91
+ - lib/less/js/dist/less-1.1.3.min.js
92
+ - lib/less/js/lib/less/browser.js
93
+ - lib/less/js/lib/less/functions.js
94
+ - lib/less/js/lib/less/index.js
95
+ - lib/less/js/lib/less/parser.js
96
+ - lib/less/js/lib/less/tree.js
97
+ - lib/less/js/lib/less/tree/alpha.js
98
+ - lib/less/js/lib/less/tree/anonymous.js
99
+ - lib/less/js/lib/less/tree/call.js
100
+ - lib/less/js/lib/less/tree/color.js
101
+ - lib/less/js/lib/less/tree/comment.js
102
+ - lib/less/js/lib/less/tree/dimension.js
103
+ - lib/less/js/lib/less/tree/directive.js
104
+ - lib/less/js/lib/less/tree/element.js
105
+ - lib/less/js/lib/less/tree/expression.js
106
+ - lib/less/js/lib/less/tree/import.js
107
+ - lib/less/js/lib/less/tree/javascript.js
108
+ - lib/less/js/lib/less/tree/keyword.js
109
+ - lib/less/js/lib/less/tree/mixin.js
110
+ - lib/less/js/lib/less/tree/operation.js
111
+ - lib/less/js/lib/less/tree/quoted.js
112
+ - lib/less/js/lib/less/tree/rule.js
113
+ - lib/less/js/lib/less/tree/ruleset.js
114
+ - lib/less/js/lib/less/tree/selector.js
115
+ - lib/less/js/lib/less/tree/url.js
116
+ - lib/less/js/lib/less/tree/value.js
117
+ - lib/less/js/lib/less/tree/variable.js
118
+ - lib/less/js/package.json
119
+ - lib/less/js/test/css/colors.css
120
+ - lib/less/js/test/css/comments.css
121
+ - lib/less/js/test/css/css-3.css
122
+ - lib/less/js/test/css/css-escapes.css
123
+ - lib/less/js/test/css/css.css
124
+ - lib/less/js/test/css/functions.css
125
+ - lib/less/js/test/css/import.css
126
+ - lib/less/js/test/css/javascript.css
127
+ - lib/less/js/test/css/lazy-eval.css
128
+ - lib/less/js/test/css/media.css
129
+ - lib/less/js/test/css/mixins-args.css
130
+ - lib/less/js/test/css/mixins-closure.css
131
+ - lib/less/js/test/css/mixins-nested.css
132
+ - lib/less/js/test/css/mixins-pattern.css
133
+ - lib/less/js/test/css/mixins.css
134
+ - lib/less/js/test/css/operations.css
135
+ - lib/less/js/test/css/parens.css
136
+ - lib/less/js/test/css/rulesets.css
137
+ - lib/less/js/test/css/scope.css
138
+ - lib/less/js/test/css/selectors.css
139
+ - lib/less/js/test/css/strings.css
140
+ - lib/less/js/test/css/variables.css
141
+ - lib/less/js/test/css/whitespace.css
142
+ - lib/less/js/test/less-test.js
143
+ - lib/less/js/test/less/colors.less
144
+ - lib/less/js/test/less/comments.less
145
+ - lib/less/js/test/less/css-3.less
146
+ - lib/less/js/test/less/css-escapes.less
147
+ - lib/less/js/test/less/css.less
148
+ - lib/less/js/test/less/functions.less
149
+ - lib/less/js/test/less/import.less
150
+ - lib/less/js/test/less/import/import-test-a.less
151
+ - lib/less/js/test/less/import/import-test-b.less
152
+ - lib/less/js/test/less/import/import-test-c.less
153
+ - lib/less/js/test/less/import/import-test-d.css
154
+ - lib/less/js/test/less/javascript.less
155
+ - lib/less/js/test/less/lazy-eval.less
156
+ - lib/less/js/test/less/media.less
157
+ - lib/less/js/test/less/mixins-args.less
158
+ - lib/less/js/test/less/mixins-closure.less
159
+ - lib/less/js/test/less/mixins-nested.less
160
+ - lib/less/js/test/less/mixins-pattern.less
161
+ - lib/less/js/test/less/mixins.less
162
+ - lib/less/js/test/less/operations.less
163
+ - lib/less/js/test/less/parens.less
164
+ - lib/less/js/test/less/rulesets.less
165
+ - lib/less/js/test/less/scope.less
166
+ - lib/less/js/test/less/selectors.less
167
+ - lib/less/js/test/less/strings.less
168
+ - lib/less/js/test/less/variables.less
169
+ - lib/less/js/test/less/whitespace.less
127
170
  has_rdoc: true
128
- homepage: http://www.lesscss.org
171
+ homepage: http://github.com/cowboyd/less.rb
129
172
  licenses: []
130
173
 
131
174
  post_install_message:
132
- rdoc_options:
133
- - --charset=UTF-8
175
+ rdoc_options: []
176
+
134
177
  require_paths:
135
178
  - lib
136
179
  required_ruby_version: !ruby/object:Gem::Requirement
180
+ none: false
137
181
  requirements:
138
182
  - - ">="
139
183
  - !ruby/object:Gem::Version
184
+ hash: -771420708619393644
185
+ segments:
186
+ - 0
140
187
  version: "0"
141
- version:
142
188
  required_rubygems_version: !ruby/object:Gem::Requirement
189
+ none: false
143
190
  requirements:
144
191
  - - ">="
145
192
  - !ruby/object:Gem::Version
193
+ hash: -771420708619393644
194
+ segments:
195
+ - 0
146
196
  version: "0"
147
- version:
148
197
  requirements: []
149
198
 
150
199
  rubyforge_project: less
151
- rubygems_version: 1.3.5
200
+ rubygems_version: 1.6.2
152
201
  signing_key:
153
202
  specification_version: 3
154
- summary: LESS compiler
203
+ summary: Leaner CSS, in your browser or Ruby (via less.js)
155
204
  test_files:
156
- - spec/command_spec.rb
157
- - spec/engine_spec.rb
205
+ - spec/less/one/one.less
206
+ - spec/less/parser_spec.rb
207
+ - spec/less/two/two.less
158
208
  - spec/spec_helper.rb