Setting up editors
You can write Opa codes with any text editor you like, but a good editor can make coding easier. This section is about setting up editors you may commonly use. For now, Sublime Text is the most complete Integrated Development Environment (IDE) for Opa.
Sublime Text
Sublime Text (http://www.sublimetext.com/) is a sophisticated text editor for code, markup, and prose. You can download and try Sublime Text for free from http://www.sublimetext.com/2.
There is an Opa plugin that offers syntax highlighting, code completion, and some other features. To install the plugin, follow these steps:
Get the plugin from https://github.com/downloads/MLstate/OpaSublimeText/Opa.sublime-package.
Move it to
~/.config/sublime-text2/Installed Packages/
(in Linux), or%%APPDATA%%\Sublime Text 2\Installed Packages\
(in Windows), or~/Library/Application Support/Sublime Text 2/Installed Packages
(in Mac).Start Sublime and check if the menu entry (View | Syntax | Opa) is present. If everything goes well, the file with the
.opa
extension should automatically have its syntax highlighted. If not, please make sure you are using the Opa plugin (View | Syntax | Opa). We can navigate to Edit | Line | Reindent to auto-indent the Opa code.
Vim
Vim (http://www.vim.org/) is a highly configurable text editor, freely available for many different platforms. The Opa installation package provides a mode for Vim at /usr/share/opa/vim/
(for Linux) or /opt/mlstate/share/opa/vim/
(for Mac OS). To enable Vim to detect Opa syntax, copy these files to your .vim
directory in your home folder (create it if it does not exist already):
On Linux, type the following command:
$cp –p /usr/share/opa/vim/* ~/.vim/
On Mac OS, type the following command:
$cp –p /opt/mlstate/share/opa/vim/* ~/.vim
Emacs
On Mac OS X,
you can either use Aquamacs and the package installation will take care of it, or you should add the following line to your configuration file (which might be ~/.emacs
; create it if it does not exist already):
(autoload 'opa-classic-mode "/Library/Application Support/Emacs/site-lisp/opa-mode/opa-mode.el" "Opa CLASSIC editing mode." t) (autoload 'opa-js-mode "/Library/Application Support/Emacs/site-lisp/opa-mode/opa-js-mode.el" "Opa JS editing mode." t) (add-to-list 'auto-mode-alist '("\.opa$" . opa-js-mode)) (add-to-list 'auto-mode-alist '("\.js\.opa$" . opa-js-mode)) (add-to-list 'auto-mode-alist '("\.classic\.opa$" . opa-classic-mode))
On Linux, add the following lines to your configuration file:
(autoload 'opa-js-mode "/usr/share/opa/emacs/opa-js-mode.el" "Opa JS editing mode." t) (autoload 'opa-classic-mode "/usr/share/opa/emacs/opa-mode.el" "Opa CLASSIC editing mode." t) (add-to-list 'auto-mode-alist '("\.opa$" . opa-js-mode)) (add-to-list 'auto-mode-alist '("\.js\.opa$" . opa-js-mode)) (add-to-list 'auto-mode-alist '("\.classic\.opa$" . opa-classic-mode))
For Eclipse, the experimental plugin is available at https://github.com/MLstate/opa-eclipse-plugin.