                        :hintOptions
                        {:completeSingle false
                         :hint (fn [ed opt]
-                                (let [completions ["one" "two" "three" "four"]
-                                      line (util/current-line ed)
+                                (let [completions (.-completions (.-knotation ed))
                                       token (js->clj (.getTokenAt ed (.getCursor ed)))]
-                                  (clj->js {:list (filter #(string/starts-with? % (get token "string")) completions)
-                                            :from {:line line :ch (get token "start")}
-                                            :to {:line line :ch (get token "end")}})))}})
+                                  ;; (.log js/console "TOKEN" (.getTokenAt ed (.getCursor ed)) (clj->js completions))
+                                  (when (> (count (get token "string")) 1)
+                                    (let [line (util/current-line ed)]
+                                      (when (not (empty? completions))
+                                        (clj->js {:list (filter #(string/starts-with? % (get token "string")) completions)
+                                                  :from {:line line :ch (get token "start")}
+                                                  :to {:line line :ch (get token "end")}}))))))}})
         ed (if (= "TEXTAREA" (.-nodeName elem))
              (.fromTextArea js/CodeMirror elem opts)
              (js/CodeMirror elem opts))]

                    :getCompiledLine
                    (fn [ln-num]
                      (when-let [g (.-graph (.-knotation ed))]
                        (first (filter #(= (inc ln-num) (->> % ::st/input ::st/line-number)) g))))}))

    (ln/assign-ix! ed)



(defn fromSelector
  [editor-selector options]
  (let [opts (update
              (merge {:mode "sparql" :theme "default"
                      :on-hover (.-onHover options)
                      :completions []
                      :focus? (not (not (.-focus options)))}
                     (dissoc (js->clj options :keywordize-keys true) :focus))
              :completions #(js->clj %))]
    (apply editor! editor-selector (mapcat identity opts))))

(defn linked-editors
