Skip to content

opencaesar/oml-luxor

Repository files navigation

OML Luxor Extension

Build Status Release

An extension to support OML in VSCode-based IDEs.

Install OML Luxor in VSCode

Download the oml-luxor-VERSION.vsix file from the latest release to your hard disk.

Open VSCode desktop IDE then click on the Extensions tab on the right. Drag and drop the vsix file from your hard disk to the tab to install the extension.

Note: if a previous version of the OML Luxor extension was already installed, uninstall it first.

Install OML Luxor in Gitpod.io

Download the oml-luxor-VERSION.vsix file from the latest release to your hard disk.

Launch your repo with gitoid.io then open the Extension tab on the right. Drag and drop the vsix file from your hard disk to the tab to install the extension.

Note: Alternatively, you can install the latest published version from the VSX registry by searching for "OML Luxor" in the extension tab's search box then click on it to install it.

Note: if a previous version of the extension was already installed, uninstall it first.

Follow the steps below only if you intend to build the OML Extension from source.

Prepare Build Environment

If you like to build OML Luxor extension from source, make sure you have the right build environment first.

Install nvm.

  curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.5/install.sh | bash

Install npm and node.

  nvm install 12
  nvm use 12

Install yarn

  npm install -g yarn
  

Install vsce if you plan to package the extesnion

  npm install -g vsce
  

Clone

  git clone --recurse-submodules https://github.com/opencaesar/oml-luxor.git
  cd oml-luxor

Build

./build.sh

This will create a file, extension/oml-luxor-<version>.vsix.

Clean

./clean.sh

Debug

See extension/src/oml-lsp-extension.ts for:

    // For localhost debugging, uncomment the following:

    //   return this.activateLanguageClientViaSocket(
    //     context,
    //     clientOptions,
    //     OmlLspVscodeExtension.doRegistrations
    //   );

    // For localhost debugging, comment the following:
    
    return this.activateLanguageClientViaExecutable(
        context,
        clientOptions,
        OmlLspVscodeExtension.doRegistrations
      );

For debugging where the oml-server is started separately via io.opencaesar.oml.dsl.ide.launch.OmlRunSocketServer:

    // For localhost debugging, uncomment the following:

      return this.activateLanguageClientViaSocket(
        context,
        clientOptions,
        OmlLspVscodeExtension.doRegistrations
      );

    // For localhost debugging, comment the following:
    
    // return this.activateLanguageClientViaExecutable(
    //     context,
    //     clientOptions,
    //     OmlLspVscodeExtension.doRegistrations
    //   );