Skip to content
Pull request Compare This branch is 10 commits ahead, 4937 commits behind master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



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. For a summary on what is available do cd editor && make help


By default calling make vim-install in the editor/ directory will install several files in ~/.vim. You can use the variable VIM_DIR on the command line by calling make to choose a different target directory for the vim files.

   make vim-install [VIM_DIR=/vim_files_target_directory]

All these files have the .vim extension. pir.vim (generated from, pasm.vim, and pmc.vim are syntax files; indent_pir.vim is an indent plugin; and filetype_parrot.vim is a filetype script that tells vim to associate the extensions .pir, .pasm, and .pmc with the right syntax. The syntax files are installed to ~/.vim/syntax/; filetype_parrot.vim is installed to ~/.vim/parrot.vim; indent_pir.vim is copied to ~/.vim/indent/pir.vim. If you want indenting, you should also place filetype indent on somewhere in your ~/.vimrc.


There is a syntax file for the KDE editor Kate, but it is not built by default. Run:

   make imc.kate

in editor/ to build it.

Copy the file imcc.xml to ~/.kde/share/apps/katepart/syntax.


  • Editing the Parrot VM source

    In this directory is a parrot.el describing the c-mode and cperl-mode changes modifications required to edit the Parrot source code. To install the Parrot mode support copy parrot.el to a directory where Emacs looks for external packages and add the following to your ~/.emacs file:

        (load "parrot")

    Alternatively, if you're an active Parrot developer, you may wish to add this to your .emacs instead, to automatically track future changes:

        (load-file "/<path-to-parrot>/editor/parrot.el")
  • Editing PASM source files

    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. Run

  make tags-vi

for Vim-compatible tags or

  make tags-emacs

for Emacs-style tags. The tool "exuberant ctags" is required for both. There is also the

  make tags-xemacs

target which will work with older XEmacs etags (21.5*).

Something went wrong with that request. Please try again.