              (when b'
                {(->kw b') b'})))))
 
+(def regex1  (re-pattern (str "\33" "\\[(\\d+)?(;(\\d+))?m")))
+
 (defn ansi->prop-map
   [ansi]
-  (let [rm (re-matcher (re-pattern (str "\33" "\\[(\\d+)?(;(\\d+))?m"))
+  (let [rm (re-matcher regex1
                        ansi)]
     (loop [[match c1 _ c2] (re-find rm)
            agg {}]

       flatten
       (remove nil?)
       group-meta-strings
       (map #(if (string? %)
               (str->ansi-pairs %)
               %))
       flatten
       split-text-tag-coll))

                                             c2)))
        {:text-color agg}))))

(def regex2 (re-pattern (str "([^" "\33" "]*)(("  "\33" ".*?m)*)")))

(defn str->ansi-pairs
  [s]
  (let [r regex2]
    (loop [head []
           tail s]
      (let [[match txt ansi _] (re-find r tail)
