mirror of
https://git.outfoxxed.me/quickshell/quickshell.git
synced 2026-04-10 06:11:54 +10:00
Some checks failed
Build / Nix (push) Has been cancelled
Build / Nix-1 (push) Has been cancelled
Build / Nix-2 (push) Has been cancelled
Build / Nix-3 (push) Has been cancelled
Build / Nix-4 (push) Has been cancelled
Build / Nix-5 (push) Has been cancelled
Build / Nix-6 (push) Has been cancelled
Build / Nix-7 (push) Has been cancelled
Build / Nix-8 (push) Has been cancelled
Build / Nix-9 (push) Has been cancelled
Build / Nix-10 (push) Has been cancelled
Build / Nix-11 (push) Has been cancelled
Build / Nix-12 (push) Has been cancelled
Build / Nix-13 (push) Has been cancelled
Build / Nix-14 (push) Has been cancelled
Build / Nix-15 (push) Has been cancelled
Build / Nix-16 (push) Has been cancelled
Build / Nix-17 (push) Has been cancelled
Build / Nix-18 (push) Has been cancelled
Build / Nix-19 (push) Has been cancelled
Build / Nix-20 (push) Has been cancelled
Build / Nix-21 (push) Has been cancelled
Build / Nix-22 (push) Has been cancelled
Build / Nix-23 (push) Has been cancelled
Build / Nix-24 (push) Has been cancelled
Build / Nix-25 (push) Has been cancelled
Build / Nix-26 (push) Has been cancelled
Build / Nix-27 (push) Has been cancelled
Build / Nix-28 (push) Has been cancelled
Build / Nix-29 (push) Has been cancelled
Build / Nix-30 (push) Has been cancelled
Build / Nix-31 (push) Has been cancelled
Build / Nix-32 (push) Has been cancelled
Build / Nix-33 (push) Has been cancelled
Build / Archlinux (push) Has been cancelled
Lint / Lint (push) Has been cancelled
40 lines
855 B
C++
40 lines
855 B
C++
#pragma once
|
|
|
|
#include <qcontainerfwd.h>
|
|
#include <qdir.h>
|
|
#include <qhash.h>
|
|
#include <qloggingcategory.h>
|
|
#include <qvector.h>
|
|
|
|
#include "logcat.hpp"
|
|
|
|
QS_DECLARE_LOGGING_CATEGORY(logQmlScanner);
|
|
|
|
// expects canonical paths
|
|
class QmlScanner {
|
|
public:
|
|
QmlScanner() = default;
|
|
QmlScanner(const QDir& rootPath): rootPath(rootPath) {}
|
|
|
|
void scanDir(const QDir& dir);
|
|
void scanQmlRoot(const QString& path);
|
|
|
|
QVector<QDir> scannedDirs;
|
|
QVector<QString> scannedFiles;
|
|
QHash<QString, QString> fileIntercepts;
|
|
|
|
struct ScanError {
|
|
QString file;
|
|
QString message;
|
|
int line;
|
|
};
|
|
|
|
QVector<ScanError> scanErrors;
|
|
|
|
private:
|
|
QDir rootPath;
|
|
|
|
bool scanQmlFile(const QString& path, bool& singleton, bool& internal);
|
|
bool scanQmlJson(const QString& path);
|
|
[[nodiscard]] static QPair<QString, QString> jsonToQml(const QJsonValue& value, int indent = 0);
|
|
};
|