Emacs Mode + Lsp mode 不支援 clj-kondo 的靜態分析。 在使用 uix
這樣使用 Macro 的 library 時, 不會有對應的上色。如 defui ,應該是使用
defn 上色,作者有整合 clj-kondo ,但在 使用 Emacs 時,需 要搭配
Cider 、並且 jack-in 進 Clojure 中,才會對 defui 上色。

VS code 的 Clojure
的上色是基於語法導向。它會基於模式去斷定語法該上什麼顏色。因此 defui
在語法上接近 defn ,所以會將它上色。(from ChatGPT)

新版 Emacs 內建 tree-sitter ,tree-sitter 比傳統的 font-lock 方法相比,使用抽象語法樹做靜態分析,所以建義使用各語言的 ts mode。
使用 Clojure-ts-mode ,官網上有提供客制化 def form 的方式
(setopt clojure-ts-extra-def-forms '("defui" "$"))
設定完成就可以不用使用 jack-in ,但還是提供上色支持。
