cloudhead-less 1.1.1 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.1
1
+ 1.1.2
data/bin/lessc CHANGED
@@ -34,10 +34,10 @@ opts = OptionParser.new do |o|
34
34
 
35
35
  # Growl
36
36
  o.on("-g", "--growl", "growl notifications") do
37
- if Less::GROWL && Growl.installed?
37
+ if Less::GROWL && (Growl.installed? rescue false)
38
38
  options[:growl] = true
39
39
  elsif Less::GROWL
40
- abort "Growl wasn't found on your system."
40
+ abort "Growl or 'growlnotify' wasn't found on your system."
41
41
  else
42
42
  abort "Growl gem not found, please install with: " +
43
43
  "`sudo gem install visionmedia-growl -s http://gems.github.com`"
data/less.gemspec CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{less}
5
- s.version = "1.1.1"
5
+ s.version = "1.1.2"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["cloudhead"]
9
- s.date = %q{2009-07-24}
9
+ s.date = %q{2009-07-27}
10
10
  s.default_executable = %q{lessc}
11
11
  s.description = %q{LESS is leaner CSS}
12
12
  s.email = %q{self@cloudhead.net}
@@ -104,7 +104,6 @@ grammar Less
104
104
  def build env
105
105
  env << (name.text_value =~ /^@/ ?
106
106
  Node::Variable : Node::Property).new(name.text_value, expressions.build(env), env)
107
-
108
107
  end
109
108
  # Empty rule
110
109
  } / ws ident s ':' s ';' ws
@@ -123,12 +122,13 @@ grammar Less
123
122
  #
124
123
  # An operation or compound value
125
124
  #
125
+ # TODO: we can refactor this, by separating entities from operators
126
126
  rule expression
127
- s '(' s expressions s ')' s {
127
+ s '(' s expressions s ')' {
128
128
  def build env
129
129
  Node::Expression.new(['('] + expressions.build(env).flatten + [')'])
130
130
  end
131
- } / entity tail:(operator entity)* ws {
131
+ } / s entity tail:(operator entity)* ws {
132
132
  def build env
133
133
  exp = all.map do |e|
134
134
  e.method(:build).arity.zero??
@@ -140,7 +140,7 @@ grammar Less
140
140
  def all
141
141
  [entity] + tail.elements.map {|i| [i.operator, i.entity] }.flatten.compact
142
142
  end
143
- }
143
+ } / operator
144
144
  end
145
145
 
146
146
  #
@@ -234,11 +234,11 @@ grammar Less
234
234
 
235
235
  rule operator
236
236
  S [-+*/] S {
237
- def build
237
+ def build env
238
238
  Node::Operator.new(text_value.strip)
239
239
  end
240
240
  } / [-+*/] {
241
- def build
241
+ def build env
242
242
  Node::Operator.new(text_value)
243
243
  end
244
244
  }
@@ -373,11 +373,7 @@ grammar Less
373
373
  end
374
374
 
375
375
  rule argument
376
- color {
377
- def build
378
- Node::Color.new text_value
379
- end
380
- } / number unit {
376
+ color / number unit {
381
377
  def build
382
378
  Node::Number.new number.text_value, unit.text_value
383
379
  end
@@ -393,6 +389,9 @@ grammar Less
393
389
  def build
394
390
  Node::String.new text_value
395
391
  end
392
+ } / function / keyword other:(S keyword)* {
393
+ def build
394
+ end
396
395
  }
397
396
  end
398
397
 
@@ -1056,7 +1056,6 @@ module Less
1056
1056
  def build env
1057
1057
  env << (name.text_value =~ /^@/ ?
1058
1058
  Node::Variable : Node::Property).new(name.text_value, expressions.build(env), env)
1059
-
1060
1059
  end
1061
1060
  # Empty rule
1062
1061
  end
@@ -1314,9 +1313,6 @@ module Less
1314
1313
  elements[4]
1315
1314
  end
1316
1315
 
1317
- def s
1318
- elements[6]
1319
- end
1320
1316
  end
1321
1317
 
1322
1318
  module Expression1
@@ -1336,17 +1332,21 @@ module Less
1336
1332
  end
1337
1333
 
1338
1334
  module Expression3
1339
- def entity
1335
+ def s
1340
1336
  elements[0]
1341
1337
  end
1342
1338
 
1343
- def tail
1339
+ def entity
1344
1340
  elements[1]
1345
1341
  end
1346
1342
 
1347
- def ws
1343
+ def tail
1348
1344
  elements[2]
1349
1345
  end
1346
+
1347
+ def ws
1348
+ elements[3]
1349
+ end
1350
1350
  end
1351
1351
 
1352
1352
  module Expression4
@@ -1402,10 +1402,6 @@ module Less
1402
1402
  r7 = nil
1403
1403
  end
1404
1404
  s1 << r7
1405
- if r7
1406
- r8 = _nt_s
1407
- s1 << r8
1408
- end
1409
1405
  end
1410
1406
  end
1411
1407
  end
@@ -1422,52 +1418,61 @@ module Less
1422
1418
  if r1
1423
1419
  r0 = r1
1424
1420
  else
1425
- i9, s9 = index, []
1426
- r10 = _nt_entity
1427
- s9 << r10
1428
- if r10
1429
- s11, i11 = [], index
1430
- loop do
1431
- i12, s12 = index, []
1432
- r13 = _nt_operator
1433
- s12 << r13
1434
- if r13
1435
- r14 = _nt_entity
1436
- s12 << r14
1437
- end
1438
- if s12.last
1439
- r12 = instantiate_node(SyntaxNode,input, i12...index, s12)
1440
- r12.extend(Expression2)
1441
- else
1442
- @index = i12
1443
- r12 = nil
1421
+ i8, s8 = index, []
1422
+ r9 = _nt_s
1423
+ s8 << r9
1424
+ if r9
1425
+ r10 = _nt_entity
1426
+ s8 << r10
1427
+ if r10
1428
+ s11, i11 = [], index
1429
+ loop do
1430
+ i12, s12 = index, []
1431
+ r13 = _nt_operator
1432
+ s12 << r13
1433
+ if r13
1434
+ r14 = _nt_entity
1435
+ s12 << r14
1436
+ end
1437
+ if s12.last
1438
+ r12 = instantiate_node(SyntaxNode,input, i12...index, s12)
1439
+ r12.extend(Expression2)
1440
+ else
1441
+ @index = i12
1442
+ r12 = nil
1443
+ end
1444
+ if r12
1445
+ s11 << r12
1446
+ else
1447
+ break
1448
+ end
1444
1449
  end
1445
- if r12
1446
- s11 << r12
1447
- else
1448
- break
1450
+ r11 = instantiate_node(SyntaxNode,input, i11...index, s11)
1451
+ s8 << r11
1452
+ if r11
1453
+ r15 = _nt_ws
1454
+ s8 << r15
1449
1455
  end
1450
1456
  end
1451
- r11 = instantiate_node(SyntaxNode,input, i11...index, s11)
1452
- s9 << r11
1453
- if r11
1454
- r15 = _nt_ws
1455
- s9 << r15
1456
- end
1457
1457
  end
1458
- if s9.last
1459
- r9 = instantiate_node(SyntaxNode,input, i9...index, s9)
1460
- r9.extend(Expression3)
1461
- r9.extend(Expression4)
1458
+ if s8.last
1459
+ r8 = instantiate_node(SyntaxNode,input, i8...index, s8)
1460
+ r8.extend(Expression3)
1461
+ r8.extend(Expression4)
1462
1462
  else
1463
- @index = i9
1464
- r9 = nil
1463
+ @index = i8
1464
+ r8 = nil
1465
1465
  end
1466
- if r9
1467
- r0 = r9
1466
+ if r8
1467
+ r0 = r8
1468
1468
  else
1469
- @index = i0
1470
- r0 = nil
1469
+ r16 = _nt_operator
1470
+ if r16
1471
+ r0 = r16
1472
+ else
1473
+ @index = i0
1474
+ r0 = nil
1475
+ end
1471
1476
  end
1472
1477
  end
1473
1478
 
@@ -2630,13 +2635,13 @@ module Less
2630
2635
  end
2631
2636
 
2632
2637
  module Operator1
2633
- def build
2638
+ def build env
2634
2639
  Node::Operator.new(text_value.strip)
2635
2640
  end
2636
2641
  end
2637
2642
 
2638
2643
  module Operator2
2639
- def build
2644
+ def build env
2640
2645
  Node::Operator.new(text_value)
2641
2646
  end
2642
2647
  end
@@ -3947,12 +3952,6 @@ module Less
3947
3952
  end
3948
3953
 
3949
3954
  module Argument0
3950
- def build
3951
- Node::Color.new text_value
3952
- end
3953
- end
3954
-
3955
- module Argument1
3956
3955
  def number
3957
3956
  elements[0]
3958
3957
  end
@@ -3962,36 +3961,61 @@ module Less
3962
3961
  end
3963
3962
  end
3964
3963
 
3965
- module Argument2
3964
+ module Argument1
3966
3965
  def build
3967
3966
  Node::Number.new number.text_value, unit.text_value
3968
3967
  end
3969
3968
  end
3970
3969
 
3971
- module Argument3
3970
+ module Argument2
3972
3971
  def build
3973
3972
  Node::String.new text_value
3974
3973
  end
3975
3974
  end
3976
3975
 
3977
- module Argument4
3976
+ module Argument3
3978
3977
  def dimension
3979
3978
  elements[2]
3980
3979
  end
3981
3980
  end
3982
3981
 
3983
- module Argument5
3982
+ module Argument4
3984
3983
  def build
3985
3984
  Node::Anonymous.new text_value
3986
3985
  end
3987
3986
  end
3988
3987
 
3989
- module Argument6
3988
+ module Argument5
3990
3989
  def build
3991
3990
  Node::String.new text_value
3992
3991
  end
3993
3992
  end
3994
3993
 
3994
+ module Argument6
3995
+ def S
3996
+ elements[0]
3997
+ end
3998
+
3999
+ def keyword
4000
+ elements[1]
4001
+ end
4002
+ end
4003
+
4004
+ module Argument7
4005
+ def keyword
4006
+ elements[0]
4007
+ end
4008
+
4009
+ def other
4010
+ elements[1]
4011
+ end
4012
+ end
4013
+
4014
+ module Argument8
4015
+ def build
4016
+ end
4017
+ end
4018
+
3995
4019
  def _nt_argument
3996
4020
  start_index = index
3997
4021
  if node_cache[:argument].has_key?(index)
@@ -4002,7 +4026,6 @@ module Less
4002
4026
 
4003
4027
  i0 = index
4004
4028
  r1 = _nt_color
4005
- r1.extend(Argument0)
4006
4029
  if r1
4007
4030
  r0 = r1
4008
4031
  else
@@ -4015,8 +4038,8 @@ module Less
4015
4038
  end
4016
4039
  if s2.last
4017
4040
  r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
4041
+ r2.extend(Argument0)
4018
4042
  r2.extend(Argument1)
4019
- r2.extend(Argument2)
4020
4043
  else
4021
4044
  @index = i2
4022
4045
  r2 = nil
@@ -4025,7 +4048,7 @@ module Less
4025
4048
  r0 = r2
4026
4049
  else
4027
4050
  r5 = _nt_string
4028
- r5.extend(Argument3)
4051
+ r5.extend(Argument2)
4029
4052
  if r5
4030
4053
  r0 = r5
4031
4054
  else
@@ -4067,8 +4090,8 @@ module Less
4067
4090
  end
4068
4091
  if s6.last
4069
4092
  r6 = instantiate_node(SyntaxNode,input, i6...index, s6)
4093
+ r6.extend(Argument3)
4070
4094
  r6.extend(Argument4)
4071
- r6.extend(Argument5)
4072
4095
  else
4073
4096
  @index = i6
4074
4097
  r6 = nil
@@ -4095,13 +4118,59 @@ module Less
4095
4118
  r11 = nil
4096
4119
  else
4097
4120
  r11 = instantiate_node(SyntaxNode,input, i11...index, s11)
4098
- r11.extend(Argument6)
4121
+ r11.extend(Argument5)
4099
4122
  end
4100
4123
  if r11
4101
4124
  r0 = r11
4102
4125
  else
4103
- @index = i0
4104
- r0 = nil
4126
+ r13 = _nt_function
4127
+ if r13
4128
+ r0 = r13
4129
+ else
4130
+ i14, s14 = index, []
4131
+ r15 = _nt_keyword
4132
+ s14 << r15
4133
+ if r15
4134
+ s16, i16 = [], index
4135
+ loop do
4136
+ i17, s17 = index, []
4137
+ r18 = _nt_S
4138
+ s17 << r18
4139
+ if r18
4140
+ r19 = _nt_keyword
4141
+ s17 << r19
4142
+ end
4143
+ if s17.last
4144
+ r17 = instantiate_node(SyntaxNode,input, i17...index, s17)
4145
+ r17.extend(Argument6)
4146
+ else
4147
+ @index = i17
4148
+ r17 = nil
4149
+ end
4150
+ if r17
4151
+ s16 << r17
4152
+ else
4153
+ break
4154
+ end
4155
+ end
4156
+ r16 = instantiate_node(SyntaxNode,input, i16...index, s16)
4157
+ s14 << r16
4158
+ end
4159
+ if s14.last
4160
+ r14 = instantiate_node(SyntaxNode,input, i14...index, s14)
4161
+ r14.extend(Argument7)
4162
+ r14.extend(Argument8)
4163
+ else
4164
+ @index = i14
4165
+ r14 = nil
4166
+ end
4167
+ if r14
4168
+ r0 = r14
4169
+ else
4170
+ @index = i0
4171
+ r0 = nil
4172
+ end
4173
+ end
4105
4174
  end
4106
4175
  end
4107
4176
  end
data/spec/css/parens.css CHANGED
@@ -4,4 +4,13 @@
4
4
  width: 36;
5
5
  padding: 2px 36px;
6
6
  }
7
- .more-parens { padding: 8 4 4 4px; }
7
+ .more-parens {
8
+ padding: 8 4 4 4px;
9
+ width: 96;
10
+ height: 113;
11
+ margin: 12;
12
+ }
13
+ .nested-parens {
14
+ width: 71;
15
+ height: 6;
16
+ }
@@ -9,7 +9,13 @@
9
9
  .more-parens {
10
10
  @var: (2 * 2);
11
11
  padding: (2 * @var) 4 4 (@var * 1px);
12
- //width: (@var * @var) * 6;
12
+ width: (@var * @var) * 6;
13
+ height: (7 * 7) + (8 * 8);
14
+ margin: 4 * (5 + 5) / 2 - (@var * 2);
13
15
  //margin: (6 * 6)px;
14
- //height: (7 * 7) + (8 * 8);
15
16
  }
17
+
18
+ .nested-parens {
19
+ width: 2 * (4 * (2 + (1 + 6))) - 1;
20
+ height: ((2+3)*(2+3) / (9-4)) + 1;
21
+ }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloudhead-less
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - cloudhead
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-07-24 00:00:00 -07:00
12
+ date: 2009-07-27 00:00:00 -07:00
13
13
  default_executable: lessc
14
14
  dependencies: []
15
15
 
@@ -186,6 +186,7 @@ files:
186
186
  - spec/spec_helper.rb
187
187
  has_rdoc: true
188
188
  homepage: http://www.lesscss.org
189
+ licenses:
189
190
  post_install_message:
190
191
  rdoc_options:
191
192
  - --charset=UTF-8
@@ -206,7 +207,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
206
207
  requirements: []
207
208
 
208
209
  rubyforge_project: less
209
- rubygems_version: 1.2.0
210
+ rubygems_version: 1.3.5
210
211
  signing_key:
211
212
  specification_version: 2
212
213
  summary: LESS compiler