doomemacs/modules/lang/racket/README.org
Henrik Lissner 6f40ad55f5
docs: discourage after! and use-package! use
There's little reason for users to use these macros in their private
configs over plain ol' `with-eval-after-load` and `use-package`, unless
they're writing their own modules.

It's my fault for signal boosting them in documentation and whenever I'm
asked for help, because beginners now believe they are somehow
required for Doom to work correctly (there are guides out there
telling beginners that migrating to Doom involves replacing all
instances of `with-eval-after-load` and `use-package` in their
pre-existing configs with `after!` and `use-package!` -- which was never
true).

What's more, I plan to replace `use-package`, internally, so the
`use-package!` macro won't exist for much longer.
2026-02-09 04:29:47 -05:00

3 KiB

:lang racket

Description   unfold

This module adds support for the Racket programming language to Doom Emacs.

Maintainers

This module needs a maintainer. Become a maintainer?

Module flags

+lsp
Enable support for racket-mode. Requires doom-module::tools lsp and a langserver (supports racket-langserver).
+xp
Enable the explore minor mode (racket-xp-mode), which "analyzes expanded code to explain and explore."
+hash-lang
Enable the hash-lang major mode (racket-hash-lang-mode), which "uses color-lexer, indent, and navigation supplied by a #lang." This flag can be used along with the +xp flag.

Hacks

No hacks documented for this module.

TODO Changelog

This module does not have a changelog yet.

Installation

Enable this module in your doom! block.

This module requires racket. Install it from the racket website or through your OS package manger.

Arch Linux

pacman -S racket

Or, for fewer dependencies:

pacman -S racket-minimal

Formatter

Formatting is handled using the doom-module::editor format module via fmt.

TODO Usage

󱌣 This module has no usage documentation yet. Write some?

TODO Configuration

󱌣 This module's configuration documentation is incomplete. Complete it?

racket-smart-open-bracket-mode

racket-smart-open-bracket-mode gets turned off automatically if you use parinfer, lispy. If you wish to enable it:

;; in $DOOMDIR/config.el
(with-eval-after-load 'racket-mode
  (add-hook 'racket-mode-hook #'racket-smart-open-bracket-mode))

Unicode Input

The optional racket-unicode input method lets you type unicode characters such as λ or π. To enable unicode input for a single buffer, run racket-unicode-input-method-enable. To enable unicode input by default on all racket buffers:

;; in $DOOMDIR/config.el
(add-hook 'racket-mode-hook      #'racket-unicode-input-method-enable)
(add-hook 'racket-repl-mode-hook #'racket-unicode-input-method-enable)

Once enabled, unicode input can be toggled by pressing C-\ or running toggle-input-method.

Troubleshooting

There are no known problems with this module. Report one?

Frequently asked questions

This module has no FAQs yet. Ask one?

TODO Appendix

󱌣 This module has no appendix yet. Write one?