Commit Graph

10 Commits

Author SHA1 Message Date
hjk
fa0bfa8660 Lua: Dissolve LuaEngine class
It was mostly used as namespace.

Change-Id: Ice6cdd1581d7dd70b09f6d82891b874a206a1ca0
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-07-26 13:25:14 +00:00
Marcus Tillmanns
1220db049e Lua: Add support for translation
Change-Id: I5398480233c830bb08c641bc8193b068fb037032
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-07-24 10:04:26 +00:00
Leena Miettinen
a81e4fb277 Extensions: Edit UI text
- Add dots to ends of messages
- Replace "plugin" with "extension" in translatable text
- Fix capitalization of headings and button labels
- Change wording

Change-Id: I24a3ca6de6a5a0a4509bab34ad2f50cbcf40c73a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2024-06-26 14:09:17 +00:00
Marcus Tillmanns
611f6bdbea Lua: Don't destroy lua state too early
The Lua state needs to stay alive as long as any references to it
may be alive. Therefore this patch leaves the destruction to the end.

Fixes: QTCREATORBUG-31087
Change-Id: Ic49723575f7d2fe474cba9546845b65d57d7dcd0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-06-20 06:22:26 +00:00
Marcus Tillmanns
39c1d82f46 Lua: Implement lua pluginspec specific version check
Change-Id: I52c496c177c949056ff5e7a4ff7b903a028620b1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-06-13 12:52:14 +00:00
Marcus Tillmanns
04abc375f5 Lua: Improve memory management
Previously the PluginSpec would create a keep around a single lua vm
that was then shared with the actual plugin instance. This made it
unclear when the VM was freed.

Now we instead cleanup the lua vm used to fetch the plugin infos
immediately and instead create a fresh vm for the actual plugin
instance that can then follow the normal Plugin lifecylce.

Change-Id: I81bb9ecf57706c2ba1b0d8db83ab26b3b8e944f2
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-05-31 12:21:03 +00:00
Marcus Tillmanns
58f596e36a Lua: Add "printToOutputPane" plugin option
Allows a plugin to automatically forward the "print" command to
the output pane instead of only to qDebug()

Change-Id: I10fb8063bc1713eaaf77368ea7f760270df190b3
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-05-16 09:22:36 +00:00
Marcus Tillmanns
657ce51467 ExtensionSystem: FilePath'ify
Change IPlugin::fileName() and IPlugin::location to use
FilePath instead of QString.

Change-Id: If473ab1e258951735f93221cbd62c505f0727eb2
Reviewed-by: hjk <hjk@qt.io>
2024-05-08 10:29:59 +00:00
Marcus Tillmanns
9f99cf80f0 Lua: Fix soft loading
Previously the LuaEngine::loadPlugin() function tried to fully setup the
lua interpreter. This was called before the dependencies of a lua plugin
were fully soft loaded. Therefore the dependent lua packages had not
been registered yet.

This patch changes that to where the packages and lua libraries are only
loaded right before the actual setup call is done. This also allows us
to safely load the plugin spec without giving it access to all the
functionality directly.

In the future we could show and ask the user before we load the plugin
whether he agrees to give it the requested access.

Change-Id: Ibf3e81db54e2ba94473e8ecf2650dcf2e97f1360
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2024-04-23 11:05:21 +00:00
Marcus Tillmanns
6e3aab5f1b Lua: Add Lua plugin support
Adds basic support for writing Plugins using the lua scripting language.
Lua Plugins are registered just as native plugins are and can be enabled
or disabled via the plugin dialog.

see src/plugins/lua/README.md for further details.

Change-Id: I9f4d15e9632c46e1c6c132bcd0bbcdd70b150640
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-04-16 13:11:18 +00:00