update
This commit is contained in:
@@ -89,7 +89,16 @@ def _umfeld(zeilen: list, nr: int, rand: int = 5) -> str:
|
||||
return "\n".join(zeilen[von:bis]).strip()
|
||||
|
||||
|
||||
_ENDE = re.compile(r"^(function |const |async function |\S)")
|
||||
def _pyrumpf(zeilen: list, nr: int, hoechstens: int = 14) -> str:
|
||||
"""Der eingerückte Block unter einer Zeile — für Python statt geschweifter Klammern."""
|
||||
if nr > len(zeilen):
|
||||
return "" # Dekorator ohne Rumpf, etwa am Dateiende
|
||||
block = [zeilen[nr - 1]]
|
||||
for weiter in zeilen[nr:nr + hoechstens]:
|
||||
if weiter.strip() and not weiter[:1].isspace() and not weiter.startswith("@"):
|
||||
break
|
||||
block.append(weiter)
|
||||
return "\n".join(block).rstrip()
|
||||
|
||||
|
||||
def _rumpf(zeilen: list, name: str, hoechstens: int = 14) -> str:
|
||||
@@ -120,9 +129,17 @@ def interaktionen(quelle: dict = None) -> list[dict]:
|
||||
|
||||
Dazu Fenster-Lauscher: ein Tastaturgriff ist eine Fähigkeit, auch ohne Knopf.
|
||||
|
||||
Backend-Routen stehen bewusst nicht drin. Jede nutzbare Route hängt an einem
|
||||
Knopf, der schon in der Liste steht — als eigene Einträge wurden sie doppelt
|
||||
gemeldet und dabei der falschen Karte zugeordnet.
|
||||
Dazu die Backend-Routen. Sie standen zwischenzeitlich nicht drin, weil sie
|
||||
doppelt gemeldet und dabei der falschen Karte zugeordnet wurden. Beides ist
|
||||
jetzt aufgefangen: das Gedächtnis hält die Zuordnung fest, und der
|
||||
Dublettenabgleich fängt zwei Funktionen für dieselbe Sache. Was hinter einem
|
||||
Knopf liegt, ist der einzige Weg an Parser, Dateiverwaltung und Prüflogik —
|
||||
ohne die Routen bliebe der ganze Rücken des Programms ungeprüft.
|
||||
|
||||
Reine Hilfsfunktionen bleiben draußen. Ein Kunde bestellt keine Funktion namens
|
||||
`_slug`; sie wird über die Route erreicht, die ihn interessiert. Jedes
|
||||
öffentliche Symbol aufzunehmen ergäbe wieder ein Code-Inventar statt einer
|
||||
Auftragsliste.
|
||||
"""
|
||||
quelle = dateien() if quelle is None else quelle
|
||||
raus, gesehen = [], set()
|
||||
@@ -144,6 +161,11 @@ def interaktionen(quelle: dict = None) -> list[dict]:
|
||||
for m in _LAUSCHER.finditer(zeile):
|
||||
merke(f"lauscher:{m.group(1)}.{m.group(2)}", "Tastatur oder Maus",
|
||||
pfad, nr, zeilen, zeile)
|
||||
for m in _ROUTE.finditer(zeile):
|
||||
punkt = merke(f"route:{m.group(1)} {m.group(2)}", "Schnittstelle",
|
||||
pfad, nr, zeilen, zeile)
|
||||
if punkt is not None:
|
||||
punkt["rumpf"] = _pyrumpf(zeilen, nr + 1)
|
||||
if not pfad.endswith(".vue"):
|
||||
continue
|
||||
for m in _EREIGNIS.finditer(zeile):
|
||||
|
||||
Reference in New Issue
Block a user