Language Server for JavaTX including various Clients.
Go to file
2024-11-19 16:13:59 +01:00
Clients/VisualStudioCode feat: add Type Algorithm 2024-11-19 16:13:59 +01:00
LanguageServer feat: add Type Algorithm 2024-11-19 16:13:59 +01:00
.gitignore Initial commit 2024-10-31 17:16:47 +00:00
README.md docs: update Readme 2024-11-06 16:26:13 +00:00

JavaTXLanguageServer

This Repo contains the LanguageServer for JavaTX as well as various Clients to use it.
It uses the LSP4J Framework in Version 0.23.1.

Functionality

Currently the Language Server has the following functionalities:

  • Syntax-Check
  • Test Hovereffect.
  • HelloWorld Autocomplete
  • Basic Autoformatting (removing every Space at the End of the Line)

Project Structure

.
├── Client/
│   ├── VisualStudioCode                       -> Containing the Client for VS Code. In this Case a Extension. 
│   ├── Eclipse
│   ├── Intellij
│   └── ...
└── LanguageServer/
    └── src/main/java/com/example/
        ├── model/
        │   └── parseError/
        │       └── ...                         -> Containing Custom Parse-Errors.
        ├── parser/
        │   └── ...                             -> Containing an the JavaTX ANTLR Parser for Syntax-Checks.
        ├── JavaTXLanguageServer.java           -> Orchestrator of the Language Server
        ├── JavaTXLanguageServerLauncher.java   -> Class to start the Language Server.
        ├── JavaTXTextDocumentService.java      -> Language-Server Features for a Single File
        └── JavaTXWorkspaceService.java         -> Language-Server Features for the Workspace

Usage

To use this Language Server you have to follow this steps:

  1. Package the LanguageServer with maven:package.
  2. Open the VS-Code Client and run npm install.
  3. change Path in extensions.ts to absolute Path of your packaged Jar-File that you packaged in Step 1. (Line 20 and 24)
  4. run npm run compile
  5. Go to Debug and Run the Extension.
  6. Press F1 and execute the Hello World Command.
  7. You can create .java Files which will be analysed by the Language Server.