Sha256: bfa82d398c5fd5ee73322b0bbd1f00fc5aebce36b9860d7c9c835db80a524bfe

Contents?: true

Size: 1.27 KB

Versions: 3

Compression:

Stored size: 1.27 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
}

# 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
  
  # Compression needs a proper algorithm
  #
  #  o.on("-c", "--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

3 entries across 3 versions & 2 rubygems

Version Path
cloudhead-less-0.8.3 bin/lessc
cloudhead-less-0.8.4 bin/lessc
less-0.8.4 bin/lessc