@@ -1472,6 +1472,15 @@ under point, prompts for a var."
1472
1472
(interactive " P" )
1473
1473
(cider-read-symbol-name " Symbol: " 'cider-grimoire-web-lookup query))
1474
1474
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
+
1475
1484
(defun cider-grimoire-lookup (symbol )
1476
1485
" Look up the grimoire documentation for SYMBOL."
1477
1486
(-if-let (var-info (cider-var-info symbol))
@@ -1482,18 +1491,13 @@ under point, prompts for a var."
1482
1491
; ; TODO: add a whitelist of supported namespaces
1483
1492
(url-retrieve (cider-grimoire-url name ns (cider--clojure-version))
1484
1493
(lambda (status )
1494
+ ; ; we need to strip the http header
1485
1495
(goto-char (point-min ))
1486
1496
(re-search-forward " ^$" )
1487
1497
(delete-region (point-min ) (point ))
1488
1498
(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 ))))))
1497
1501
(message " Symbol %s not resolved " symbol)))
1498
1502
1499
1503
(defun cider-grimoire (query )
0 commit comments