Opa mode for Sublime Text
JavaScript Python
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 37 commits ahead, 1 commit behind gh-pages.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
Symbol List.tmPreferences


This is the Opa plugin for Sublime Text 2/3

Plugin Features

  1. Syntax highlighting
  2. Build system
  3. Code completion
  4. Contextual access to the online API documentation
  5. Tutorials (one for now)

How to install the Opa plugin ?

  1. Download the package
  2. Move it to ~/.config/sublime-text(2)/Installed Packages/ (linux) or %APPDATA%\Sublime Text( 2)\Installed Packages\ (windows) or ~/Library/Application Support/Sublime Text( 2)/Installed Packages (mac)
  3. Start sublime and check that menu entry [View -> Syntax -> Opa] is present. If not verify 1) and 2) and restart sublime again and again.

How to have syntax highlighting?

Files with .opa extension should automatically get syntax highlighting. If not, please make sure you are using the Opa plugin [View -> Syntax -> Opa].

How to build my application?

Choose a build system:

  • [Tools -> Build -> Build System -> Opa-All] builds all Opa files in the current directory
  • [Tools -> Build -> Build System -> Opa-One] builds the single Opa source code you are editing
  • [Tools -> Build -> Build System -> Opa-Conf] uses opa conf files from the current directory.

Then press F7 or launch from the menu [Tools -> Opa -> Build]. If there are compilation errors such as parsing or typing errors, you can navigate between them using F4.


Can I use the classic Opa syntax?

Yes, the Opa plugin also supports the classic syntax of Opa. Edit Opa-XXX.sublime-build, and add --parser classic in the cmd field just after opa.

How to run my application?

Press F7 or [Tools -> Opa -> Run] The compilation is done automatically, but there is a sync problem awaiting a fix. So it's safer to build before for now.

Other Features

  • Hit [ctrl+d] or [right-click -> Opa Doc] to query doc.opalang.org for the highlighted word
  • The Opa plugin features code completion on the Opa standard library. Try it, for instance by typing "Lfo" to expand to List.fold.
  • The plugin also features skeletons for several Opa constructs. Try it, for instance by typing "function", select the completion, then:
    • enter the function name
    • press "tab"
    • enter the function body
    • press tab
  • You can also play with the (first) tutorial by typing "TUTORIAL" and selecting the completion.

Install from Source

Copy the content of the plugin repository to a new Opa directory in your Sublime directory.

You can build the Sublime package yourself if you want:

  1. Install the AAAPackage Dev and Package Control Sublime packages
  2. Transform Opa.JSON-tmLanguage:
  • Open the file
  • Select build system json to tmLanguage
  • F7
  1. Hit [ctrl+p -> "Package Control: Create Package File" -> "Opa"]
  2. You should have the plugin in Opa.sublime-package

Questions, contributions

Please use GitHub Issues for bugs. You are welcome to fork and contribute Pull Requests to make the Opa plugin rock as much as possible.