editor/README.pod - Productivity Comes in Pretty Colors

Syntax Highlighting and Other Editor Assistance ^

Included in this directory are some add-ins for making working on parrot (or in parrot) easier, for various popular editors. Mostly that means syntax-highlighting and automatic indenting. Read on to see what's available for your favorite editor

Vim ^

There are several files here, all with the .vim extension. imc.vim (generated from, pasm.vim, and pmc.vim are syntax files; indent_imc.vim is an indent plugin; and filetype_parrot.vim is a filetype script that tells vim to associate the extensions .imc, .imcc, .pasm, and .pmc with the right syntax. The syntax files should be installed to ~/.vim/syntax/; filetype_parrot.vim should be installed to ~/.vim/ftdetect; indent_imc.vim should be called ~/.vim/indent/imc.vim. make in the editor/ dir will do this automatically. If you want indenting, you should also place filetype indent on somewhere in your vimrc.

Kate ^

There is a syntax file for the KDE editor Kate, but it is not built by default. make imc.kate in editor/ to build it.

TODO: How do we install Kate syntax files?

Emacs ^

Included here is an Emacs mode for editing pasm files, in pasm.el.

To install the pasm major mode copy pasm.el to a directory where Emacs looks for external packages and add the following to your ~/.emacs file:

    (load "pasm")

To automatically associate .pasm files with this major mode add:

    (add-to-list 'auto-mode-alist (cons "\\.pasm\\'" 'pasm-mode))

to your ~/.emacs or you can alternatively type M-x pasm-mode for every file that you want to use the major mode in.

Additionally, you might want to add:

    (add-hook 'pasm-mode-hook
              (function (lambda ()
                          (setq indent-tabs-mode nil))))

to ~/.emacs as this seems to prevent the odd behavior that is noted when using tabs in the pasm mode.

TAGS file ^

There is a script here to automatically generate a TAGS file, which works with Vim and other editors that recognize ctags-format files. The tool "exuberant ctags" is required. Run make tags in the parrot root directory to build the tags file.