#pragma once

#include <QString>
#include <QTextDocument>
#include "SyntaxHighlighter.h"

// ---------------------------------------------------------------------------
// HighlighterFactory – Maps file extensions to the correct highlighter.
// To add a new language, register it in HighlighterFactory.cpp.
// ---------------------------------------------------------------------------
class HighlighterFactory
{
public:
    // Creates and returns a highlighter for the given file path.
    // Returns nullptr if no highlighter is registered for this file type.
    static SyntaxHighlighter *createForFile(const QString &filePath,
                                            QTextDocument *document);
};
