|
@@ -113,8 +113,9 @@
|
|
(let [editor @editor-atom
|
|
(let [editor @editor-atom
|
|
doc (.getDoc editor)
|
|
doc (.getDoc editor)
|
|
code (nth (:rum/args state) 3)]
|
|
code (nth (:rum/args state) 3)]
|
|
- (.setValue doc code))
|
|
|
|
- (let [[config id attr code] (:rum/args state)
|
|
|
|
|
|
+ (.setValue doc code)
|
|
|
|
+ @editor-atom)
|
|
|
|
+ (let [[config id attr code theme] (:rum/args state)
|
|
original-mode (get attr :data-lang)
|
|
original-mode (get attr :data-lang)
|
|
mode (or original-mode "javascript")
|
|
mode (or original-mode "javascript")
|
|
clojure? (contains? #{"clojure" "clj" "text/x-clojure" "cljs" "cljc"} mode)
|
|
clojure? (contains? #{"clojure" "clj" "text/x-clojure" "cljs" "cljc"} mode)
|
|
@@ -127,7 +128,7 @@
|
|
(when textarea
|
|
(when textarea
|
|
(from-textarea textarea
|
|
(from-textarea textarea
|
|
#js {:mode mode
|
|
#js {:mode mode
|
|
- :theme (if dark? "solarized dark" "solarized")
|
|
|
|
|
|
+ :theme (str "solarized " theme)
|
|
:matchBrackets lisp?
|
|
:matchBrackets lisp?
|
|
:autoCloseBrackets true
|
|
:autoCloseBrackets true
|
|
:lineNumbers true
|
|
:lineNumbers true
|
|
@@ -171,9 +172,11 @@
|
|
(load-and-render! state)
|
|
(load-and-render! state)
|
|
state)
|
|
state)
|
|
:did-update (fn [state]
|
|
:did-update (fn [state]
|
|
|
|
+ (when-let [editor @(:editor-atom state)]
|
|
|
|
+ (.setOption editor "theme" (str "solarized " (nth (state :rum/args) 4))))
|
|
(load-and-render! state)
|
|
(load-and-render! state)
|
|
state)}
|
|
state)}
|
|
- [state config id attr code options]
|
|
|
|
|
|
+ [state config id attr code theme options]
|
|
[:div.extensions__code
|
|
[:div.extensions__code
|
|
[:div.extensions__code-lang
|
|
[:div.extensions__code-lang
|
|
(let [mode (string/lower-case (get attr :data-lang "javascript"))]
|
|
(let [mode (string/lower-case (get attr :data-lang "javascript"))]
|