ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Reason

Official Reason plugin for Sublime Text

Details

Installs

  • Total 1K
  • Win 240
  • Mac 751
  • Linux 413
Sep 21 Sep 20 Sep 19 Sep 18 Sep 17 Sep 16 Sep 15 Sep 14 Sep 13 Sep 12 Sep 11 Sep 10 Sep 9 Sep 8 Sep 7 Sep 6 Sep 5 Sep 4 Sep 3 Sep 2 Sep 1 Aug 31 Aug 30 Aug 29 Aug 28 Aug 27 Aug 26 Aug 25 Aug 24 Aug 23 Aug 22 Aug 21 Aug 20 Aug 19 Aug 18 Aug 17 Aug 16 Aug 15 Aug 14 Aug 13 Aug 12 Aug 11 Aug 10 Aug 9 Aug 8 Aug 7
Windows 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mac 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1
Linux 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 3 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Readme

Source
raw.​githubusercontent.​com

Sublime Text package for Reason

To have the complete Sublime Text Reason experience, there are two plugins to install: this one, and language-server.

This one provides syntax highlight, snippets for Reason and allows related features to recognize the Reason syntax.

Language-server provides all the others (autocompletion, type hint, jump-to-definition, etc.).

This Plugin's Installation

The plugin's published on Package Control.

  • Go to Command Palette (cmd-shift-p) -> Package Control: Install Package.
  • Choose “Reason”.

Language Server Installation

See https://github.com/jaredly/reason-language-server#sublime-text for language-server installation and configuration.

If you're doing native development, instead of reason-language-server, you can try ocaml-language-server.

Bonus Language Server Configuration

In addition to the installation & configuration above, you might want to set some extra keyboard shortcuts.

  • Go to Command Palette (cmd-shift-p) -> Preferences: Key Bindings
  • Add the following to your configuration:
[
    // ...whatevever config you had before
    {
      "keys": ["super+alt+enter"],
      "command": "lsp_symbol_definition",
      "context": [
        {
          "key": "selector",
          "operator": "equal",
          "operand": ["source.reason"]
        }
      ]
    },
    {
      "keys": ["super+shift+c"],
      "command": "lsp_format_document",
      "context": [
        {
            "key": "selector",
            "operator": "equal",
            "operand": ["source.reason"]
        }
      ]
    }
  ]

super means command on macOS, so you can do e.g. cmd-shift-c to format your Reason files.

Here are all the commands you can assign shortcuts to.

Develop This Package

Thanks for the help!

To test this package locally, do Preferences: Browse Packages and symlink this repo into Packages/User. Disable the existing Reason package, if any.

Install PackageDev, change whichever JSON file in the repo, then call PackageDev: Convert ... from the command palette and convert the file into the corresponding XML files.