UsageDebuggerEmacs Support

Emacs Support

A rudimentary emacs-based development system is provided.

Emacs Mode

Put emacs/goo.el in your emacs lisp directory. Add the following to your .emacs file:

(autoload 'goo-mode "goo" "Major mode for editing Goo source." t)
(setq auto-mode-alist
      (cons '("\\.goo\\'" . goo-mode) auto-mode-alist))

Useful features include the following. You can add "font-lock" mode by adding (global-font-lock-mode t) to your .emacs: In a given buffer, you can toggle font-lock with M-x font-lock-mode. Finally, check out the "Index" menu item in a GOO buffer for other options.

For even more fun, load emacs/goo-font-lock.el for a color coded parenthesis nesting aid 3.

Emacs Shell

Put emacs/goo-shell.el in your emacs lisp directory. Add the following to your .emacs:

(autoload 'run-goo  "goo-shell" "Run an inferior Goo process." t)
(setq auto-mode-alist
      (cons '("\\.goo\\'" . goo-mode) auto-mode-alist))
(setq goo-program-name "/home/ai/jrb/goo/goo") 

make sure to set up the goo-program-name to correspond to your installation area.

Useful command / key-bindings are:

M-C-x   goo-send-definition
C-c C-e goo-send-definition
C-c M-e goo-send-definition-and-go
C-c C-r goo-send-region
C-c M-r goo-send-region-and-go
C-c C-z switch-to-goo

Check out goo-shell.el for the complete list of command / key-bindings. I doubt the compile commands do anything useful cause there isn't a compiler.


Emacs TAGS files can be generated by typing make all-tags in the src directory. Useful tags commands / key-bindings are:

M-.     find-tag
M-,     tags-loop-continue

UsageDebuggerEmacs Support