enhance(plugin): support custom daemon renderer from the plugin sdk

This commit is contained in:
charlie
2024-03-22 15:24:36 +08:00
parent e8fbfb146b
commit 18a1655cac
6 changed files with 259 additions and 226 deletions

View File

@@ -1431,8 +1431,16 @@
[routes]
(cond-> routes
config/lsp-enabled?
(concat (some->> (plugin-handler/hook-routes-renderer)
(concat (some->> (plugin-handler/get-route-renderers)
(mapv #(when-let [{:keys [name path render]} %]
(when (not (string/blank? path))
[path {:name name :view (fn [r] (render r %))}])))
(remove nil?)))))
(remove nil?)))))
(defn hook-daemon-renderers
[]
(when-let [rs (seq (plugin-handler/get-daemon-renderers))]
[:div.lsp-daemon-container.fixed.z-10
(for [{:keys [key _pid render]} rs]
(when (fn? render)
[:div.lsp-daemon-container-card {:data-key key} (render)]))]))