Table of Contents

Racket layer

Table of ContentsClose

racket.png

1. Description

Adds support for the Racket programming language.

1.1. Features:

  • Syntax highlighting with racket-mode
  • Test runner
  • Interactive REPL
  • Code navigation with gtags
  • Structurally safe editing using optional evil-cleverparens

2. Install

To use this configuration layer, add it to your ~/.spacemacs. You will need to add racket to the existing dotspacemacs-configuration-layers list in this file. You will also need DrRacket installed. Alternatively, one can use the "Minimal Racket" installation, and then run the following command.

raco pkg install drracket

3. Structurally safe editing

This layer adds support for evil-cleverparens which allows to safely edit lisp code by keeping the s-expressions balanced.

By default this mode is not activated. You can turn it on locally on the active buffer with SPC m T s (s for safe).

To turn it on automatically for all racket buffers call the following function in your dotspacemacs/user-config function:

(spacemacs/toggle-evil-safe-lisp-structural-editing-on-register-hook-racket-mode)

or to enable it for all supported modes:

(spacemacs/toggle-evil-safe-lisp-structural-editing-on-register-hooks)

When enabled the symbol 🆂 should be displayed in the mode-line.

4. Key bindings

Key binding Description
SPC m g ` Return to previous location
SPC m g g Go to definition of symbol at point
SPC m g m Go to module at point
SPC m g r Open require path

4.2. Documentation

Key binding Description
SPC m h d Describes the function at point in a Racket Describe buffer
SPC m h h View documentation of the identifier or string at point.

4.3. Tests

Key binding Description
SPC m t b Run tests of buffer
SPC m t B Run tests of buffer with coverage

4.4. REPL

Key binding Description
SPC m s b Send buffer to REPL
SPC m s B Send buffer to REPL and switch to REPL buffer in insert state
SPC m s e Send last sexp to REPL
SPC m s E Send last sexp to REPL and switch to REPL in insert state
SPC m s f Send function at point to REPL
SPC m s F Send function at point and switch to REPL in insert state
SPC m s i Start a REPL or switch to REPL buffer
SPC m s r Send region to REPL
SPC m s R Send region to REPL and switch to REPL in insert state
SPC m s s Show and switch to REPL buffer

4.5. Other key bindings

Key binding Description
SPC m i l Insert lambda character
H-r Run current file and open REPL (H is hyper, may be bound to command on macOS)

Author: root

Created: 2024-03-22 Fri 20:48

Validate