diff options
| author | Marcus Tillmanns <marcus.tillmanns@qt.io> | 2024-09-27 12:11:32 +0200 |
|---|---|---|
| committer | Marcus Tillmanns <marcus.tillmanns@qt.io> | 2024-10-08 11:01:38 +0000 |
| commit | cfb64f3518a362f248839d656160f566ff436ca3 (patch) | |
| tree | 0e0c42cad9d55380a9fb81e131c713d2106ca1d0 /src/plugins/lua/luaengine.cpp | |
| parent | 62f0c8e27b0e9aabc941a9ae3c24d3216ce7578a (diff) | |
Lua: Move inspect and async into resources
Change-Id: I257323861823ed7858efdb265a78cc572c2e7273
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src/plugins/lua/luaengine.cpp')
| -rw-r--r-- | src/plugins/lua/luaengine.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/plugins/lua/luaengine.cpp b/src/plugins/lua/luaengine.cpp index f70b0d5e269..dca1bb25733 100644 --- a/src/plugins/lua/luaengine.cpp +++ b/src/plugins/lua/luaengine.cpp @@ -171,6 +171,23 @@ void registerProvider(const QString &packageName, const PackageProvider &provide d->m_providers[packageName] = provider; } +void registerProvider(const QString &packageName, const FilePath &path) +{ + registerProvider(packageName, [path](sol::state_view lua) -> sol::object { + auto content = path.fileContents(); + if (!content) + throw sol::error(content.error().toStdString()); + + sol::protected_function_result res + = lua.script(content->data(), path.fileName().toStdString()); + if (!res.valid()) { + sol::error err = res; + throw err; + } + return res.get<sol::table>(0); + }); +} + void autoRegister(const std::function<void(sol::state_view)> ®isterFunction) { d->m_autoProviders.append(registerFunction); |
