summaryrefslogtreecommitdiff
path: root/portal.clj
diff options
context:
space:
mode:
authorJake Zerrer <him@jakezerrer.com>2025-11-26 15:10:20 -0500
committerJake Zerrer <him@jakezerrer.com>2025-12-09 18:10:02 -0500
commit02dce7d08f92b1d255e3afca33034f481d1371a7 (patch)
tree18cebc9ab1ee73642ae1294b1c50173b977e29dc /portal.clj
parent34bdba657919a38d26f698024f37d649931ac368 (diff)
Add git-bug to flakeHEADmain
Diffstat (limited to 'portal.clj')
-rw-r--r--portal.clj65
1 files changed, 23 insertions, 42 deletions
diff --git a/portal.clj b/portal.clj
index 2e20bdf..4d4e59e 100644
--- a/portal.clj
+++ b/portal.clj
@@ -11,56 +11,38 @@
(defn rec
"Record flow f, tagging with id."
[id f]
- (m/ap
- (let [capturing? (atom nil)
- [tag value]
- (m/amb= [:focused-tags (m/?< >focused-tags)]
- [:event (m/?< f)])]
- (case tag
- :focused-tags
- (do
- (reset! capturing? (boolean (value id)))
- (m/amb))
+ (m/ap (let [capturing? (atom nil)
+ [tag value] (m/amb= [:focused-tags (m/?< >focused-tags)]
+ [:event (m/?< f)])]
+ (case tag
+ :focused-tags (do (reset! capturing? (boolean (value id))) (m/amb))
+ :event (do (swap! seen-tags conj id)
+ (when @capturing?
+ (m/? (m/via m/blk
+ ((requiring-resolve 'portal.api/submit)
+ [id value]))))
+ value)))))
- :event
- (do
- (swap! seen-tags conj id)
- (when @capturing?
- (m/? (m/via m/blk ((requiring-resolve 'portal.api/submit) [id value]))))
- value)))))
-
-(defn ptags
- "Print all available tags."
- [] @seen-tags)
+(defn ptags "Print all available tags." [] @seen-tags)
(def show-portal? (atom false))
(def >show-portal? (rec :show-portal? (m/signal (m/watch show-portal?))))
-(defn show-portal
- "Show portal window."
- []
- (reset! show-portal? true))
+(defn show-portal "Show portal window." [] (reset! show-portal? true))
-(defn hide-portal
- "Hide portal window."
- []
- (reset! show-portal? false))
+(defn hide-portal "Hide portal window." [] (reset! show-portal? false))
(def >portal-ui
- (m/ap
- (let [ui (m/? (m/via m/blk ((requiring-resolve 'portal.api/open))))]
- (m/amb= ui
- (try (m/? m/never)
- (finally
- ;; Were this blocking, I would put this on m/blk
- ((requiring-resolve 'portal.api/close) ui)
- (m/amb)))))))
+ (m/ap (let [ui (m/? (m/via m/blk ((requiring-resolve 'portal.api/open))))]
+ (m/amb= ui
+ (try (m/? m/never)
+ (finally
+ ;; Were this blocking, I would put this on m/blk
+ ((requiring-resolve 'portal.api/close) ui)
+ (m/amb)))))))
(def >portal-ui-toggle
- (m/ap
- (when (m/?< >show-portal?)
- (m/?< >portal-ui)
- (m/amb))))
+ (m/ap (when (m/?< >show-portal?) (m/?< >portal-ui) (m/amb))))
(defn cap
"Capture flow elements with specified ids to portal"
@@ -79,5 +61,4 @@
(def >portal-main
"Main entrypoint."
- (m/ap (m/amb= (do (m/?< >portal-ui-toggle)
- (m/amb)))))
+ (m/ap (m/amb= (do (m/?< >portal-ui-toggle) (m/amb)))))