aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/coreSQLiteStudio/plugins/sqlformatterplugin.cpp
blob: 3c560ed4bbb124c0fdd946065041617aeb7521c8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include "sqlformatterplugin.h"
#include "parser/parser.h"
#include "db/db.h"
#include "common/unused.h"
#include <QDebug>

QString SqlFormatterPlugin::format(const QString& code, Db* contextDb)
{
    UNUSED(contextDb);
    Parser parser;
    if (!parser.parse(code))
    {
        qWarning() << "Could not parse SQL in order to format it. The SQL was:" << code;
        return code;
    }

    QStringList formattedQueries;
    for (SqliteQueryPtr query : parser.getQueries())
        formattedQueries << format(query);

    return formattedQueries.join("\n");
}

QString SqlFormatterPlugin::getLanguage() const
{
    return "sql";
}