@@ -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