diff options
| author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-09-07 00:23:17 +0200 | 
|---|---|---|
| committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-09-07 00:23:17 +0200 | 
| commit | e34f3ab3867e826ffd75fb048611f5f8ad9993e0 (patch) | |
| tree | 659e9cbb5a059b2f2bbfcb05dd08422990c93bb8 /README | |
| parent | f9d746bd4600d34d3b3fe72d5159b58d6160bfb9 (diff) | |
| parent | fff6b102f88479f470d3d02a905674c594edb154 (diff) | |
| download | geiser-e34f3ab3867e826ffd75fb048611f5f8ad9993e0.tar.gz geiser-e34f3ab3867e826ffd75fb048611f5f8ad9993e0.tar.bz2 | |
Merge branch 'devel'
Diffstat (limited to 'README')
| -rw-r--r-- | README | 105 | 
1 files changed, 73 insertions, 32 deletions
| @@ -22,35 +22,75 @@     Currently supported implementations are Guile and PLT. -    - Guile works only with the development, vm-based binary. Be sure -      to customize `geiser-repl-guile-binary' to point to a correct vm -      binary. +    - Guile 1.9.x virtual machine required.      - PLT Scheme 4.1.5.5 or better required.  * Installation +  Geiser can be used either directly from its uninstalled source tree +  or byte-compiled and installed after perfoming the standard +  configure/make/make install dance. -  - In your .emacs: +*** In place +    - Extract the tarball or clone the git repository anywhere in your +      file system. Let's call that place <path-to-geiser>. +    - In your .emacs: -     (load-file "<path-to-geiser>/elisp/geiser.el") +      (load-file "<path-to-geiser>/elisp/geiser.el") -    This installs all supported Scheme implementations. You can list -    explicitly the ones that you want by setting the variable -    `geiser-impl-installed-implementations' *before* loading geiser.el. -    For instance: +*** Byte-compiled +    - Create a build directory, `build', say: +      $ cd <path-to-geiser> +      $ mkdir build; cd build +    - Configure and make: +      $ ../configure && make +    You'll have a directory called "elisp" which contains Geiser's +    elisp bytecode. Now, you can either use it in place, with the +    .emacs incantation: -     (setq geiser-impl-installed-implementations '(plt guile)) +      (load-file "<path-to-geiser>/build/elisp/geiser.elc") -    On opening a scheme file, Geiser will try to guess its Scheme, -    defaulting to the first in the list. +    or install it with: -  - Check the geiser customization group for some options with: +      $ make install + +    and require 'geiser-install (not 'geiser, mind you) in your emacs +    initialization file: + +      (require 'geiser-install) + +    You're ready to go! + +* Basic configuration +  The loading invocations above install all supported Scheme +  implementations. You can list explicitly the ones that you want by +  setting the variable `geiser-impl-installed-implementations' *before* +  loading geiser.el. For instance: + +      (setq geiser-impl-installed-implementations '(plt guile)) + +   On opening a scheme file, Geiser will try to guess its Scheme, +   defaulting to the first in the list. Use `C-c C-s' to select the +   implementation by hand (on a per file basis). + +  Check the geiser customization group for some options with:        M-x customize-group RET geiser RET -    In particular, customize `geiser-repl-<impl>-binary' (in -    geiser-repl), which should point to an executable in your path. +  In particular, customize `geiser-repl-<impl>-binary' (in +  geiser-repl), which should point to an executable in your path. + +  To start a REPL, M-x geiser. + +*** Completion with company-mode +    Geiser offers identifier and module name completion, bound to +    M-TAB and M-` respectively. Only names visible in the current +    module are offered. -  - To start a REPL, M-x geiser. +    While that is cool and all, things are even better: if you have +    [[http://nschum.de/src/emacs/company-mode/][company-mode]] installed, Geiser's completion will use it. Just +    require company-mode and, from then on, any new scheme buffer or +    REPL will use it. If you didn't know about Nikolaj Schumacher's +    awesome mode, check [[http://www.screentoaster.com/watch/stU0lSRERIR1pYRFVdXVlRVFFV/company_mode_for_gnu_emacs][this screencast]].  * Quick key reference @@ -94,22 +134,23 @@  *** In the REPL -    |----------------+-------------------------------------------| -    | C-c C-z, C-c z | Start Scheme REPL (if it's not running)   | -    |----------------+-------------------------------------------| -    | M-.            | Edit identifier at point                  | -    | TAB, M-TAB     | Complete identifier at point              | -    | M-`, C-.       | Complete module name at point             | -    |----------------+-------------------------------------------| -    | M-p, M-n       | Prompt history, matching current prefix   | -    |----------------+-------------------------------------------| -    | C-c k          | Compile and load scheme file              | -    | C-c l          | Load scheme file                          | -    |----------------+-------------------------------------------| -    | C-c d          | See documentation for identifier at point | -    | C-c m          | See module documentation                  | -    | C-c a          | Toggle autodoc mode                       | -    |----------------+-------------------------------------------| +    |----------------+----------------------------------------------------| +    | C-c C-z, C-c z | Start Scheme REPL (if it's not running)            | +    |----------------+----------------------------------------------------| +    | M-.            | Edit identifier at point                           | +    | TAB, M-TAB     | Complete identifier at point                       | +    | M-`, C-.       | Complete module name at point                      | +    |----------------+----------------------------------------------------| +    | M-p, M-n       | Prompt history, matching current prefix            | +    |----------------+----------------------------------------------------| +    | C-c C-k, C-c k | Nuke REPL: use it if the REPL becomes unresponsive | +    |----------------+----------------------------------------------------| +    | C-c l          | Load scheme file                                   | +    |----------------+----------------------------------------------------| +    | C-c d          | See documentation for identifier at point          | +    | C-c m          | See module documentation                           | +    | C-c a          | Toggle autodoc mode                                | +    |----------------+----------------------------------------------------|  *** In the documentation browser: | 
