#+TITLE: Forth layer
* Table of Contents :TOC_4_gh:noexport:
- [[#description][Description]]
- [[#install][Install]]
- [[#key-bindings][Key bindings]]
* Description
This layer supports developing in the Forth family of languages. It provides
shortcuts to a basic set of commands for interactive development.
* Install
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
add =forth= to the existing =dotspacemacs-configuration-layers= list in this
file.
A local installation of Forth needs to be present as well. /GNU Forth/ is
commonly available on Unix systems via the package manager. To bypass the query
when calling ~run-forth~, the default Forth can be configured by setting the
appropriate variable.
#+BEGIN_SRC emacs-lisp
(setq-default dotspacemacs-configuration-layers
'((forth :variables forth-executable "gforth")))
#+END_SRC
* Key bindings
All Forth specific bindings are prefixed with the major-mode leader
~SPC m~.
| Key Binding | Description |
|-------------+-------------------------------------------------------------------|
| ~SPC m d s~ | See definition (show decompiled body) |
| ~SPC m e E~ | Evaluate expression in minibuffer |
| ~SPC m e e~ | Evaluate last expression |
| ~SPC m e r~ | Evaluate region |
| ~SPC m s b~ | Load file in interactive Forth |
| ~SPC m s i~ | Start interactive Forth (prompts for Forth executable if not set) |
| ~SPC m s k~ | Kill interactive Forth |