Skip to content

Commit b6ba380

Browse files
committed
Rework the welcome banner
The current version is inspired by REPL-y.
1 parent 2fcc251 commit b6ba380

File tree

2 files changed

+63
-28
lines changed

2 files changed

+63
-28
lines changed

cider-repl.el

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -288,11 +288,25 @@ client process connection. Unless NO-BANNER is non-nil, insert a banner."
288288

289289
(defun cider-repl--banner ()
290290
"Generate the welcome REPL buffer banner."
291-
(format "; CIDER %s (Java %s, Clojure %s, nREPL %s)"
292-
(cider--version)
293-
(cider--java-version)
294-
(cider--clojure-version)
295-
(cider--nrepl-version)))
291+
(let ((host (cider--connection-host (current-buffer)))
292+
(port (cider--connection-port (current-buffer))))
293+
(format ";; Connected to nREPL server running on port %s on host %s - nrepl://%s:%s
294+
;; CIDER %s, nREPL %s
295+
;; Clojure %s, Java %s
296+
;; Docs: (doc function-name)
297+
;; (find-doc part-of-name)
298+
;; Source: (source function-name)
299+
;; Javadoc: (javadoc java-object-or-class)
300+
;; Exit: C-c C-q
301+
;; Results: Stored in vars *1, *2, *3, an exception in *e;"
302+
port
303+
host
304+
host
305+
port
306+
(cider--version)
307+
(cider--nrepl-version)
308+
(cider--clojure-version)
309+
(cider--java-version))))
296310

297311
(defun cider-repl--help-banner ()
298312
"Generate the help banner."

test/cider-tests.el

Lines changed: 44 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -138,35 +138,56 @@
138138
(should (equal (nrepl-server-buffer-name) " *nrepl-server localhost*"))))
139139

140140
(ert-deftest test-cider-repl--banner ()
141-
(noflet ((pkg-info-version-info (library) "0.2.0")
142-
(cider--java-version () "1.7")
143-
(cider--clojure-version () "1.5.1")
144-
(cider--nrepl-version () "0.2.1"))
145-
(should (equal (cider-repl--banner) "; CIDER 0.2.0 (Java 1.7, Clojure 1.5.1, nREPL 0.2.1)"))))
141+
(noflet ((pkg-info-version-info (library) "0.11.0")
142+
(cider--java-version () "1.8.0_31")
143+
(cider--clojure-version () "1.8.0")
144+
(cider--nrepl-version () "0.2.12")
145+
(cider--connection-host (conn) "localhost")
146+
(cider--connection-port (conn) "54018"))
147+
(should (equal (cider-repl--banner)
148+
";; Connected to nREPL server running on port 54018 on host localhost - nrepl://localhost:54018
149+
;; CIDER 0.11.0, nREPL 0.2.12
150+
;; Clojure 1.8.0, Java 1.8.0_31
151+
;; Docs: (doc function-name)
152+
;; (find-doc part-of-name)
153+
;; Source: (source function-name)
154+
;; Javadoc: (javadoc java-object-or-class)
155+
;; Exit: C-c C-q
156+
;; Results: Stored in vars *1, *2, *3, an exception in *e;"))))
146157

147158
(ert-deftest test-cider-repl--banner-version-fallback ()
148-
(require 'pkg-info)
149159
(noflet ((pkg-info-version-info (library) (error "No package version"))
150-
(cider--java-version () "1.7")
151-
(cider--clojure-version () "1.5.1")
152-
(cider--nrepl-version () "0.2.1"))
153-
(let ((cider-version "0.5.1"))
154-
(should (equal (cider-repl--banner) "; CIDER 0.5.1 (Java 1.7, Clojure 1.5.1, nREPL 0.2.1)")))))
160+
(cider--java-version () "1.8.0_31")
161+
(cider--clojure-version () "1.8.0")
162+
(cider--nrepl-version () "0.2.12")
163+
(cider--connection-host (conn) "localhost")
164+
(cider--connection-port (conn) "54018"))
165+
(let ((cider-version "0.11.0"))
166+
(should (equal (cider-repl--banner)
167+
";; Connected to nREPL server running on port 54018 on host localhost - nrepl://localhost:54018
168+
;; CIDER 0.11.0, nREPL 0.2.12
169+
;; Clojure 1.8.0, Java 1.8.0_31
170+
;; Docs: (doc function-name)
171+
;; (find-doc part-of-name)
172+
;; Source: (source function-name)
173+
;; Javadoc: (javadoc java-object-or-class)
174+
;; Exit: C-c C-q
175+
;; Results: Stored in vars *1, *2, *3, an exception in *e;")))))
155176

156177
(ert-deftest test-cider-var-info ()
157178
(noflet ((cider-nrepl-send-sync-request (list)
158-
'(dict
159-
"arglists" "([] [x] [x & ys])"
160-
"ns" "clojure.core"
161-
"name" "str"
162-
"column" 1
163-
"added" "1.0"
164-
"static" "true"
165-
"doc" "stub"
166-
"line" 504
167-
"file" "jar:file:/clojure-1.5.1.jar!/clojure/core.clj"
168-
"tag" "class java.lang.String"
169-
"status" ("done")))
179+
'(dict
180+
"arglists" "([] [x] [x & ys])"
181+
"ns" "clojure.core"
182+
"name" "str"
183+
"column" 1
184+
"added" "1.0"
185+
"static" "true"
186+
"doc" "stub"
187+
"line" 504
188+
"file" "jar:file:/clojure-1.5.1.jar!/clojure/core.clj"
189+
"tag" "class java.lang.String"
190+
"status" ("done")))
170191
(cider-ensure-op-supported (op) t)
171192
(cider-current-session () nil)
172193
(cider-current-ns () "user"))

0 commit comments

Comments
 (0)