Fix visit docs for Racket & support racket-xp (#3373)
* Fix visit docs for Racket & support racket-xp
- Fix Racket's +lookup/documentation in the same way as
f20f477a44
- Support the +xp feature which enables racket-xp. When it's not
enabled, default handlers to the traditional racket-repl
(which requires users to run code first)
* PR feedback
* Replace add-hook! with add-hook
This commit is contained in:
parent
991a205ebd
commit
0f3bd57101
3 changed files with 24 additions and 4 deletions
|
@ -21,7 +21,7 @@ This module provide integration for [[https://github.com/greghendershott/racket-
|
|||
This module has no dedicated maintainers.
|
||||
|
||||
** Module Flags
|
||||
This module provides no flags.
|
||||
+ =+xp= Enables the explore mode, which "analyzes expanded code to explain and explore."
|
||||
|
||||
** Plugins
|
||||
+ [[https://github.com/greghendershott/racket-mode][racket-mode]]
|
||||
|
|
|
@ -10,3 +10,20 @@
|
|||
(let ((buf (get-buffer "*Racket REPL*")))
|
||||
(bury-buffer buf)
|
||||
buf)))))
|
||||
|
||||
;;;###autoload
|
||||
(defun +racket-lookup-documentation (thing)
|
||||
"A `+lookup/documentation' handler for Racket."
|
||||
(let ((buf (if racket-xp-mode
|
||||
(racket-xp-describe thing)
|
||||
(racket-repl-describe thing))))
|
||||
(when buf
|
||||
(pop-to-buffer buf)
|
||||
t)))
|
||||
|
||||
;;;###autoload
|
||||
(defun +racket-lookup-definition (_thing)
|
||||
"A `+lookup/definition' handler for Racket."
|
||||
(if racket-xp-mode
|
||||
(call-interactively #'racket-xp-visit-definition)
|
||||
(call-interactively #'racket-repl-visit-definition)))
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
:config
|
||||
(set-repl-handler! 'racket-mode #'+racket/open-repl)
|
||||
(set-lookup-handlers! 'racket-mode
|
||||
:definition #'racket-xp-visit-definition
|
||||
:documentation #'racket-xp-describe)
|
||||
:definition #'+racket-lookup-definition
|
||||
:documentation #'+racket-lookup-documentation)
|
||||
(set-docsets! 'racket-mode "Racket")
|
||||
(set-pretty-symbols! 'racket-mode
|
||||
:lambda "lambda"
|
||||
|
@ -27,9 +27,12 @@
|
|||
#'rainbow-delimiters-mode
|
||||
#'highlight-quoted-mode)
|
||||
|
||||
(when (featurep! +xp)
|
||||
(add-hook 'racket-mode-hook #'racket-xp-mode))
|
||||
|
||||
(unless (or (featurep! :editor parinfer)
|
||||
(featurep! :editor lispy))
|
||||
(add-hook! 'racket-mode-hook #'racket-smart-open-bracket-mode))
|
||||
(add-hook 'racket-mode-hook #'racket-smart-open-bracket-mode))
|
||||
|
||||
(map! :localleader
|
||||
:map racket-mode-map
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue