2#include <JS/ConsolePanel.hpp>
3#include <JS/JSProcessModel.hpp>
4#include <Library/LibraryInterface.hpp>
5#include <Library/ProcessesItemModel.hpp>
15 SCORE_CONCRETE(
"6e72e377-efdd-4e3c-9900-922b618e7d70")
20 QSet<QString> acceptedFiles()
const noexcept override {
return {
"mjs"}; }
22 bool add(
const QString& path)
25 if(!f.open(QIODevice::ReadOnly))
31 panel->importModule(path);
37 if(path.find(
"companion-bundled-modules") != std::string_view::npos)
39 if(path.find(
"node_modules") != std::string_view::npos)
43 QString qpath = QString::fromUtf8(path.data(), path.length());
44 return [
this, qpath = std::move(qpath)]() {
59 SCORE_CONCRETE(
"21f405da-a249-4e39-b405-9173aff11b26")
61 QSet<QString> acceptedFiles()
const noexcept override {
return {
"js"}; }
66 if(!f.open(QIODevice::ReadOnly))
70 if(QFileInfo{f}.suffix() ==
"mjs")
76 auto data = f.readAll();
87 SCORE_CONCRETE(
"5231ea8b-da66-4c6f-9e34-d9a79cbc494a")
89 QSet<QString> acceptedFiles()
const noexcept override {
return {
"qml"}; }
91 static inline const QRegularExpression scoreImport{
"import Score"};
102 std::optional<Library::ProcessEntry> scanPath(std::string_view path)
override
104 if(std::string_view{path}.ends_with(
".ui.qml"))
108 QFile file{QString::fromUtf8(
109 pathinfo.absoluteFilePath.data(), pathinfo.absoluteFilePath.size())};
110 if(!file.open(QIODevice::ReadOnly))
113 auto data = file.readAll().trimmed();
114 auto matches = scoreImport.match(data);
119 pdata.prettyName = QString::fromUtf8(
120 pathinfo.completeBaseName.data(), pathinfo.completeBaseName.size());
122 pdata.customData = QString::fromUtf8(
123 pathinfo.absoluteFilePath.data(), pathinfo.absoluteFilePath.size());
126 pdata.key, categories(pathinfo), {std::move(pdata), {}}};
Definition LibraryHandler.hpp:58
Definition LibraryHandler.hpp:86
Definition LibraryHandler.hpp:14
std::function< void()> asyncAddPath(std::string_view path) override
Definition LibraryHandler.hpp:35
Definition ConsolePanel.hpp:40
Definition ProcessEntry.hpp:64
void init(std::string processName, const score::ApplicationContext &ctx)
GUI thread (setup). processName is the process's pretty name.
Definition LibraryInterface.cpp:32
Definition LibraryInterface.hpp:26
Definition ProcessesItemModel.hpp:38
Definition ProcessEntry.hpp:25
Definition ProcessEntry.hpp:40
Definition ObjectMatches.hpp:6
Definition DocumentContext.hpp:18
Specializes ApplicationContext with the QMainWindow.
Definition GUIApplicationContext.hpp:15
T & panel() const
Access to a specific PanelDelegate.
Definition GUIApplicationContext.hpp:36
Definition lib/score/tools/File.hpp:20