Skip to content

Commit

Permalink
LSP Support: Added project files for the LEMMA VSCode extensions
Browse files Browse the repository at this point in the history
  • Loading branch information
mmitas777 committed Nov 1, 2023
1 parent e7f999e commit 724a39d
Show file tree
Hide file tree
Showing 6,780 changed files with 5,406,990 additions and 0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
46 changes: 46 additions & 0 deletions vscode_extensions/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Guideline for the VSCode Extensions for the LEMMA DSLs

This dir contains all VSCode extensions offering language support for the LEMMA DSLs by using the (Language Server Protocol (LSP))[https://microsoft.github.io/language-server-protocol/]. The extensions contain a Fat JAR of the language server with the language features of each DSL as well as a VSCode implementation of a language client to access the language features and offer them to the user in VSCode. The Fat JARs with the language servers are created when building the .ide subprojects of each DSL Xtext project and will be done automatically with each LEMMA build.

## Available VSCode extensions

So far, this dir contains the following extensions:

- Extension for the Domain Data Modeling Language
- Extension for the Service Modeling Language
- Extension for the Operation Modeling Language
- Extension for the Technology Modeling Language
- Extension for the Technology Mapping Modeling Language
- Extension pack containing all extensions mentioned above

## Extension structure

Each extension (except the extension pack) has the following project structure:

- out -> Compiler output of the TypeScript files
- src -> Source files for the language client and language server
- de.fhdo.lemma. ... .jar -> The Fat JAR containing the language server for the DSL with it's language definitions
- syntaxes -> TextMate grammars to support the syntax highlighting feature
- ... .tmLanguage.json -> JSON file with the TextMate grammar containing all grammar rules for the correct syntax highlighting
- themes -> Contains the color rules for correct colored syntax highlighting
- ... color-theme.json -> JSON from VSCode to describe the color and text style of each text area identified by the TextMate grammar rules. Color style bases on the VSCode dark theme and the color definitions for the LEMMA DSLs in the Eclipse Dark Theme.
- language-configuration.json -> Set of terminal symbols to define closing pairs, brackets and comments
- LICENSE -> The MIT license
- package-lock.json -> The downloaded keys and descriptions of the extension dependencies defined in package.json
- package.json -> General info about this extension, e.g. the publisher, repo, files to offer the language support to, themes, TextMate grammars, configs and dependencies.
- README.md -> README of the extension as seen on the VSCode Marketplace
- SEELAB\_Logo.jpg -> The SEELAB logo as seen on the VSCode Marketplace
- tsconfig.json -> JSON for defining compiler options

## Installation

If the extension(s) shall be used only, simply search the extension marketplace of VSCode for "LEMMA" and install the extension(s) needed.

For developing and modifying, simply:
- Copy the extension dir(s) to your ```.vscode/extensions``` dir located in your user home dir
- Open your terminal and execute ```npm install``` in the dir(s)
- Compile the extension(s) by executing the ```compile``` script with ```npm compile``` or clicking on the "Debug" button above the ```scripts``` section in the package.json file inside VSCode and selecting ```compile```

## Support

If there are any issues or you have questions, feel free to ask the developer of the extensions, (Marcel Mitas)[mailto:marcel.mitas@fh-dortmund.de], or the great LEMMA contributors.
21 changes: 21 additions & 0 deletions vscode_extensions/lemma-data/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2018, 2019

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
37 changes: 37 additions & 0 deletions vscode_extensions/lemma-data/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# LEMMA Domain Data Modeling Language Extension

This extension gives language support for the Domain Data Modeling Language of the [LEMMA ecosystem](https://github.com/SeelabFhdo/lemma). It is based on a language server of this language (embedded in this extension) offering all language features (auto completion, syntax highlighting,...) that it's home IDE, Eclipse, offer.

## Features

Full language support according to the language features the implementation of the language server offers, including:

- Diagnostic
- Syntax Highlighting
- Rename
- Auto completion
- Show syntax / semantic errors and warnings
- The Goto's (Goto Declaration, Goto Definition, Goto Type Definition, ...)
- ...

## Requirements

- Java installed with version >= 11.
- Your Visual studio code installation.

## Extension Settings

This extension offers settings about what host and port the embedded language server should listen to:

* `data.languageServerHost`: The host the language server should listen to.
* `data.languageServerPort`: The port the language server should listen to.

These settings are also available at the VSCode Settings (Settings > Extensions > LEMMA Domain Data Modeling Language).

## Known Issues

If you find any issue for this extension or LEMMA itself, feel free to ask the [LEMMA contributors](https://github.com/SeelabFhdo/lemma#contributors).

## Release Notes

The releases of this extension follow the releases of LEMMA according to it's [GitHub Page](https://github.com/SeelabFhdo/lemma/releases).
Binary file added vscode_extensions/lemma-data/SEELAB_Logo.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 30 additions & 0 deletions vscode_extensions/lemma-data/language-configuration.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"comments": {
// symbol used for single line comment. Remove this entry if your language does not support line comments
"lineComment": "//",
// symbols used for start and end a block comment. Remove this entry if your language does not support block comments
"blockComment": [ "/*", "*/" ]
},
// symbols used as brackets
"brackets": [
["{", "}"],
["[", "]"],
["(", ")"]
],
// symbols that are auto closed when typing
"autoClosingPairs": [
["{", "}"],
["[", "]"],
["(", ")"],
["\"", "\""],
["'", "'"]
],
// symbols that can be used to surround a selection
"surroundingPairs": [
["{", "}"],
["[", "]"],
["(", ")"],
["\"", "\""],
["'", "'"]
]
}
Binary file not shown.
1 change: 1 addition & 0 deletions vscode_extensions/lemma-data/node_modules/.bin/mkdirp

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions vscode_extensions/lemma-data/node_modules/.bin/rimraf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions vscode_extensions/lemma-data/node_modules/.bin/semver

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions vscode_extensions/lemma-data/node_modules/.bin/tsc

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions vscode_extensions/lemma-data/node_modules/.bin/tsserver

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 724a39d

Please sign in to comment.