summaryrefslogtreecommitdiff
path: root/clojure/wordmonger/styled-text.clj
blob: 6a74d0b8b1a3eaf5180f5eff93a3b1552c7f4c52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
(defn append-styled-text [styled-text text {:keys [fg style]
                                            :or {style SWT/NORMAL}}]
  (.append styled-text text)
  (let [new-offset (.getCharCount styled-text)
        length (min new-offset (.length text))
        start (max 0 (- new-offset length))
        style-range (new StyleRange start length fg nil style)]
    (println length new-offset start)
    (when (pos? length)
      (doto styled-text
        (.setStyleRange style-range)
        (.setCaretOffset new-offset)))))

(comment
  (defn mode-line-prompt []
    (doto *minibuffer*
      (.setText "")
      (append-styled-text "M-x " {:fg (color "blue")})
      (.setFocus))))