'use strict';

var colormin = require('colormin');
var postcss = require('postcss');
var parser = require('postcss-value-parser');
var stringify = parser.stringify;
var trim = parser.trim;

module.exports = postcss.plugin('postcss-colormin', function () {
    return function (css) {
        css.walkDecls(function (decl) {
            if (/^(?!font|filter|-webkit-tap-highlight-color)/.test(decl.prop)) {
                decl.value = parser(decl.value).walk(function (node) {
                    if (node.type === 'function') {
                        if (/^(rgb|hsl)a?$/.test(node.value)) {
                            node.value = colormin(stringify(node));
                            node.type = 'word';
                        } else {
                            trim(node.nodes);
                        }
                    } else if (node.type === 'div') {
                        node.before = '';
                        node.after = '';
                    } else if (node.type === 'space') {
                        node.value = ' ';
                    } else {
                        node.value = colormin(node.value);
                    }
                }).toString();
            }
            if (decl.prop === '-webkit-tap-highlight-color') {
                if (decl.value === 'inherit' || decl.value === 'transparent') {
                    return;
                }
                decl.value = parser(decl.value).walk(function (node) {
                    if (node.type === 'function') {
                        trim(node.nodes);
                    } else if (node.type === 'div') {
                        node.before = '';
                        node.after = '';
                    }
                }).toString();
            }
        });
    };
});

@@ -187,132 +187,25 @@
 m;%0A%0A
-module.exports = postcss.plugin('postcss-colormin', function () %7B%0A    return function (css) %7B%0A        css.walkDecls(function
+function optimise
  (de
@@ -206,32 +206,24 @@
 se (decl) %7B%0A
-        
     if (/%5E(?
@@ -280,32 +280,24 @@
 cl.prop)) %7B%0A
-        
         decl
@@ -355,32 +355,24 @@
             
-    
-    
 if (node.typ
@@ -387,32 +387,24 @@
 unction') %7B%0A
-        
             
@@ -463,32 +463,24 @@
             
-   
-     
 node.value =
@@ -523,32 +523,24 @@
             
-        
 node.type = 
@@ -559,32 +559,24 @@
             
-  
-      
 %7D else %7B%0A   
@@ -568,32 +568,24 @@
    %7D else %7B%0A
-        
             
@@ -626,34 +626,18 @@
         
- 
-       %7D%0A        
+%7D%0A
         
@@ -686,32 +686,24 @@
             
-        
 node.before 
@@ -720,32 +720,24 @@
             
-       
- 
 node.after =
@@ -737,32 +737,24 @@
 after = '';%0A
-        
             
@@ -801,32 +801,24 @@
             
-      
-  
 node.value =
@@ -831,32 +831,24 @@
             
-        
 %7D else %7B%0A   
@@ -856,32 +856,24 @@
             
-    
-    
 node.value =
@@ -907,37 +907,26 @@
         
-        %7D%0A   
+%7D%0A
         
      %7D).
@@ -909,37 +909,32 @@
       %7D%0A        
-     
 %7D).toString();%0A 
@@ -936,34 +936,18 @@
 ();%0A    
-        %7D%0A        
+%7D%0A
     if (
@@ -989,32 +989,24 @@
 t-color') %7B%0A
-        
         if (
@@ -1081,24 +1081,16 @@
     
- 
-       
 return;%0A
     
@@ -1085,24 +1085,16 @@
 return;%0A
-        
         
@@ -1091,32 +1091,24 @@
 ;%0A        %7D%0A
-        
         decl
@@ -1166,32 +1166,24 @@
             
-       
- 
 if (node.typ
@@ -1214,32 +1214,24 @@
             
-        
 trim(node.no
@@ -1244,32 +1244,24 @@
             
-      
-  
 %7D else if (n
@@ -1294,32 +1294,24 @@
             
-        
 node.before 
@@ -1328,32 +1328,24 @@
             
-     
-   
 node.after =
@@ -1361,37 +1361,26 @@
         
-        %7D%0A   
+%7D%0A
         
      %7D).
@@ -1371,21 +1371,16 @@
         
-     
 %7D).toStr
@@ -1390,35 +1390,145 @@
 ();%0A    
-        %7D%0A        %7D
+%7D%0A%7D%0A%0Amodule.exports = postcss.plugin('postcss-colormin', function () %7B%0A    return function (css) %7B%0A        css.walkDecls(optimise
 );%0A    %7D

Tidy up index.js.