Dateien, die als Parameter übergeben werden, werden nach dem Start direkt geladen

This commit is contained in:
2026-08-25 14:56:27 +02:00
parent 7264b68f11
commit 04c5212d54
78 changed files with 9528 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
#pragma once
#include <QObject>
#include <QString>
#include <QHash>
class CodeEditor;
class SignatureTooltip;
// ---------------------------------------------------------------------------
// SignatureHelper Lädt die PHP-Funktionsdatenbank und zeigt beim Tippen
// automatisch die passende Funktionssignatur als Tooltip.
//
// Logik:
// • Bei jedem Tastendruck: Text links vom Cursor analysieren
// • Wenn "funktionsname(" erkannt wird → Tooltip anzeigen
// • Wenn ")" die öffnende Klammer schließt → Tooltip verstecken
// • Wenn Cursor sich weg bewegt → Tooltip verstecken
// ---------------------------------------------------------------------------
class SignatureHelper : public QObject
{
Q_OBJECT
public:
explicit SignatureHelper(CodeEditor *editor);
private slots:
void onCursorPositionChanged();
private:
struct FunctionInfo
{
QString signature;
QString description;
};
void loadDatabase();
void loadProjectFunctions();
// Extrahiert den Funktionsnamen direkt links vor dem letzten '('
// Gibt leeren String zurück wenn kein Kontext gefunden
QString extractFunctionName(const QString &textUpToCursor) const;
// Zählt offene Klammern — bei 0 ist der Aufruf abgeschlossen
int countOpenParens(const QString &textUpToCursor) const;
CodeEditor *m_editor = nullptr;
SignatureTooltip *m_tooltip = nullptr;
QHash<QString, FunctionInfo> m_functions; // name → info
};