Giter Site home page Giter Site logo

influentialpublishers / ocaml-language-server Goto Github PK

View Code? Open in Web Editor NEW

This project forked from iwankaramazow/ocaml-language-server

0.0 5.0 0.0 451 KB

A language server for OCaml and related languages

License: Apache License 2.0

TypeScript 97.83% JavaScript 2.17%

ocaml-language-server's Introduction

ocaml-language-server

A language server for OCaml and Reason

Overview

The OCaml Language Server is an implementation of the Language Server Protocol (LSP) for OCaml, Reason, and related tooling, including support for BuckleScript.

The OCaml Language Server works by providing a standardized JSON-RPC interface (via the LSP) to existing OCaml and Reason tooling. This makes it much easier to provide a uniform development experience across the different editors without duplication of effort.

The OCaml Language Server is not intended to be a replacement for existing OCaml and Reason language tooling. It is intended to make existing language tooling–much of which is excellent and has been developed with great effort–easier to integrate into editors and more accessible to users without requiring extensive configuration effort.

Features

The OCaml Language Server supports the following LSP capabilities and custom features:

  • OCaml support
  • Reason support
  • BuckleScript build system
  • compiler diagnostics
  • incremental document synchronization
  • code action provider
  • code lens provider
  • completion provider
  • definition provider
  • document formatting provider
  • document highlight provider
  • document range formatting provider (Reason)
  • document symbol provider
  • hover provider
  • references provider
  • workspace symbol provider

Clients

The following editor plugins are configured to work with the OCaml Language Server:

Installation

Server

Installation

Some clients (noted above) do not ship the server and require it to be installed separately:

npm install -g ocaml-language-server

Launching

Manually launching the server should only be necessary if you are using a custom configuration or an LSP client that is not already configured for the OCaml Language Server. In that case, the server can be started with one of the following commands:

ocaml-language-server --node-ipc          # communicate over the node IPC
ocaml-language-server --socket={number}   # communicate over a unix socket
ocaml-language-server --stdio             # communicate over stdio

Contributing

Contributions are welcome and encouraged. Please see the following documents:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.