Skip to content

Future-Factory/FuturecLanguageServer

 
 

Repository files navigation

Future-C Language-Server:

Erste Version eines Language-Server für unsere Skriptsprache. Der Sinn dahinter ist, dass das Arbeiten in den Skripts im Laufe der Zeit extrem erleichtert wird.

  • Bitte durchlesen und etwaige Wünsche / Anregungen gleich erstellen
  • Bei Fehlern bitte gleich ein Issue erstellen
  • Die Extension wird nur bei Dateien mit .cpp-Dateien aktiviert
  • Repository

Features (laufend aktualisiert)

  • Syntaxhighlighting
    • für die wichtigsten Dinge einmal definiert

  • Userdefined Functions e.g.: FUNCTION: void Test(int nZahl1, CTable tTable1);
    • Defintion finden
    • goto
    • alle Referenzen finden (macht das gleiche wie Definition finden)
    • Hovering
    • Signaturhilfe zeigt alle und gerade aktuellen Parameter an
    • Auto-completion listet Functions auf wenn Call: eingegeben wurde

  • Parserfunktionen e.g.: S.Select(...)
    • Signaturhilfe zeigt alle und gerade aktuellen Parameter an
    • Auto-completion
      • Unterstützte Tags:
        • keyword - Text der angezeigt wird im UI
        • notes - Zeigt zusätzliche Info zur Funktion an. Wenn nicht vorhanden wird keyword als Dokumentation angezeigt
        • text - Text der dann eignefügt wird. Der Text unterstützt bei Parserfunktionen die Snippetsyntax
        • signature - Signaturliste für die eingegebene Methode
        • returnvalue - Gibt den Rückgabewert an

  • includescripts
    • goto
    • Hovering

  • Variablen
    • Hovering Zeigt alle Usages im aktuellen Skript an - inklusive includescripts

  • Hooks
    • Zu Kundenhook springen
    • Von Kundenhook zu Hook in Hauptskript springen
    • Hook für Kunden erstellen

  • Datenbank
    • Spaltennamen anzeigen (bei Where-Strings / Funktionen die mit DB interagieren)
    • Where-Strings einfach erweiterbar

  • Completion
    • Autocompletion bei Funkionen (Parser oder Userdefined)
    • Variablen-autocompletion
    • Variablen - branch sensitive completion

  • Diagnostics
    • Skriptweit (nur simpel)
    • Global
    • Check-Script Syntax in Language-Server integrieren (nur simpel)

  • Snippets
    • Snippets Zum Erstellen von Functions / Scripts / Changekommentare
    • Snippets für Set/GetElement
    • work in progress

  • Design
    • work in progress

  • Importattributes
    • work in progress

  • Importrecords
    • work in progress

    Aktuell werden nur Dateien aus dem Standard-Ordner gecached. Das heißt das Dateiübergreifende Finden / GoTo usw. wird erst dann funktionieren wenn man mehrere Dateien gleichzeitig offen hat


Keybindings

  • Ctrl + numpad0

  • Ctrl + numpad1

  • Ctrl + numpad2

  • Ctrl + numpad3

Function:


Function GoTo:


Includescript GoTo:


Datenbankspalten:

Wird mit Ctrl+Space aktiviert wenn der Cursor über einer Zahl ist und in der aktuellen Zeile ein Befehl steht, der mit der Datenbank kommuniziert


Parserfunctions:



Config:

  • Im Optionsmenü [Ctrl + ,] kann zwischen Snippet und Signatur gewählt werden
    • Signatur:
      • Einstellung:
      • Usage:
    • Snippet:
      • Einstellung:
      • Usage:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.7%
  • Other 0.3%