NAME

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 imc.vim.in), 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.