Skip to content

Latest commit

 

History

History
49 lines (28 loc) · 1.84 KB

README.md

File metadata and controls

49 lines (28 loc) · 1.84 KB

SuperOffice Language Tools

This repository contains all the editor tooling required for working with Javascript for SuperOffice (.jsfso files) and CRMScript (.crmscript files) .

It contains an implementation of the Language Server Protocol (LSP) and is currently under development.

Packages

This repository is a monorepo managed through pnpm, which means that all packages share a node_modules on root.

The SuperOffice language server, powered by Volar.

Features

  • Code completion
  • Diagnostics
  • Hover
  • Includes
  • Syntax highlighting
  • Semantic tokens

The language definition framework for crmscript.

This module acts as a Language Server Protocol (LSP) language client. Its primary responsibility is to communicate with the @superoffice/language-server module (acting as an LSP server) and integrate the language services provided by the server into the VS Code editor. This architecture allows for the reuse of language services across different editors and IDEs, with the implementation of the corresponding LSP client. In this case, @volar/vscode is the LSP client implementation for VS Code.

Implementation for the Monaco Editor using the @superoffice/language-server

Getting Started

  • pnpm i
  • Run&debug -> Launch client

Additional scripts

pnpm run build:langium

Creates the .tmLanguage.json and generated-folder, used for the crmscript language.

pnpm run monaco

Launches the monaco editor which can be opened locally.