Skip to content

Commit ec4de41

Browse files
vspinubbatsov
authored andcommitted
[Fix #407] Add support for user level messages and warnings
1 parent 5ddd4c9 commit ec4de41

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
(ns cider.nrepl.middleware.util.nrepl
2+
"Common utilities for interaction with the client."
3+
(:require
4+
[clojure.tools.nrepl.middleware.interruptible-eval :refer [*msg*]]
5+
[clojure.tools.nrepl.misc :refer [response-for]]
6+
[clojure.tools.nrepl.transport :as transport]))
7+
8+
(defn send-user-message
9+
"Send user level message to client as a response to request `msg`.
10+
If transport is not provided use (:transport msg). If msg is not provided, use
11+
current *msg* from interruptible-eval middleware. Type is a keyword or string
12+
indicating type of the message (e.g. :warning, :debug etc). "
13+
([message] (send-user-message *msg* message))
14+
([msg message] (send-user-message (:transport msg) msg message nil))
15+
([msg message type] (send-user-message (:transport msg) msg message type))
16+
([tr msg message type]
17+
(transport/send tr (apply response-for msg :status :message :msg message (when type [:type type])))))
18+

0 commit comments

Comments
 (0)