mirror of https://github.com/logseq/logseq
refactor(editor): use codemirror to guess code mode
parent
db6e5c9333
commit
9eb7c6f820
|
@ -184,22 +184,11 @@
|
||||||
(defn- text->cm-mode
|
(defn- text->cm-mode
|
||||||
[text]
|
[text]
|
||||||
(when text
|
(when text
|
||||||
(let [mode (string/lower-case text)]
|
(let [mode (string/lower-case text)
|
||||||
(case mode
|
find-mode-by-name (gobj/get cm "findModeByName")
|
||||||
"html" "text/html"
|
cm-mode (find-mode-by-name mode)]
|
||||||
"c" "text/x-csrc"
|
(if cm-mode
|
||||||
"c++" "text/x-c++src"
|
(.-mime cm-mode)
|
||||||
"java" "text/x-java"
|
|
||||||
"c#" "text/x-csharp"
|
|
||||||
"csharp" "text/x-csharp"
|
|
||||||
"objective-c" "text/x-objectivec"
|
|
||||||
"scala" "text/x-scala"
|
|
||||||
"js" "text/javascript"
|
|
||||||
"typescript" "text/typescript"
|
|
||||||
"ts" "text/typescript"
|
|
||||||
"tsx" "text/typescript-jsx"
|
|
||||||
"scss" "text/x-scss"
|
|
||||||
"less" "text/x-less"
|
|
||||||
mode))))
|
mode))))
|
||||||
|
|
||||||
(defn render!
|
(defn render!
|
||||||
|
@ -212,16 +201,14 @@
|
||||||
(get-in config [:block :block/uuid])))
|
(get-in config [:block :block/uuid])))
|
||||||
_ (state/set-state! :editor/code-mode? false)
|
_ (state/set-state! :editor/code-mode? false)
|
||||||
original-mode (get attr :data-lang)
|
original-mode (get attr :data-lang)
|
||||||
clojure? (contains? #{"clojure" "clj" "text/x-clojure" "cljs" "cljc"} original-mode)
|
mode (text->cm-mode original-mode)
|
||||||
mode (if clojure? "clojure" (text->cm-mode original-mode))
|
lisp-like? (contains? #{"scheme" "lisp" "clojure" "edn"} mode)
|
||||||
lisp? (or clojure?
|
|
||||||
(contains? #{"scheme" "racket" "lisp"} mode))
|
|
||||||
textarea (gdom/getElement id)
|
textarea (gdom/getElement id)
|
||||||
editor (when textarea
|
editor (when textarea
|
||||||
(from-textarea textarea
|
(from-textarea textarea
|
||||||
#js {:mode mode
|
#js {:mode mode
|
||||||
:theme (str "solarized " theme)
|
:theme (str "solarized " theme)
|
||||||
:matchBrackets lisp?
|
:matchBrackets lisp-like?
|
||||||
:autoCloseBrackets true
|
:autoCloseBrackets true
|
||||||
:lineNumbers true
|
:lineNumbers true
|
||||||
:styleActiveLine true
|
:styleActiveLine true
|
||||||
|
|
Loading…
Reference in New Issue