diff --git a/src/plugins/lua/CMakeLists.txt b/src/plugins/lua/CMakeLists.txt index a9e0c2f367e..4ce571b5613 100644 --- a/src/plugins/lua/CMakeLists.txt +++ b/src/plugins/lua/CMakeLists.txt @@ -21,6 +21,7 @@ add_qtc_plugin(Lua bindings/texteditor.cpp bindings/translate.cpp bindings/utils.cpp + bindings/utils.h luaengine.cpp luaengine.h luaexpander.cpp diff --git a/src/plugins/lua/bindings/action.cpp b/src/plugins/lua/bindings/action.cpp index fbf04121f25..9a5e89230b7 100644 --- a/src/plugins/lua/bindings/action.cpp +++ b/src/plugins/lua/bindings/action.cpp @@ -16,15 +16,16 @@ void setupActionModule() registerProvider("Action", [](sol::state_view lua) -> sol::object { sol::table result = lua.create_table(); - result.new_enum("CommandAttribute", - "CA_Hide", - Core::Command::CA_Hide, - "CA_UpdateText", - Core::Command::CA_UpdateText, - "CA_UpdateIcon", - Core::Command::CA_UpdateIcon, - "CA_NonConfigurable", - Core::Command::CA_NonConfigurable); + result.new_enum( + "CommandAttribute", + "CA_Hide", + Core::Command::CA_Hide, + "CA_UpdateText", + Core::Command::CA_UpdateText, + "CA_UpdateIcon", + Core::Command::CA_UpdateIcon, + "CA_NonConfigurable", + Core::Command::CA_NonConfigurable); struct ScriptCommand { diff --git a/src/plugins/lua/bindings/qtcprocess.cpp b/src/plugins/lua/bindings/qtcprocess.cpp index 01e48b4a7c9..d5a02440590 100644 --- a/src/plugins/lua/bindings/qtcprocess.cpp +++ b/src/plugins/lua/bindings/qtcprocess.cpp @@ -3,6 +3,8 @@ #include "../luaengine.h" +#include "utils.h" + #include #include @@ -10,19 +12,6 @@ using namespace Utils; namespace Lua::Internal { -FilePath toFilePath(std::variant &&v) -{ - return std::visit( - [](auto &&arg) -> FilePath { - using T = std::decay_t; - if constexpr (std::is_same_v) - return FilePath::fromUserInput(arg); - else - return arg; - }, - v); -} - void setupProcessModule() { registerProvider("Process", [](sol::state_view lua) -> sol::object { diff --git a/src/plugins/lua/bindings/utils.h b/src/plugins/lua/bindings/utils.h new file mode 100644 index 00000000000..183fb1cc29b --- /dev/null +++ b/src/plugins/lua/bindings/utils.h @@ -0,0 +1,25 @@ +// Copyright (C) 2024 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 + +#pragma once + +#include + +namespace Lua::Internal { + +using FilePathOrString = std::variant; + +inline Utils::FilePath toFilePath(const FilePathOrString &v) +{ + return std::visit( + [](auto &&arg) -> Utils::FilePath { + using T = std::decay_t; + if constexpr (std::is_same_v) + return Utils::FilePath::fromUserInput(arg); + else + return arg; + }, + v); +} + +} // namespace Lua::Internal