91303246ecb4f103a1a3e21dfd9bcb65d1d5e832

Author
mikka <miklos.martin@gmail.com>
Committer
mikka <miklos.martin@gmail.com>
Date

Message

added lesscss plugin

Diff

 1diff --git a/plugins/lesscss/lesscss.plugin.zsh b/plugins/lesscss/lesscss.plugin.zsh
 2new file mode 100644
 3index 0000000000000000000000000000000000000000..6c666adb20eb038ec4457c8a4d7f343726b98276
 4--- /dev/null
 5+++ b/plugins/lesscss/lesscss.plugin.zsh
 6@@ -0,0 +1,46 @@
 7+# basics taken from here:
 8+# http://www.ravelrumba.com/blog/watch-compile-less-command-line/comment-page-1/#comment-2464
 9+# Requires watchr: https://github.com/mynyml/watchr
10+
11+watchless () {
12+    compressed=0
13+    compile=""
14+    
15+    while getopts ":xc:h" option
16+    do
17+      case $option in
18+        x ) compressed=1 ;;
19+        c ) compile=$OPTARG ;;
20+        h ) _watchless_usage; return ;;
21+      esac
22+    done
23+    
24+    if [ $compressed -eq 1 ]; then
25+        x=' -x'
26+    else
27+        x=''
28+    fi
29+    
30+    if [ -n "$compile" ]; then
31+        if [ ! -e $compile ]; then
32+            echo "\033[337;41m\n$compile doesn't exist!\n\033[0m"
33+            return
34+        fi
35+        
36+        name=$(echo $compile | cut -d . -f 1)
37+        
38+        watchr -e 'watch(".*\.less$") { |f| system("lessc '$name'.less > '$name'.css'$x' && echo \"'$name'.less > '$name'.css\" ") }'
39+    else
40+        watchr -e 'watch(".*\.less$") { |f| system("lessc #{f[0]} > $(echo #{f[0]} | cut -d\. -f1).css'$x' && echo \"#{f[0]} > $(echo #{f[0]} | cut -d\. -f1).css\" ") }'
41+    fi
42+}
43+
44+_watchless_usage () {
45+    echo "Usage: watchless [options]"
46+    echo
47+    echo "Options"
48+    echo "  -x   Compiles less files into minified css files"
49+    echo "  -c   Watch all files but compile only the one given here"
50+    echo "  -h   Get this help message"
51+    return
52+}