Skip to content

Flexiblere Aliase #124

@NotLe0n

Description

@NotLe0n

Soll das Feature ein Problem lösen?
Zurzeit muss man für jede Grammatische Form einen Alias erstellen. Das ist zeitaufwendig und führt dazu, dass man aus faulheit Aliase für nötige Grammatische Formen weglässt. Das ist vorallem Schlimm im Duden.

Das Feature
Es soll mehr Syntax in Aliasen erlaubt werden, welches ermöglicht mehrere Aliase in einem zu schreiben. Sowas existiert schon für Funktionen die einen Wahrheitswert zurück geben in Form des Negierungsmarkers (#74): "<t> <!nicht> leer".
Was man bräuchte ist eine möglichkeit kurze Wortbestandteile mit einer art ODER Operator zu vereinigen. Also statt:

	"der erste Buchstabe von <t>",
	"den ersten Buchstaben von <t>",
	"dem ersten Buchstaben von <t>"

könnte man "<der|den|dem> <erste|ersten|ersten> <Buchstabe|Buchstaben|Buchstaben> von <t>" schreiben. Hier gehört jede n-te Option zueinander (z.B. nur der erste Buchstabe ist gültig)

Syntax Vorschlag
Ich habe gerade keinen konkreten Vorschlag für die Syntax (oben war nur ein Beispiel), daher den Issue Typ "Konzept".

Es gibt mehere Möglichkeiten für die Implementierung:

  1. Eine Option pro Wort: der|die|dem
    • Vorteile: Es können keine Grammatikalisch ungültigen Kombinationen entstehen
    • Nachteile: kann zu sehr langen Aliasen führen
  2. Regex-Ähnliche Operatoren: de[rnm] ersten? Buchstaben?
    • Vorteile: Viel kürzere Aliase
    • Nachteile:
      • Viel mehr Syntax welche man lernen muss,
      • wie verhindert man dass "der ersten Buchstabe" generiert wird?

Ein weiterer Punkt ist wie man die neue Syntax von normalen Text auseinander hält. Bisher haben wir besonderer Alias Syntax mit spitzen Klammern umrandet. Bei Aliasnegationen wurde dazu der "Negationsmarker", ein Präfix, eingeführt um es von Parameternamen zu trennen. Reicht es besondere Zeichen, wie | oder ? in Parameternamen zu erkennen, sodass man es nur umranden muss oder müssen wir einen neuen Marker einführen, oder statt spitze Klammern, andere benutzen?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions