 
 (def nssrc
   "(ns example
-  (:require [cloact.core :as cloact :refer [atom]])
+  (:require [cloact.core :as cloact :refer [atom]]))
 ")
 
 (defn src-for-names [names]

       any [:other s]))))

(defn syntaxify [src]
  (let [def-re #"^def|^ns\b"]
    (loop [tokens (tokenize src)
           prev nil
           res []]
      (let [[kind val] (first tokens)
            part (case kind
                   :str-litt [:span {:style {:color "green"}} val]
                   :keyw     [:span {:style {:color "blue"}} val]
                   :builtin  [:span {:style {:font-weight "bold"}} val]
                   :iden     (if (and prev (re-find def-re prev))
                               [:span {:style {:color "#55c"
                                               :font-weight "bold"}} val]
                               val)
                   val)
            remain (rest tokens)]
        (if-not (empty? remain)
          (recur remain
                 (if (= kind :other) prev val)
                 (conj res part))
          (apply vector :pre res))))))

(defn src-for [defs]

        open-p (str "[" open "]")
        close-p (str "[" close "]")
        iden-p (str "[^" sep "]+")
        any-p (str "[" ws "]+" "|.")
        patt (re-pattern (str "("
                              (string/join ")|(" [str-p open-p close-p
                                                  iden-p any-p])
