Updating the bundled language servers - Moonshine-IDE/Moonshine-IDE GitHub Wiki

This page is targeted at contributors to Moonshine IDE. Most users should go to Moonshine IDE documentation instead.

Moonshine IDE implements the language server protocol, which means that it can potentially integrate code intelligence for any language where someone has implemented a language server. The instructions below explain how to update Moonshine's bundled third-party language servers.

ActionScript & MXML

  1. Copy ide/MoonshineSharedCore/src/elements/as3mxml-language-server/bin/moonshine-as3mxml.jar somewhere temporarily.

  2. Delete the contents of ide/MoonshineSharedCore/src/elements/as3mxml-language-server to remove the old version of the language server.

  3. Download a new release from Github. You should download a .vsix file. This is an extension file for Visual Studio Code.

  4. Rename the file extension from .vsix to .zip.

  5. Extract the archive's contents.

  6. Copy the contents of the extension folder from the archive to ide/MoonshineSharedCore/src/elements/as3mxml-language-server.

  7. Copy moonshine-as3mxml.jar back to its original location.

Groovy

  1. Delete ide/MoonshineSharedCore/src/elements/groovy-language-server/groovy-language-server-all.jar to remove the old version of the language server.

  2. Build prominic/groovy-language-server from source, and find the compiled output at build/libs/groovy-language-server-all.jar.

  3. Copy the .jar file into ide/MoonshineSharedCore/src/elements/groovy-language-server.

Haxe

  1. Delete the contents of ide/MoonshineSharedCore/src/elements/haxe-language-server to remove the old version of the language server.

  2. Build vshaxe/haxe-language-server from source (see the README for instructions) and find the compiled output in the bin folder.

  3. Copy the files from bin into ide/MoonshineSharedCore/src/elements/haxe-language-server.

  4. Copy LICENSE.md into ide/MoonshineSharedCore/src/elements/haxe-language-server.

Java

Copy ide/MoonshineSharedCore/src/elements/jdt-language-server/plugins/moonshine-jdt somewhere temporarily.

  1. Delete the contents of ide/MoonshineSharedCore/src/elements/jdt-language-server to remove the old version of the language server.

  2. Download a new milestone from the Eclipse website:

  3. Extract the archive's contents and add them to ide/MoonshineSharedCore/src/elements/jdt-language-server.

    The jdt-language-server folder should contain the following sub-folders:

    • bin
    • config_win
    • config_mac
    • config_linux
    • config_ss_win
    • config_ss_mac
    • config_ss_linux
    • features
    • plugins
  4. Copy moonshine-jdt.jar back to its original location.

  5. In a text editor, open the bin/jdtls.py script from the language server. Look near the end of this file for the list of command line options used to launch the language server with the Java executable. In Moonshine's JavaLanguageServerManager class, update the options before -cp, if they have changed (bin/jdtls.py uses -jar, but we use -cp to avoid some issues with discovering a file name that changes between versions).