The aa snippet below works as expected. But the bb below that does not work despite: https://plugins.geany.org/geanylua/geanylua-ref.html
[Perl] aa={command: lua5.3 -e 'print(1+1)'} bb={command: lua5.3 -e 'print(geany.filename())'}
Geanylua is a plugin to geany, its functions are available to a lua interpretor running as part of Geany. The `{command: }` runs an external command, so you are running a separate lua interpretor which is not running as part of Geany and so the Geany Lua API is not available.
Please consider making it possible to run the Geany Lua interpreter in a similar manner, perhaps as: {lua: }
Geanylua is a plugin, core functionality should not depend on the presence of a plugin. You can simply write the Lua plugin and bind it to a key, it doesn't need to be part of snippets.
I think that it would be very useful to have snippets be able to start plugins actions as well because starting from a snippet is very easy and convenient: the typist does not have to move their fingers from the central three rows of the keyboard nor do they have to remember complex ctrl, alt,shift combinations nor do they have to reach for the mouse. These factors allow a typist to deliver information more quickly than constantly having to use the mouse, menu and awkward ctrl key combinations while reducing typist memory overload thus making the typist more effective and thus higher paid. This in a time of declining productivity. Conversely, if mouse and menus were so effective there would never have been a need for snippets in the first place. Thus snippets have proven their use by their continued use and expansion - this proposal just continues this trend and ensures that the principle of orthogonality is fully applied in Geany: that if one can execute any command via menu or mouse or ctrl keys or snippets which ever the typist finds most convenient and plugins can be executed by some of these means, than plugins should be executable by all such means. The alternative is to make complex set of judgments that some of these combinations are valid and some are not. We should all do our best to reduce the decline in productivity, the principles outlined above would seem to enhance the productivity of Geany users while trying to remember which combinations of actions had to be done by which entry means would definitely not.
These factors allow a typist to deliver information more quickly than constantly having to use the mouse, menu and awkward ctrl key combinations while reducing typist memory overload thus making the typist more effective and thus higher paid.
Excellent, this will allow you to pay a developer to code your chosen user interface paradigm.
When software is developed and maintained by unpiad people in their own time they will work on what they are personally interested in. The more complex the software is, the more time people must spend in unpaid uninteresting maintenance activities and the less time they have to work on what interested them in the first place. Snippets is a simple function to insert small code templates into the buffer, it is not a complete alternative user interface paradigm. Having several user interface paradigms adds to the complexity of Geany core software.
It may be possible to provide such a UI in a plugin, similar to the alternative UI the commander plugin provides.
If someone makes and maintains a plugin to implement the modified UI paradigm thats fine, it does not unnecessarily impact on the core complexity and maintainability of Geany.
The alternative is to make complex set of judgments that some of these combinations are valid and some are not.
Indeed, and that de-facto judgement is what has been made with the functionality that has been provided by contributions of code to Geany core, it uses the standard GUI paradigm that mixes mouse/menu and shortcut keys and which mostly suits the programs contributors.
We should all do our best to reduce the decline in productivity
The purpose of Geany is not to address any putative decline in productivity, it is to develop a "simple fast lightweight" IDE for the purposes of the contributors.
That it is useful to others is good, the contributors are happy that it is useful to them, but contributors gain little from extra users, in fact there is a support cost to bear and the contributors have no obligation to provide any support for enhanced levels of user productivity or any other specific feature or functionality that they themselves do not wish to contribute.
As I said above, if you want additional or different functionality so you get paid more, then you should invest to get that return by having a developer make the functionality in a plugin for you.
You may then keep the plugin as your personal competitive advantage or you may wish to release that plugin to the community in return for the many tens of man years of work you are getting for free in the base software.
github-comments@lists.geany.org