Skip to content

dam0/OpaSublimeText

 
 

Repository files navigation

This is the Opa plugin for Sublime Text 2.
Opa: https://opalang.org
Sublime: https://www.sublimetext.com/

# 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) Get https://github.com/downloads/MLstate/OpaSublimeText/Opa.sublime-package

2) Move it to ~/.config/sublime-text2/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?

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

# FAQ

## 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.
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
3) Hit [ctrl+p -> "Package Control: Create Package File" -> "Opa"]
4) You should have the plugin in Opa.sublime-package

# Questions, contributions

Please use github Issues, fork and contribute Pull Requests to make the Opa plugin rock as much as possible.

Thanks!

About

Opa mode for Sublime Text

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published