factor/misc/fuel
Jose A. Ortega Ruiz 670cbbfc9f FUEL: Nothing new, just function renamings. 2008-12-18 17:31:52 +01:00
..
README FUEL: More navigation keys for the help buffer. 2008-12-18 17:07:36 +01:00
factor-mode.el FUEL: Font lock for getters/setters fixed, with faces for both. 2008-12-18 12:11:59 +01:00
fu.el FUEL 0.0 : all factor.el functionality in place, plus evaluation. 2008-12-06 04:34:25 +01:00
fuel-base.el FUEL: Bug fixes and compatibility with Emacs 22. 2008-12-17 23:50:48 +01:00
fuel-completion.el FUEL: Nothing new, just function renamings. 2008-12-18 17:31:52 +01:00
fuel-connection.el FUEL: M-. completes vocab names when in USING: stanza. 2008-12-18 00:49:01 +01:00
fuel-debug.el FUEL: Initial word completion (M-TAB) plus lotsa fixes. 2008-12-15 23:44:13 +01:00
fuel-eval.el FUEL: Bug fixes and compatibility with Emacs 22. 2008-12-17 23:50:48 +01:00
fuel-font-lock.el FUEL: Font lock for getters/setters fixed, with faces for both. 2008-12-18 12:11:59 +01:00
fuel-help.el FUEL: More navigation keys for the help buffer. 2008-12-18 17:07:36 +01:00
fuel-listener.el FUEL: More robust listener/emacs protocol; small fixes to the help mode. 2008-12-17 00:08:05 +01:00
fuel-log.el FUEL: Initial word completion (M-TAB) plus lotsa fixes. 2008-12-15 23:44:13 +01:00
fuel-mode.el FUEL: Bug fixes and compatibility with Emacs 22. 2008-12-17 23:50:48 +01:00
fuel-syntax.el FUEL: Font lock for getters/setters fixed, with faces for both. 2008-12-18 12:11:59 +01:00

README

FUEL, Factor's Ultimate Emacs Library
-------------------------------------

FUEL provides a complete environment for your Factor coding pleasure
inside Emacs, including source code edition and interaction with a
Factor listener instance running within Emacs.

FUEL was started by Jose A Ortega as an extension to Ed Cavazos'
original factor.el code.

Installation
------------

FUEL comes bundled with Factor's distribution. The folder misc/fuel
contains Elisp code, and there's a fuel vocabulary in extras/fuel.

To install FUEL, either add this line to your Emacs initialisation:

  (load-file "<path/to/factor/installation>/misc/fuel/fu.el")

or

  (add-to-list load-path "<path/to/factor/installation>/fuel")
  (require 'fuel)

If all you want is a major mode for editing Factor code with pretty
font colors and indentation, without running the factor listener
inside Emacs, you can use instead:

  (add-to-list load-path "<path/to/factor/installation>/fuel")
  (setq factor-mode-use-fuel nil)
  (require 'factor-mode)

Basic usage
-----------

If you're using the default factor binary and images locations inside
the Factor's source tree, that should be enough to start using FUEL.
Editing any file with the extension .factor will put you in
factor-mode; try C-hm for a summary of available commands.

To start the listener, try M-x run-factor.

Many aspects of the environment can be customized:
M-x customize-group fuel will show you how many.

Quick key reference
-------------------

(Triple chords ending in a single letter <x> accept also C-<x> (e.g.
C-cC-eC-r is the same as C-cC-er)).

* In factor source files:

 - C-cz : switch to listener
 - C-co : cycle between code, tests and docs factor files

 - M-. : edit word at point in Emacs
 - M-TAB : complete word at point
 - C-cC-ev : edit vocabulary (M-x fuel-edit-vocabulary)
 - C-cC-ew : edit word (M-x fuel-edit-word)

 - C-cr, C-cC-er : eval region
 - C-M-r, C-cC-ee : eval region, extending it to definition boundaries
 - C-M-x, C-cC-ex : eval definition around point
 - C-ck, C-cC-ek : run file

 - C-cC-da : toggle autodoc mode
 - C-cC-dd : help for word at point
 - C-cC-ds : short help word at point

* In the listener:

 - TAB : complete word at point
 - M-. : edit word at point in Emacs
 - C-ca : toggle autodoc mode
 - C-cv : edit vocabulary
 - C-ch : help for word at point
 - C-ck : run file

* In the debugger (it pops up upon eval/compilation errors):

 - g : go to error
 - <digit> : invoke nth restart
 - w/e/l : invoke :warnings, :errors, :linkage
 - q : bury buffer

* In the Help browser:

 - RET : help for word at point
 - f/b : next/previous page
 - SPC/S-SPC : scroll up/down
 - TAB/S-TAB : next/previous headline
 - C-cz : switch to listener
 - q: bury buffer