less 0.8.3 → 0.8.4

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.3
1
+ 0.8.4
data/bin/lessc CHANGED
@@ -10,7 +10,8 @@ CSS = '.css'
10
10
  # Argument defaults
11
11
  options = {
12
12
  :watch => false,
13
- :compress => false
13
+ :compress => false,
14
+ :debug => false
14
15
  }
15
16
 
16
17
  # Get arguments
@@ -36,6 +37,10 @@ opts = OptionParser.new do |o|
36
37
  puts opts
37
38
  exit
38
39
  end
40
+
41
+ o.on_tail("-d", "--debug", "show full error messages") do
42
+ options[:debug] = true
43
+ end
39
44
 
40
45
  # Version
41
46
  o.on_tail("-v", "--version", "show version") do
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{less}
5
- s.version = "0.8.3"
5
+ s.version = "0.8.4"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["cloudhead"]
@@ -7,6 +7,7 @@ module Less
7
7
 
8
8
  def watch?() @options[:watch] end
9
9
  def compress?() @options[:compress] end
10
+ def debug?() @options[:debug] end
10
11
 
11
12
  # little function which allows us to
12
13
  # Ctrl-C exit inside the passed block
@@ -56,7 +57,9 @@ module Less
56
57
  rescue Errno::ENOENT => e
57
58
  abort "#{e}"
58
59
  rescue SyntaxError
59
- error = $!.message.split("\n")[1..-1].collect {|e| e.gsub(/\(eval\)\:\d+\:\s/, '') } * "\n"
60
+ error = debug?? $! : $!.message.split("\n")[1..-1].collect {|e|
61
+ e.gsub(/\(eval\)\:(\d+)\:\s/, 'line \1: ')
62
+ } * "\n"
60
63
  log " !! errors were found in the .less file! \n#{error}\n"
61
64
  rescue MixedUnitsError
62
65
  log "!! You're mixing units together! what do you expect?\n"
@@ -126,13 +126,15 @@ module Less
126
126
  # less: color: black;
127
127
  # hashify: "color" => "black"
128
128
  #
129
- hash = self.gsub(/\/\/.*/, ''). # Comments //
129
+ hash = self.gsub(/\t/, ' '). # Tabs
130
+ gsub(/\r\n/, "\n"). # m$
131
+ gsub(/\/\/.*/, ''). # Comments //
130
132
  gsub(/\/\*.*?\*\//m, ''). # Comments /*
131
133
  gsub(/"/, "'"). # " => '
132
134
  gsub(/("|')(.+?)(\1)/) { $1 + CGI.escape( $2 ) + $1 }. # Escape string values
133
- gsub(/(#{REGEX[:property]}):[ \t]*(.+?);/, '"\\1" => "\\2",'). # Declarations
135
+ gsub(/(#{REGEX[:property]}):\s*(.+?)\s*(;|(?=\}))/,'"\1"=>"\2",'). # Rules
134
136
  gsub(/\}/, "},"). # Closing }
135
- gsub(/([ \t]*)(#{REGEX[:selector]}+?)[ \t\n]*\{/m, '\\1"\\2" => {'). # Selectors
137
+ gsub(/( *)(#{REGEX[:selector]}+?)[ \n]*(?=\{)/m, '\1"\2"=>'). # Selectors
136
138
  gsub(/([.#][->\w .#]+);/, '"\\1" => :mixin,') # Mixins
137
139
  eval "{" + hash + "}" # Return {hash}
138
140
  end
@@ -94,9 +94,17 @@ ul li:first-child, ul li:last-child {
94
94
  .p:first-letter {
95
95
  color: red;
96
96
  }
97
+ :focus {
98
+ outline: 0;
99
+ content: "*}#f~ ";
100
+ }
97
101
  q:lang(no) {
98
102
  quotes: "~" "~";
99
103
  }
104
+ blockquote:before {
105
+ color: red;
106
+ }
107
+
100
108
  /*input[type="text"] {
101
109
  background-color: blue;
102
110
  }*/
@@ -108,4 +116,7 @@ q:lang(no) {
108
116
 
109
117
  // Spacing
110
118
  .space
111
- { color: purple ;font-color:yellow; }
119
+ { color: purple ;font-color:yellow; }
120
+
121
+ // No semi-column
122
+ .no-semi-column { color: orange }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: less
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.3
4
+ version: 0.8.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - cloudhead