Skip to content

Commit de77b59

Browse files
author
Bozhidar Batsov
committed
Refactor a bit the grimoire code
1 parent ec2ae0d commit de77b59

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

cider-interaction.el

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1472,6 +1472,15 @@ under point, prompts for a var."
14721472
(interactive "P")
14731473
(cider-read-symbol-name "Symbol: " 'cider-grimoire-web-lookup query))
14741474

1475+
(defun cider-create-grimoire-buffer (content)
1476+
"Create a new grimoire buffer with CONTENT."
1477+
(with-current-buffer (cider-popup-buffer "*cider grimoire*" t)
1478+
(read-only-mode -1)
1479+
(insert content)
1480+
(read-only-mode +1)
1481+
(goto-char (point-min))
1482+
(current-buffer)))
1483+
14751484
(defun cider-grimoire-lookup (symbol)
14761485
"Look up the grimoire documentation for SYMBOL."
14771486
(-if-let (var-info (cider-var-info symbol))
@@ -1482,18 +1491,13 @@ under point, prompts for a var."
14821491
;; TODO: add a whitelist of supported namespaces
14831492
(url-retrieve (cider-grimoire-url name ns (cider--clojure-version))
14841493
(lambda (status)
1494+
;; we need to strip the http header
14851495
(goto-char (point-min))
14861496
(re-search-forward "^$")
14871497
(delete-region (point-min) (point))
14881498
(delete-blank-lines)
1489-
(text-mode)
1490-
(cider-popup-buffer-mode +1)
1491-
(read-only-mode +1)
1492-
(pop-to-buffer (current-buffer))
1493-
(goto-char (point-min))
1494-
(when (get-buffer "*cider grimoire*")
1495-
(kill-buffer "*cider grimoire*"))
1496-
(rename-buffer "*cider grimoire*"))))
1499+
;; and create a new buffer with whatever is left
1500+
(pop-to-buffer (cider-create-grimoire-buffer (buffer-string))))))
14971501
(message "Symbol %s not resolved" symbol)))
14981502

14991503
(defun cider-grimoire (query)

0 commit comments

Comments
 (0)