7b5ce34e65
Since factor 0.98, `fuel-edit-word` has been removed, since `fuel-edit-word-at-point` has the same behavior when point is not on a symbol. Also adjust the jump-handler definition. factor: choose correct name for the `fuel` package The package is called `fuel`, not `factor-mode`. This does not make a difference for the layer itself, since it is using the `site` pseudo-location, and thus never deals with the package files. Now, any `post-init-fuel` functions defined somewhere else should work correctly. factor-layer: add missing refactor command binding, fix initial modes
85 lines
3.9 KiB
Org Mode
85 lines
3.9 KiB
Org Mode
#+TITLE: Factor Layer
|
|
|
|
[[file:img/logo.png]]
|
|
|
|
* Table of Contents :TOC_4_gh:noexport:
|
|
- [[#description][Description]]
|
|
- [[#features][Features:]]
|
|
- [[#install][Install]]
|
|
- [[#key-bindings][Key bindings]]
|
|
- [[#factor-mode-editing-source-files][factor-mode (editing source files)]]
|
|
- [[#fuel-listener-mode][fuel-listener-mode]]
|
|
- [[#snippets][Snippets]]
|
|
|
|
* 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>=.
|