Skip to content
Snippets Groups Projects
Commit 3e230b16 authored by Paul Bartetzky's avatar Paul Bartetzky
Browse files

initial

parent f8c7533d
Branches
Tags
No related merge requests found
Showing
with 23475 additions and 58 deletions
### Eclipse ###
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.loadpath
.recommenders
### Maven ###
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
.mvn/wrapper/maven-wrapper.jar
.temp
*.log
## Web ##
node_modules
node_modules/.yarn-integrity
.browser_modules
lib
*.log
**/*-browser-app/**
!**/*-browser-app/package.json
tsconfig.tsbuildinfo
# PNML Petri Net Editor # PNML-Editor
## Prerequisites
The following libraries/frameworks need to be installed on your system:
## Getting started - [Node.js](https://nodejs.org/en/) `>=16.11.0`
- [Yarn](https://classic.yarnpkg.com/en/docs/install#debian-stable) `>=1.7.0 <2.x.x`
- [Java](https://adoptium.net/temurin/releases) `>=17`
- [Maven](https://maven.apache.org/) `>=3.6.0`
To make it easy for you to get started with GitLab, here's a list of recommended next steps. The examples are heavily interweaved with Eclipse Theia, so please also check the [prerequisites of Theia](https://github.com/eclipse-theia/theia/blob/master/doc/Developing.md#prerequisites).
Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)! ## Theia Version compatibility
## Add your files This project template is compatible with Theia `>=1.39.0`.
- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files
- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command:
``` ## Building the Editor
cd existing_repo
git remote add origin https://git-st.inf.tu-dresden.de/dineros/framework/pnml-petri-net-editor.git The server component is built with `maven` and the client component is built with `yarn`.
git branch -M main A convenience script to build both is provided.
git push -uf origin main To build all components execute the following in the directory containing this README:
```bash
yarn build
``` ```
## Integrate with your tools In addition, it is also possible to build each component individually:
- [ ] [Set up project integrations](https://git-st.inf.tu-dresden.de/dineros/framework/pnml-petri-net-editor/-/settings/integrations) ```bash
# Build only the glsp-client
yarn build:client
## Collaborate with your team # Build only glsp-server
yarn build:server
```
- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/) Or you can use the available VSCode tasks configured in the [workspace](java-emf-theia-example.code-workspace) (via Menu _Terminal > Run Task..._)
- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html)
- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically)
- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/)
- [ ] [Set auto-merge](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html)
## Test and Deploy - `Build TaskList GLSP Server`
- `Build TaskList GLSP Client example`
Use the built-in continuous integration in GitLab. ## Running the Editor
- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html) To start the Theia browser application with the integrated tasklist example, navigate to the client directory
- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing (SAST)](https://docs.gitlab.com/ee/user/application_security/sast/)
- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html)
- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/)
- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html)
*** ```bash
cd glsp-client
```
# Editing this README and then execute:
When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thanks to [makeareadme.com](https://www.makeareadme.com/) for this template. ```bash
yarn start
```
This will launch the example in the browser with an embedded GLSP server on [localhost:3000](http://localhost:3000).
From there the file `glsp-client/workspace/example.pnml` can be opened.
## Suggestions for a good README
Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information. ### Watch the TypeScript packages
## Name To run TypeScript in watch-mode so that TypeScript files are compiled as you modify them via CLI:
Choose a self-explaining name for your project.
```bash
yarn watch
```
## Description or the VSCode task `Watch TaskList GLSP Client example`.
Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors.
## Badges ## MQTT Messages
On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge.
## Visuals The broker can be changed by modifying the "broker" filed in the class
Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method. `glsp-server/src/main/java/org/eclipse/glsp/example/javaemf/MQTT/MQTTClient.java`
## Installation Three different kinds of messages can be sent:
Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection.
## Usage - filling places with tokens
Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README.
## Support - topic name: `fillPlace`
Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc. - topic JSON format: {"placeId": _place id as string_, "tokens": _array of token strings_}
- example: `{"placeId": "cd0bae27-ab7a-4647-85d3-b1bb2b3dcd60", "tokens": ["aaaa", "bbbb"]}`
## Roadmap - firing transitions
If you have ideas for releases in the future, it is a good idea to list them in the README.
## Contributing - topic name: `fireTransition`
State if you are open to contributions and what your requirements are for accepting them. - topic JSON format: {"transitionId": _transition id as string_, "tokens": {_placeId_: _Array of token strings_}}
-example: `{"transitionId": "7c12def4-f37f-4948-96c7-a248088d1bee", "tokens": {02cb7814-11e3-496b-9d6a-4be829073826: ["Hund", "Katze"], "c784ac65-fd96-4158-9ba2-c27527a5d69e": ["Dativ"]}}`
For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self. - changing the value of input signals
- topic name: _name of the signal_
- topic format: _Boolean value_
- example: topic: "Red" ; content: "true"
You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser. The examples can be executed as they are on the example in the workspace folder.
## Authors and acknowledgment ## Tina
Show your appreciation to those who have contributed to the project.
## License The repository does not contain the bin files of tina. They have to be manually added to the appropriate location in `libs/tina-3.8.0`. Tina functionality has not been tested on linux.
For open source projects, say how it is licensed.
## Project status
If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers.
/** @type {import('eslint').Linter.Config} */
module.exports = {
extends: '@eclipse-glsp',
root: true,
parserOptions: {
tsconfigRootDir: __dirname,
project: 'tsconfig.eslint.json'
}
};
"@eclipse-glsp/prettier-config"
{
// See http://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
// Extension identifier format: ${publisher}.${name}. Example: vscode.csharp
// List of extensions which should be recommended for users of this workspace.
"recommendations": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"DavidAnson.vscode-markdownlint"
],
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
"unwantedRecommendations": []
}
{
// Use IntelliSense to learn about possible Node.js debug attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch TaskList Theia Backend (Embedded GLSP Server)",
"program": "${workspaceRoot}/tasklist-browser-app/src-gen/backend/main.js",
"args": [
"--port=3000",
"--no-cluster",
"--TASKLIST_GLSP=5007",
"--app-project-path=${workspaceRoot}/tasklist-browser-app",
"--root-dir=${workspaceRoot}/workspace"
],
"env": {
"NODE_ENV": "development"
},
"sourceMaps": true,
"internalConsoleOptions": "openOnSessionStart",
"outputCapture": "std"
},
{
"type": "node",
"request": "launch",
"name": "Launch TaskList Theia Backend (External GLSP Server)",
"program": "${workspaceRoot}/tasklist-browser-app/src-gen/backend/main.js",
"args": [
"--port=3000",
"--no-cluster",
"--TASKLIST_GLSP=5007",
"--debug",
"--app-project-path=${workspaceRoot}",
"--root-dir=${workspaceRoot}/workspace"
],
"env": {
"NODE_ENV": "development"
},
"outFiles": ["${workspaceFolder}/lib/**/*.js"],
"sourceMaps": true,
"internalConsoleOptions": "openOnSessionStart",
"outputCapture": "std"
},
{
"name": "Launch Theia Frontend",
"type": "chrome",
"request": "launch",
"url": "http://localhost:3000/",
"sourceMaps": true,
"webRoot": "${workspaceRoot}/tasklist-browser-app"
}
]
}
// If one would like to add/remove/modify user preferences without modifying the content of the
// workspace settings file, then one would need to modify the `settings.json` under here:
// - Windows: %APPDATA%\Code\User\settings.json
// - Linux: $HOME/.config/Code/User/settings.json
// - Mac: $HOME/Library/Application Support/Code/User/settings.json
{
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit",
"source.fixAll.eslint": "explicit"
},
"eslint.validate": ["javascript", "typescript"],
"search.exclude": {
"**/node_modules": true,
"**/lib": true
},
"task.autoDetect": "off",
"typescript.tsdk": "node_modules/typescript/lib",
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[markdown]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[yaml]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"markdownlint.config": {
"MD007": {
"indent": 4
},
"MD030": {
"ul_single": 3,
"ul_multi": 3
},
"no-inline-html": {
"allowed_elements": ["br", "details", "summary"]
}
},
"cSpell.words": ["glsp"]
}
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Build TaskList GLSP Client example",
"type": "shell",
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"reveal": "always",
"panel": "new"
},
"command": "yarn ",
"problemMatcher": []
},
{
"label": "Watch TaskList GLSP Client example",
"type": "shell",
"group": "build",
"command": "yarn watch",
"presentation": {
"reveal": "always",
"panel": "new"
},
"problemMatcher": []
},
{
"label": "Start TaskList Example Theia Backend (Embedded GLSP Server)",
"type": "shell",
"group": "test",
"command": "yarn start",
"presentation": {
"reveal": "always",
"panel": "new"
},
"problemMatcher": []
},
{
"label": "Start TaskList Example Backend (External GLSP Server)",
"type": "shell",
"group": "test",
"command": "yarn start:external",
"presentation": {
"reveal": "always",
"panel": "new"
},
"problemMatcher": []
}
]
}
# Eclipse GLSP - Project Template:<br> 🖥️ Java ● 🗂️ EMF ● 🖼️ Theia
## GLSP Client
This directory provides the initial setup of the package architecture and environment for a GLSP Client that is integrated into a Theia browser application.
It is based on the `TaskList` example diagram language.
For more detailed instructions and information please confer to the [README](../README.md) in the parent directory.
## Building
To build all GLSP client packages simply execute the following in the `glsp-client` directory:
```bash
yarn
```
## Running the example
To start the Theia browser application with the integrated `TaskList` example execute:
```bash
yarn start
```
It's also possible to start the Theia browser application in external mode.
This means the `TaskList` GLSP server will not be started as an embedded process and is expected to be already running.
This can be used for debugging purposes, where you first start the GLSP server in debug mode and let the Theia application connect to it:
```bash
yarn start:external
```
## Debugging the example
To debug the involved components launch configs are available in the `Run and Debug` view (Ctrl + Shift + D).
Here you can choose between four different launch configurations:
- `Launch TaskList Theia Backend (Embedded GLSP Server)`<br>
This config launches the Theia browser backend application and will start the GLSP server as embedded process which means you won't be able to debug the GLSP Server source code.
Breakpoints in the source files of the `glsp-client/**/node` directories will be picked up.
- `Launch TaskList Theia Backend (External GLSP Server)`<br>
This config launches the Theia browser backend application but does not start the GLSP server as embedded process.
Breakpoints in the source files of the `glsp-client/**/node` directories will be picked up.
It expects that the GLSP Server process is already running and has been started externally.
- `Launch Theia Frontend`<br>
Launches a Google chrome instance, opens the Theia browser application at `http://localhost:3000` and will automatically open an example workspace that contains a `example.tasklist` file.
Double-click the file in the `Explorer` to open it with the `TaskList Diagram Editor`.
Breakpoints in the source files of the `glsp-client/**/browser` directories will be picked up.
## Watching the example
To run TypeScript in watch-mode so that TypeScript files are compiled as you modify them execute:
```bash
yarn watch
```
## Using preconfigured tasks
Alternatively to executing these commands manually, you can also use the preconfigured VSCode tasks (via Menu _Terminal > Run Task..._):
- `Build TaskList GLSP Client example`
- `Watch TaskList GLSP Client example`
- `Start TaskList Example Theia Backend (Embedded GLSP Server)`
- `Start TaskList Example Backend (External GLSP Server)`
## More information
For more information, please visit the [Eclipse GLSP Umbrella repository](https://github.com/eclipse-glsp/glsp) and the [Eclipse GLSP Website](https://www.eclipse.org/glsp/).
If you have questions, please raise them in the [discussions](https://github.com/eclipse-glsp/glsp/discussions) and have a look at our [communication and support options](https://www.eclipse.org/glsp/contact/).
{
"version": "2.0.0",
"useWorkspaces": "true",
"npmClient": "yarn",
"command": {
"run": {
"stream": true
}
}
}
This diff is collapsed.
{
"name": "parent",
"version": "1.0.0",
"private": true,
"homepage": "https://www.eclipse.org/glsp/",
"bugs": "https://github.com/eclipse-glsp/glsp/issues",
"repository": {
"type": "git",
"url": "https://github.com/eclipse-glsp/glsp-examples.git"
},
"license": "(EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR MIT)",
"author": {
"name": "Eclipse GLSP"
},
"contributors": [
{
"name": "Eclipse GLSP Project",
"email": "glsp-dev@eclipse.org",
"url": "https://projects.eclipse.org/projects/ecd.glsp"
}
],
"workspaces": [
"tasklist-glsp",
"tasklist-theia",
"tasklist-browser-app"
],
"scripts": {
"all": "yarn install && yarn lint",
"build": "lerna run build",
"clean": "lerna run clean",
"lint": "lerna run lint",
"lint:ci": "lerna run lint:ci",
"prepare": "lerna run prepare",
"rebuild:browser": "theia rebuild:browser",
"start": "yarn rebuild:browser && yarn --cwd tasklist-browser-app start",
"start:external": "yarn rebuild:browser && yarn --cwd tasklist-browser-app start:external",
"watch": "lerna run --parallel watch"
},
"resolutions": {
"string-width": "4.2.3"
},
"devDependencies": {
"@eclipse-glsp/config": "2.0.0",
"lerna": "^6.6.2",
"typescript": "^5.2.2"
},
"engines": {
"node": ">=16.11.0",
"yarn": ">=1.7.0 <2.x.x"
},
"dependencies": {
"inversify": "^6.0.2",
"inversify-inject-decorators": "^3.1.0",
"reflect-metadata": "^0.2.2"
}
}
{
"name": "tasklist-browser-app",
"version": "1.0.0",
"private": true,
"scripts": {
"build": "theia build --mode development",
"prepare": "yarn build",
"start": "theia start --TASKLIST_GLSP=5007 --root-dir=../workspace",
"start:external": "theia start --TASKLIST_GLSP=5007 --root-dir=../workspace --debug",
"dstart": "theia start --TASKLIST_GLSP=5007 --root-dir=../workspace --loglevel=debug --debug",
"watch": "theia build --watch --mode development"
},
"dependencies": {
"@theia/core": "1.43.1",
"@theia/editor": "1.43.1",
"@theia/filesystem": "1.43.1",
"@theia/markers": "1.43.1",
"@theia/messages": "1.43.1",
"@theia/monaco": "1.43.1",
"@theia/navigator": "1.43.1",
"@theia/output": "1.43.1",
"@theia/preferences": "1.43.1",
"@theia/process": "1.43.1",
"@theia/terminal": "1.43.1",
"@theia/workspace": "1.43.1",
"@theia/electron": "1.49.1",
"tasklist-theia": "2.0.0"
},
"devDependencies": {
"@theia/cli": "1.43.1"
},
"theia": {
"target": "browser"
}
}
/********************************************************************************
* Copyright (c) 2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the Eclipse
* Public License v. 2.0 are satisfied:
* -- GNU General Public License, version 2 with the GNU Classpath Exception
* which is available at https://www.gnu.org/software/classpath/license.html
* -- MIT License which is available at https://opensource.org/license/mit.
*
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR MIT
********************************************************************************/
svg {
border-style: solid;
border-width: 1px;
border-color: #bbb;
}
.sprotty-node {
fill: inherit;
}
.pnml-node {
fill: #f1bd6c;
}
.page-comp {
fill: rgba(150, 150, 150, 0.4);
}
.page-comp-outline {
outline-style: solid;
outline-width: 1px;
outline-color: #000000;
fill: rgba(150, 150, 150, 0.4);
}
.page-node {
fill: rgba(150, 150, 150, 0.4);
}
.page-node:hover {
fill: rgba(150, 150, 150, 0.4);
}
.label-node {
fill: rgba(255, 255, 255, 0);
}
.label-comp {
outline-style: solid;
outline-width: 1px;
outline-color: #000000;
}
.ref-place {
fill: #f1bd6c;
outline-style: dashed;
outline-width: 1px;
outline-color: #000000;
border-radius: 1000px;
}
.ref-transition {
fill: #f1bd6c;
outline-style: dashed;
outline-width: 1px;
outline-color: #000000;
}
.ref-link {
filter: brightness(0) saturate(100%) invert(51%) sepia(3%) saturate(20%) hue-rotate(333deg) brightness(98%) contrast(97%);
}
.inhibitor-arc {
filter: invert(11%) sepia(84%) saturate(4323%) hue-rotate(1deg) brightness(100%) contrast(119%);
}
.read-arc {
filter: invert(23%) sepia(76%) saturate(2784%) hue-rotate(84deg) brightness(96%) contrast(97%);
}
.topic-node {
fill: #4787e0;
}
.topic-link {
filter: brightness(0) saturate(100%) invert(19%) sepia(41%) saturate(5461%) hue-rotate(218deg) brightness(98%) contrast(80%);
}
.service-node {
fill: #34cd1c;
}
.service-channel {
fill: #299d17;
}
.service-channel-link {
filter: invert(23%) sepia(76%) saturate(2784%) hue-rotate(84deg) brightness(96%) contrast(97%);
}
.service-server-link {
filter: invert(23%) sepia(76%) saturate(2784%) hue-rotate(84deg) brightness(96%) contrast(97%);
}
.server-page {
fill: rgba(114, 220, 68, 0.4);
}
.signal-clause-false {
filter: invert(11%) sepia(84%) saturate(4323%) hue-rotate(1deg) brightness(100%) contrast(119%);
}
.signal-clause-true {
filter: invert(23%) sepia(76%) saturate(2784%) hue-rotate(84deg) brightness(96%) contrast(97%);
}
.button-overlay {
position: absolute;
left: 25px;
top: 25px;
text-align: left;
min-width: 150px;
display: flex;
flex-direction: column;
z-index: 1000;
font-family: sans-serif;
}
.overlay-button {
opacity: 0.5;
display: flex;
}
.overlay-button:hover {
opacity: 1;
cursor: pointer;
}
.overlay-icon {
margin-right: 10px;
padding-left: 5px;
width: 16px;
height: 16px;
text-align: center;
}
.delete-field {
display: flex;
}
.delete-icon {
opacity: 0.5;
}
.delete-icon:hover {
opacity: 1;
cursor: pointer;
color: crimson;
}
.overlay-icon {
margin-right: 10px;
padding-left: 5px;
width: 16px;
height: 16px;
text-align: center;
}
.edit-box {
border-style: solid;
border-width: 0px;
border-color: #bbb;
border-radius: 5px;
color: #333333;
box-shadow: 0px 1px 6px var(--theia-widget-shadow);
}
.edit-box-text {
padding: 0.4em;
}
.edit-box-header {
padding: 0.4em;
text-align: left;
background: #dddddd;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
}
{
"private": "true",
"name": "tasklist-glsp",
"version": "2.0.0",
"description": "GLSP sprotty diagrams for the EMF model TaskList DSL",
"license": "(EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR MIT)",
"keywords": [
"glsp",
"tasklist",
"diagram"
],
"author": {
"name": "Eclipse GLSP"
},
"homepage": "https://www.eclipse.org/glsp/",
"repository": {
"type": "git",
"url": "https://github.com/eclipse-glsp/glsp-examples.git"
},
"bugs": "https://github.com/eclipse-glsp/glsp/issues",
"contributors": [
{
"name": "Eclipse GLSP Project",
"email": "glsp-dev@eclipse.org",
"url": "https://projects.eclipse.org/projects/ecd.glsp"
}
],
"files": [
"lib",
"src",
"css"
],
"dependencies": {
"@eclipse-glsp/client": "2.0.0"
},
"devDependencies": {
"rimraf": "^2.6.1"
},
"scripts": {
"prepare": "yarn clean && yarn build",
"clean": "rimraf lib tsconfig.tsbuildinfo",
"build": "tsc",
"lint": "eslint --ext .ts,.tsx ./src",
"lint:ci": "yarn lint -o eslint.xml -f checkstyle",
"watch": "tsc -w"
},
"main": "lib/index",
"types": "lib/index"
}
/********************************************************************************
* Copyright (c) 2024 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the Eclipse
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
* with the GNU Classpath Exception which is available at
* https://www.gnu.org/software/classpath/license.html.
*
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
********************************************************************************/
import { Action, Args, hasStringProp, Operation } from '@eclipse-glsp/client';
export interface AddDiNeROSTokenOperation extends Operation {
kind: typeof AddDiNeROSTokenOperation.KIND;
placeId: string;
token: string;
/**
* Custom arguments.
*/
args?: Args;
}
export namespace AddDiNeROSTokenOperation {
export const KIND = 'AddDiNeROSTokenOperation';
export function is(object: unknown): object is AddDiNeROSTokenOperation {
return Action.hasKind(object, KIND) && hasStringProp(object, 'placeId') && hasStringProp(object, 'token');
}
export function create(placeId: string, token: string, options: { args?: Args } = {}): AddDiNeROSTokenOperation {
return {
kind: KIND,
isOperation: true,
placeId: placeId,
token: token,
...options
};
}
}
/********************************************************************************
* Copyright (c) 2024 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the Eclipse
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
* with the GNU Classpath Exception which is available at
* https://www.gnu.org/software/classpath/license.html.
*
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
********************************************************************************/
import { Action, Args, hasStringProp, Operation } from '@eclipse-glsp/client';
export interface AddInputSignalOperation extends Operation {
kind: typeof AddInputSignalOperation.KIND;
inputSignalId: string;
/**
* Custom arguments.
*/
args?: Args;
}
export namespace AddInputSignalOperation {
export const KIND = 'AddInputSignalOperation';
export function is(object: unknown): object is AddInputSignalOperation {
return Action.hasKind(object, KIND) && hasStringProp(object, 'inputSignalId');
}
export function create(inputSignalId: string, options: { args?: Args } = {}): AddInputSignalOperation {
return {
kind: KIND,
isOperation: true,
inputSignalId: inputSignalId,
...options
};
}
}
/********************************************************************************
* Copyright (c) 2024 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the Eclipse
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
* with the GNU Classpath Exception which is available at
* https://www.gnu.org/software/classpath/license.html.
*
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
********************************************************************************/
import { Action, Args, hasStringProp } from '@eclipse-glsp/client';
export interface CopyToClipboardAction extends Action {
kind: typeof CopyToClipboardAction.KIND;
text: string;
/**
* Custom arguments.
*/
args?: Args;
}
export namespace CopyToClipboardAction {
export const KIND = 'CopyToClipboardAction';
export function is(object: unknown): object is CopyToClipboardAction {
return Action.hasKind(object, KIND) && hasStringProp(object, 'text');
}
export function create(text: string, options: { args?: Args } = {}): CopyToClipboardAction {
return {
kind: KIND,
text: text,
...options
};
}
}
/********************************************************************************
* Copyright (c) 2024 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the Eclipse
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
* with the GNU Classpath Exception which is available at
* https://www.gnu.org/software/classpath/license.html.
*
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
********************************************************************************/
import { Action, Args, hasStringProp, Operation } from '@eclipse-glsp/client';
export interface DeleteDiNeROSTokenOperation extends Operation {
kind: typeof DeleteDiNeROSTokenOperation.KIND;
placeId: string;
token: string;
/**
* Custom arguments.
*/
args?: Args;
}
export namespace DeleteDiNeROSTokenOperation {
export const KIND = 'DeleteDiNeROSTokenOperation';
export function is(object: unknown): object is DeleteDiNeROSTokenOperation {
return Action.hasKind(object, KIND) && hasStringProp(object, 'placeId') && hasStringProp(object, 'token');
}
export function create(placeId: string, token: string, options: { args?: Args } = {}): DeleteDiNeROSTokenOperation {
return {
kind: KIND,
isOperation: true,
placeId: placeId,
token: token,
...options
};
}
}
/********************************************************************************
* Copyright (c) 2024 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the Eclipse
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
* with the GNU Classpath Exception which is available at
* https://www.gnu.org/software/classpath/license.html.
*
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
********************************************************************************/
import { Action, Args, hasStringProp, Operation } from '@eclipse-glsp/client';
export interface DeleteInputSignalOperation extends Operation {
kind: typeof DeleteInputSignalOperation.KIND;
inputSignalId: string;
/**
* Custom arguments.
*/
args?: Args;
}
export namespace DeleteInputSignalOperation {
export const KIND = 'DeleteInputSignalOperation';
export function is(object: unknown): object is DeleteInputSignalOperation {
return Action.hasKind(object, KIND) && hasStringProp(object, 'inputSignalId');
}
export function create(inputSignalId: string, options: { args?: Args } = {}): DeleteInputSignalOperation {
return {
kind: KIND,
isOperation: true,
inputSignalId: inputSignalId,
...options
};
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment