Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dungeon: add support for editing and managing of dsl files ("task manager") #1611

Merged
merged 3 commits into from
Aug 14, 2024

Conversation

mpeters4
Copy link
Contributor

@mpeters4 mpeters4 commented Aug 9, 2024

Der Task Manager ist im Rahmen der Bachelorarbeit von @mpeters4 entstanden und wird als Kotlin-Projekt in diesem PR in das Dungeon-Projekt integriert.

Mit dem Task Manager können DSL-Dateien komfortabel außerhalb einer IDE bearbeitet und geladen werden, es steht sogar ein Syntaxhighlighting zur Verfügung. Im Gegensatz zum LSP-Support (#1601) sollte dieses Sub-Projekt mittelfristig fest in den Dungeon-DSL-Starter integriert werden, damit informatikfremde Nutzende einfacher mit den Aufgabendefinition in den DSL-Dateien umgehen können. (Der LSP-Support sollte als separates Sub-Projekt weitergeführt werden, da es hier um die IDE-Unterstützung geht.)


Todo vor dem Merge:

  • Anpassen des Haupt-Readme (Lizenzen)

Todo nach dem Merge:

Mittelfristig:

@mpeters4 mpeters4 requested a review from cagix as a code owner August 9, 2024 11:55
@cagix cagix requested a review from AMatutat August 9, 2024 13:27
@cagix cagix marked this pull request as draft August 9, 2024 13:27
@AMatutat
Copy link
Contributor

Als ich den Titel gelesen habe, dachte ich kurz es geht um den Windows Task Manager.... Direkt ein Schreck am Morgen ^^

@cagix
Copy link
Member

cagix commented Aug 12, 2024

@AMatutat Was hältst Du generell davon? Wir haben jetzt in dsl-ide-support-with-lsp/ (#1601) LSP-Support bzw. zwei Plugins (VSCode, IntelliJ), so dass man hier komfortabel als Entwickler DSL-Skripte schreiben kann. Der hiesige PR (#1611) würde eine GUI hinzufügen, mit der auch Leute aus anderen Disziplinen halbwegs angenehm mit DSL-Files arbeiten können. Das könnte man auch prima in das DSL-Starter-Jar integrieren! Der einzige echte Knackpunkt ist für mich Kotlin - aber ich denke, das könnte man mittelfristig umbauen auf plain Java.

@AMatutat
Copy link
Contributor

@AMatutat Was hältst Du generell davon? Wir haben jetzt in dsl-ide-support-with-lsp/ (#1601) LSP-Support bzw. zwei Plugins (VSCode, IntelliJ), so dass man hier komfortabel als Entwickler DSL-Skripte schreiben kann. Der hiesige PR (#1611) würde eine GUI hinzufügen, mit der auch Leute aus anderen Disziplinen halbwegs angenehm mit DSL-Files arbeiten können. Das könnte man auch prima in das DSL-Starter-Jar integrieren! Der einzige echte Knackpunkt ist für mich Kotlin - aber ich denke, das könnte man mittelfristig umbauen auf plain Java.

Konzeptionell klingt das super und das alles als Gesamtpaket anzubieten finde ich gut. Zur Umsetzung kann ich (noch) nichts sagen.

cagix
cagix previously approved these changes Aug 12, 2024
Copy link
Member

@cagix cagix left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mpeters4 Danke für den Beitrag! Schickes Tool :) 👍

Siehe #1611 (comment):

  • Vor dem Merge muss noch im Haupt-Readme eine Erwähnung eingebaut werden (v.a. wg. der Icons und deren Lizenzen).
  • Danach muss man nochmal mit den hier enthaltenen Konfig-Dateien aufräumen, die sind durch das ursprünglich getrennte Projekt teilweise doppelt. Auch sind durch das Kopieren für den PR die Gradle-Konfigurationen doch etwas durcheinander geraten (gradle-wrapper doppelt, die .jar fehlen, ...).
  • Mittelfristig muss das dann ordentlich ins Projekt eingebaut werden, und ggf. könnte der Code nach Java migriert werden (bessere Wartbarkeit - eine Sprache im gesamten Projekt). Muss man sehen.

@cagix cagix changed the title Einbinden des Task Mangers Dungeon: add support for editing and managing of dsl files ("task manager") Aug 12, 2024
Copy link
Member

@cagix cagix left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

punkt 1 erledigt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants