              [inline-editor-component id]
              [raw-html-component (gen-html)])])))))
 
+(declare code-block-component)
+
 (defn emit-code-block [editor-id form-id node-id]
   ^{:key node-id} [code-block-component editor-id form-id node-id])
 
-(defn code-elements-row [emit hints items]
-  (let [row (map emit items)]
+(defn code-elements-row [emitter hints items]
+  (let [row (map emitter items)]
     (if (:indent? hints)
       (cons [:div.indent] row)
       row)))
 
-(defn code-elements-layout [emit [desc & lines]]
+(defn code-elements-layout [emitter [desc & lines]]
   (if (:oneliner? desc)
     [:div.elements
      (let [[hints & line-items] (first lines)]
-       (code-elements-row emit hints line-items))]
+       (code-elements-row emitter hints line-items))]
     [:table.elements
      [:tbody
       (for [[index [hints & line-items]] (helpers/indexed-iteration lines)]

                                           [[(first line-items) (second line-items)] (drop 2 line-items)]
                                           [[(first line-items)] (rest line-items)])]
            ^{:key index} [:tr
                           [:td (code-elements-row emit hints left-items)]
                           [:td (code-elements-row emit {} right-items)]])
          ^{:key index} [:tr
                         [:td {:col-span 2} (code-elements-row emit hints line-items)]]))]]))

(defn code-element-component [_editor-id _form-id _node-id _layout]
  (fn [editor-id form-id node-id layout]

            [plastic.main.frame :refer [subscribe]]
            [plastic.util.helpers :as helpers]
            [plastic.main.editor.toolkit.id :as id]))

(defn code-token-component
  "A reagent component responsible for rendering a singe code token.
