I’ve been using LESS to make writing css for a jqtouch app less painful. However - the less compiler is a bit awkward to use by default - if you run:
lessc -g -w *.less
It recompiles your scripts everytime you make a change, which is perfect, and it notifies you by growl if you have a syntax error - wonderful.
However - every time you get a syntax error, it also blocks the terminal that you launched less from, and you have to go to that terminal and ‘Press [return] to continue…’. It’s pretty annoying. The solution is to load up /Library/Ruby/Gems/1.8/gems/less-1.2.21/
in your text editor, search for command.rb, and change the run!
method, to disable the $stdin.gets
and replace it as so:
# File has changed
if (not File.exists?( @destination )) or File.stat( @source ).mtime > File.stat( @destination ).mtime
print Time.now.strftime("%H:%M:%S -- ") if @options[:timestamps]
print "Change detected... "
if parse
# ...
else
`touch #{@destination}`
end
end
I also set the growl.priority to 1 in err(...)
to make my notifications show up in red.
growl.priority = 1
You then get growl notifications on error, but simply correct the error and hit save again to recompile. No more hunting to find the right terminal.