]> gitweb.factorcode.org Git - factor.git/blob - misc/fuel/README
scryfall: parse mtga deck format
[factor.git] / misc / fuel / README
1 FUEL, Factor's Ultimate Emacs Library                              -*- org -*-
2 -------------------------------------
3
4 FUEL provides a complete environment for your Factor coding pleasure
5 inside Emacs, including source code edition and interaction with a
6 Factor listener instance running within Emacs.
7
8 FUEL was started by Jose A Ortega as an extension to Eduardo Cavazos'
9 original factor.el code. Eduardo is also responsible of naming the
10 beast.
11
12 * Installation
13
14   FUEL comes bundled with Factor's distribution. The folder misc/fuel
15   contains Elisp code, and there's a fuel vocabulary in extras/fuel.
16
17   To install FUEL, either add this line to your Emacs initialisation:
18
19   (load-file "<path/to/factor/installation>/misc/fuel/fu.el")
20
21   or
22
23   (add-to-list load-path "<path/to/factor/installation>/fuel")
24   (require 'fuel)
25
26   If all you want is a major mode for editing Factor code with pretty
27   font colors and indentation, without running the factor listener
28   inside Emacs, you can use instead:
29
30   (add-to-list load-path "<path/to/factor/installation>/fuel")
31   (setq factor-mode-use-fuel nil)
32   (require 'factor-mode)
33
34 * Basic usage
35
36   If you're using the default factor binary and images locations inside
37   the Factor's source tree, that should be enough to start using FUEL.
38   Editing any file with the extension .factor will put you in
39   factor-mode; try C-hm for a summary of available commands.
40
41   To start the listener, try M-x run-factor.
42
43   Many aspects of the environment can be customized:
44   M-x customize-group fuel will show you how many.
45
46 * Quick key reference
47
48   (Triple chords ending in a single letter <x> accept also C-<x> (e.g.
49   C-cC-eC-r is the same as C-cC-er)).
50
51 *** In factor source files:
52
53     - C-cz : switch to listener
54     - C-co : cycle between code, tests and docs factor files
55
56     - M-. : edit word at point in Emacs
57     - M-TAB : complete word at point
58     - C-cC-eu : update USING: line
59     - C-cC-ev : edit vocabulary (M-x fuel-edit-vocabulary)
60     - C-cC-ew : edit word (M-x fuel-edit-word-at-point)
61     - C-cC-ed : edit word's doc (M-x fuel-edit-word-at-point)
62
63     - C-cr, C-cC-er : eval region
64     - C-M-r, C-cC-ee : eval region, extending it to definition boundaries
65     - C-M-x, C-cC-ex : eval definition around point
66     - C-ck, C-cC-ek : run file
67
68     - C-cC-da : toggle autodoc mode
69     - C-cC-dd : help for word at point
70     - C-cC-ds : short help word at point
71     - C-cC-de : show stack effect of current sexp (with prefix, region)
72     - C-cC-dp : find words containing given substring (M-x fuel-apropos)
73     - C-cC-dv : show words in current file (with prefix, ask for vocab)
74
75     - C-cM-<, C-cC-d< : show callers of word at point
76     - C-cM->, C-cC-d> : show callees of word at point
77
78     - C-cC-xs : extract innermost sexp (up to point)  as a separate word
79     - C-cC-xr : extract region as a separate word
80
81 *** In the listener:
82
83     - TAB : complete word at point
84     - M-. : edit word at point in Emacs
85     - C-ca : toggle autodoc mode
86     - C-cp : find words containing given substring (M-x fuel-apropos)
87     - C-cs : toggle stack mode
88     - C-cv : edit vocabulary
89     - C-ch : help for word at point
90     - C-ck : run file
91
92 *** In the debugger (it pops up upon eval/compilation errors):
93
94     - g : go to error
95     - <digit> : invoke nth restart
96     - w/e/l : invoke :warnings, :errors, :linkage
97     - q : bury buffer
98
99 *** In the help browser:
100
101     - h : help for word at point
102     - v : help for a vocabulary
103     - a : find words containing given substring (M-x fuel-apropos)
104     - e : edit current article
105     - ba : bookmark current page
106     - bb : display bookmarks
107     - bd : delete bookmark at point
108     - n/p : next/previous page
109     - l : previous page
110     - SPC/S-SPC : scroll up/down
111     - TAB/S-TAB : next/previous link
112     - k : kill current page and go to previous or next
113     - r : refresh page
114     - c : clean browsing history
115     - M-. : edit word at point in Emacs
116     - C-cz : switch to listener
117     - q : bury buffer
118
119 *** In crossref buffers
120
121     - TAB/BACKTAB : navigate links
122     - RET/mouse click : follow link
123     - h : show help for word at point
124     - q : bury buffer