Sha256: 147e241833edc9aeb7b1bc1c3ec963678234bea2d1b79f96c9bbfd1fc1b243bb

Contents?: true

Size: 1.42 KB

Versions: 4

Compression:

Stored size: 1.42 KB

Contents

#!/usr/bin/env ruby

$:.unshift File.dirname(__FILE__) + "/../lib"

require 'optparse'
require 'less'

CSS = '.css'

# Argument defaults
options = {
  :watch => false,
  :compress => false,
  :debug => false,
  :inheritance => :desc
}

# Get arguments
opts = OptionParser.new do |o|
  o.banner = "usage: lessc source [destination] [--watch]"
  o.separator ""
  
  # Watch mode
  o.on("-w", "--watch", "watch for changes") do
    options[:watch] = true
  end
  
  # Child-type inheritance
  o.on("-c", "--child", "nesting uses child-type inheritance") do
    options[:chain] = :child
  end
  
  # Compression needs a proper algorithm
  #
  #  o.on("-x", "--compress", "compress css file") do
  #    options[:compress] = true
  #  end
  
  o.separator ""

  # Help
  o.on_tail("-h", "--help", "show this message") do
    puts opts
    exit
  end
  
  o.on_tail("-d", "--debug", "show full error messages") do
    options[:debug] = true
  end

  # Version
  o.on_tail("-v", "--version", "show version") do
    puts "lessc " + Less.version
    exit
  end
end

opts.parse! # Parse arguments into `options` hash

# Get source and destintation from command line
case ARGV.size
  when 1
    options[:source] = ARGV[ 0 ]
  when 2
    options[:source] = ARGV[ 0 ]
    options[:destination] = ARGV[ 1 ]
  else
    puts opts
    exit
end
options[:destination] = (options[:destination] || options[:source]).gsub /\.(less|lss)/, CSS

Less::Command.new( options ).run!

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
cloudhead-less-0.8.6 bin/lessc
cloudhead-less-0.8.7 bin/lessc
less-0.8.6 bin/lessc
less-0.8.7 bin/lessc