spacemacs/layers/+lang/factor/README.org

4.0 KiB

Factor Layer

/TakeV/spacemacs/media/commit/c7c348a6769a8b36fbaf846a4d5542dd3c4af7f5/layers/+lang/factor/img/logo.png

Description

A spacemacs layer for Factor language support.

Features:

  • Syntax Highlighting
  • Factor REPL integration
  • Auto-Completion in REPL
  • Scaffolding support
  • Refactoring support

Install

This layer depends on the elisp files that are bundled with factor. To use this layer, make sure that factor is installed and the bundled elisp files are picked up by emacs (usually somewhere in site-lisp).

To use this layer, add it to your ./spacemacs file. Add factor to the dotspacemacs-configuration-layers list there.

Key bindings

factor-mode (editing source files)

Key binding Description
SPC m ' Jump to the factor listener, start if required
SPC m c c Compile and run the current file
SPC m e f Evaluate definition at point
SPC m e r Evaluate region
SPC m e R Evaluate region extended to nearest definition
SPC m g g Jump to definition of word (under point)
SPC m g a Cycle between source, test, and documentation
SPC m t a Run tests for current vocab
SPC m r s Extract innermost sexp as separate word
SPC m r r Extract region as separate word
SPC m r v Create new Vocab with words in region
SPC m r i Inline word
SPC m r w Rename all occurences of word
SPC m r a Extract region as new ARTICLE form
SPC m r g Turn current definition into generic word
SPC m r u Update USING: line according to actually used words
SPC m s s Switch to factor listener
SPC m h h Help for thing at point
SPC m h e Infer stack effect for sexp/region
SPC m h p Apropos
SPC m h v List all words in current file/vocab
SPC m h < Show calling words of current word
SPC m h > Show words called by current word
SPC m S v Scaffold vocab
SPC m S h Scaffold help for current vocab

fuel-listener-mode

Key binding Description
SPC m r Refresh all loaded vocabs
SPC m T s Toggle stack mode
SPC m h Help for word at point
SPC m v Edit vocab
SPC m S v Scaffold vocab

Snippets

This layer provides a yasnippet for colon definitions, which can be expanded after typing a single :. Note that you might have to set yas-triggers-in-field to nil if you use x for stack effect declaration elements a lot, as this will trigger a builtin snippet from prog-mode instead of advancing to the next field when pressing <TAB>.