All Projects → reasonml-editor → sublime-reason

reasonml-editor / sublime-reason

Licence: MIT license
Official Reason plugin for Sublime Text

Projects that are alternatives of or similar to sublime-reason

Kotlin Language Server
Intelligent Kotlin support for any editor/IDE using the Language Server Protocol
Stars: ✭ 650 (+1447.62%)
Mutual labels:  language-server, lsp
Spyglass
Development tools for vanilla Minecraft: Java Edition content creators.
Stars: ✭ 91 (+116.67%)
Mutual labels:  language-server, lsp
Protocol Buffers Language Server
[WIP] Protocol Buffers Language Server
Stars: ✭ 44 (+4.76%)
Mutual labels:  language-server, lsp
Monaco Languageclient
NPM module to connect Monaco editor with language servers
Stars: ✭ 419 (+897.62%)
Mutual labels:  language-server, lsp
Dockerfile Language Server Nodejs
A language server for Dockerfiles powered by Node.js, TypeScript, and VSCode technologies.
Stars: ✭ 170 (+304.76%)
Mutual labels:  language-server, lsp
Typescript Language Server
TypeScript & JavaScript Language Server
Stars: ✭ 462 (+1000%)
Mutual labels:  language-server, lsp
Tenkawa Php Language Server
Language server for PHP, with powerful static analysis and type inference.
Stars: ✭ 78 (+85.71%)
Mutual labels:  language-server, lsp
camel-language-server
The Apache Camel LSP server implementation
Stars: ✭ 31 (-26.19%)
Mutual labels:  language-server, lsp
Elm Language Client Vscode
Improving your Elm experience since 2019
Stars: ✭ 162 (+285.71%)
Mutual labels:  language-server, lsp
Nvim Lspconfig
Quickstart configurations for the Nvim LSP client
Stars: ✭ 3,410 (+8019.05%)
Mutual labels:  language-server, lsp
Terraform Ls
Terraform Language Server
Stars: ✭ 389 (+826.19%)
Mutual labels:  language-server, lsp
Fsautocomplete
F# language server using Language Server Protocol
Stars: ✭ 208 (+395.24%)
Mutual labels:  language-server, lsp
Erlang ls
The Erlang Language Server
Stars: ✭ 363 (+764.29%)
Mutual labels:  language-server, lsp
Clojure Lsp
Language Server (LSP) for Clojure
Stars: ✭ 547 (+1202.38%)
Mutual labels:  language-server, lsp
Elm Language Server
Language server implementation for Elm
Stars: ✭ 298 (+609.52%)
Mutual labels:  language-server, lsp
Glsl Language Server
Language server implementation for GLSL
Stars: ✭ 53 (+26.19%)
Mutual labels:  language-server, lsp
ltex-ls
LTeX Language Server: LSP language server for LanguageTool 🔍✔️ with support for LaTeX 🎓, Markdown 📝, and others
Stars: ✭ 182 (+333.33%)
Mutual labels:  language-server, lsp
toy-language-server
Example language server (LSP) implementation for a toy language
Stars: ✭ 54 (+28.57%)
Mutual labels:  language-server, lsp
Metals
Scala language server with rich IDE features 🚀
Stars: ✭ 1,605 (+3721.43%)
Mutual labels:  language-server, lsp
Nox
Nox is a lightweight, high-performance LSP client for Emacs
Stars: ✭ 181 (+330.95%)
Mutual labels:  language-server, lsp

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].