Skip to content

Node-based server framework of the graphical language server platform

License

Notifications You must be signed in to change notification settings

rschnekenbu/glsp-server-node

 
 

Repository files navigation

Node GLSP Server

Node based server component for the Eclipse Graphical Language Platform (GLSP). The implementation of this server is aligned with the default Java based GLSP Server.

The server consists of three components:

Integration & Features

Currently the node-based API does not yet support the full feature set of the Java GLSP Server API. Below is a list of features that are currently supported.

Integration Node Server Java Server
JSON-RPC over Socket (Theia, VSCode)
JSON-RPC over Websocket (Standalone, Eclipse IDE)
Feature Node Server Java Server
Model Saving
Model Dirty State
Model SVG Export
Model Layout
Model Edit Modes
- Edit
- Read-only


 


Client View Port
- Center
- Fit to Screen




Client Status Notification
Client Message Notification
Element Selection
Element Hover
Element Validation
Element Navigation
Element Type Hints
Element Creation and Deletion
Node Change Bounds
- Move
- Resize




Node Change Container
Edge Reconnect
Edge Routing Points
Element Text Editing
Clipboard (Cut, Copy, Paste)
Undo / Redo
Contexts
- Context Menu
- Command Palette
- Tool Palette






Build

Install dependencies and build via

yarn

Only build via

yarn build

Lint packages via

yarn lint

or do all of the above via

yarn all

Testing

Unit tests

To execute all available test suits use:

yarn test

It's also possible to execute and debug a single test file in VSCode/Theia via the File explorer. Simply select a test file (*.spec.ts), then go to the Run & Debug View (Ctrl+Shift+D), select the 'Run current test" launch config and start debugging (Ctrl+F11)

Start & Debug

The example server can be launched with:

yarn start

To debug you can use the Debug workflow example GLSP Server launch configuration. This starts the example server in a dedicated process. To test the server you have to connect a workflow GLSP client that supports JSON-RPC via socket. We recommend to use the client provided by the glsp-integration.

More information

For more information, please visit the Eclipse GLSP Umbrella repository and the Eclipse GLSP Website. If you have questions, please raise them in the discussions and have a look at our communication and support options.

About

Node-based server framework of the graphical language server platform

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.9%
  • JavaScript 0.1%