2
Fix using datadir for scripts.
5
Build libdir and datadir paths on Windows using the installation
6
directory as prefix. This still can be improved.
9
Look for support library in LIBDIR/geany-plugins/geanylua.
10
Read scripts from DATADIR/geany-plugins/geanylua.
11
Init plugin_key_group fields to zero in case support library is not
13
Make Help script look in:
14
$prefix/share/doc/geany-plugins/geanylua/ - but $prefix is currently
15
Geany's install prefix, which works in most cases. Really this
16
should be fixed by exposing GeanyLua's $DOCDIR to Lua scripts.
19
Move to geany-plugins project, add i18n support.
20
Rename from GeanyLua to 'Lua Script'.
21
Temporarily fix plugin_configure().
23
December 5, 2008 (ntrel)
24
Update to Geany API v115.
26
September 17, 2008 (eht16)
27
Fix to work with Geany API v93.
29
September 11, 2008 (ntrel)
30
Fix wrong argument for "project-close" signal.
31
Fix document signal callbacks to use document pointers.
33
August 8, 2008 (ntrel)
34
Fix to work with Geany API v86.
36
August 7, 2008 (ntrel)
37
Use $(mkdir_p) instead of $(MKDIR_P) in Makefile, so it works with
41
Fix use of old app macro.
42
Fix segfault in last commit in glspi_init() (oops).
43
Don't install .svn subdirectories in examples.
46
Fix for GeanyEditor changes.
49
Use plugin_init(), plugin_cleanup().
50
Add macro for main_widgets, fix project access.
51
Require Lua >= 5.1, not 5.1.2.
54
Convert doc_array usage to documents_array.
57
Update to use document pointers.
58
Update MY_GEANY_API_VER now we use p_document->close().
59
Update for new PLUGIN_ macro names.
60
Add comment about reloading in glspi_open().
61
Rename GeanyCallbacks, geany_callbacks symbol.
62
Rename document -> GeanyDocument.
65
Begin updating for Geany 0.15 API changes.
66
Use main_widgets instead of old app.
67
Include some Geany headers due to moved definitions.
68
Add glspi_geany_functions.
69
Use new _prefs structs.
70
Update DOCS macro usage for documents_array.
73
Released version 0.7.0
76
Added a new examples folder "work" with three new scripts:
77
edit-test-script.lua; run-test-script.lua; install-test-script.lua
78
These should make it a little easier for users to develop and save
79
their own personal scripts.
80
Also added "examples/edit/calculator.lua" -
81
The idea came from the "Plugin Wishlist" on the Geany website, only
82
this one can even do some fancy stuff like 'sqrt(pi^2*sin(rad(45)))'
85
Revised configure.in and Makefile.am to support Geany's new header
86
installation and pkg-config features, so the build configuration
87
no longer requires the --with-geany-src option.
90
Added support for Geany's new built-in keybinding API.
91
This means that scripts can now take advantage of Geany's
92
preferences system to configure keybindings.
93
See ./docs/geanylua-keys.html for more info.
96
Code cleanup to quiet some compiler warnings.
97
Fix to compile with -DGEANY_DISABLE_DEPRECATED flag.
100
New function: optimize() disables line info and elapsed time counter
101
for scripts that need all the CPU time they can get.
102
Also found and fixed a nasty crash bug in the filter-parsing code for
103
the pickfile() function.
106
Added a copy of Enrico Colombini and Thomas Lauer's "Lua Short Reference"
107
to the GeanyLua docs. This provides a convenient and concise guide to the
108
Lua language and its core libraries.
111
Removed gtk_main_iteration() loop from glspi_run_script() in glspi_run.c.
112
I am not even sure why it was there, possibly it was needed for something,
113
but maybe it just seemed like a good idea at the time. It was causing some
114
scripts to hang under certain conditions, particularly when event scripts
115
were invoked while the GeanyDebug plugin was running.
118
Fixed missing symbols in Win32 library.
119
( Thanks to Joerg Desch for reporting. )
122
Released version 0.6.1
123
Note that the pre-compiled binaries availiable on the website are now
124
statically linked to Lua-5.1.3 instead of 5.1.2. This was a bugfix-only
125
release of Lua, and since most of the bugs were fairly obscure and trivial,
126
it really shouldn't affect GeanyLua at all.
129
Fixed "make install" bug where ~/.geany/plugins/geanylua was not getting
130
created, which caused the installation to fail if the directory didn't
131
already exist. ( Thanks to Harri Koskinen for reporting. )
134
Added the ability to show a calltip for the keygrab() function.
135
It might not seem like much, but I think it is a big improvement
136
over the previous "typing while blind" limitation.
139
Released version 0.6.0
142
New function: keygrab() intercepts the next keystroke from Geany, useful for
143
creating "chained" keybindings. ( Thanks to John Gabriele for suggesting. )
146
Fix missing *.vbs files from "make dist"
149
Major change - All of the core functionality has been moved into a support
150
library named "libgeanylua.so" and now the "geanylua.so" plugin is only a
151
thin wrapper around the core. This was done to bypass the local-binding
152
restriction placed on plugins by Geany, which prevented Lua API functions
153
from being referenced from binary Lua modules.
156
Major code refactoring, trying to hide as many globally-visible symbols
157
as possible. There is a good chance that this might introduce a bug or
158
two, but I also found and fixed a bug in the choose() function, so
159
at least maybe it won't be a total loss.
162
Cleaned up the documentation.
165
Added some code to help with repainting the GUI during lengthy operations,
166
using the low-level GDK paint functions instead of the usual GTK main loop.
167
This should help keep the window painted while still preventing too much
168
user interaction while a script is running.
171
The timeout measurement now pauses the timer while dialogs are displayed,
172
rather than setting the timer back to zero for each dialog. Actually it
173
considers the time spent as 1/10 of a second, to keep timeouts working
174
even if you create an endless loop with a dialog inside. But even still,
175
you might need to click a lot of buttons before the timer expires!
178
Revamped the ugly and broken goto_error() function. Trying to parse the
179
filename and line number from the builtin error messages was just wrong,
180
and couldn't possibly be reliable since Lua truncates long path names when
181
it formats the message. So now we store the filename and line number from
182
our debug_hook() in case the filename changes if the script calls Lua's
183
dofile() function or something. That is a really slow way to do things,
184
since we strcmp() the filenames every time the interpreter executes a line.
185
But for now it's the only way I know how, and at least now it's working.
188
The "geanylua.c" file was getting a bit too large to navigate easily,
189
so I moved most of the lua-related code into a new file, "glspi_run.c"
190
Added some new features to the filename-to-menu-label generator, a trailing
191
underscore in the filename will create an ellipsis after for the menu label,
192
e.g. "Files_.lua" becomes "Files..." Also, any two-digit prefix followed
193
by a dot is now stripped off, this gives more control over the position of
194
menu items, e.g. "01.Zebra.lua" and "02.Apple.lua" creates the "Zebra" label
195
before the "Apple" label.
198
Just after releasing 0.5.2, I found a mistake in the "gsdlg.c" file
199
that prevented the timeout reset for dialogs from working correctly.
200
It should be fixed now.
203
Released version 0.5.2
204
Revised licensing clause to allow users the possibility of
205
choosing GPL-v2 or later versions.
208
New function: yield() allows lengthy script operations to call
209
gtk_main_iteration() occasionaly to prevent the IDE from appearing
210
frozen. I imagine there might be cases where using this function
211
might be a very bad idea, since it allows the user and the script
212
to interact with Geany at the same time.
215
Partially fixed the long-standing problem that a faulty script can
216
potentially lock up Geany. Scripts are now given a maximum of fifteen
217
seconds to complete before generating an error. This fix is not totally
218
idiot-proof, but it should provide adequate protection against endless loops.
219
( Be warned - it might still be possible to hang up a script in some other
220
ways which can't currently be detected. )
221
Also added a timeout() function to allow script authors to increase or even
222
completely disable the timeout if needed.
225
Released version 0.5.1
226
Fix to compile against Geany-SVN-r2145 (API Ver 37)
227
Moved all #include's for geany source headers above the evil "pluginmacros.h"
228
so maybe this bug won't bite me again.
231
Released version 0.5.0
234
Added files "win32-install.vbs" and "win32-uninstall.vbs" to hopefully
235
simplify windows installation. Likewise, added the file "install.sh"
236
to the pre-compiled Linux-x86 archive.
239
New function: rescan() rebuilds the "Tools->Lua Scripts" menu
240
so you can update your menus on-the-fly.
243
New function: launch() spawns a new process and returns immediately,
244
unlike Lua's standard execute() function which waits for the child
245
process to terminate before returning.
248
Completed (?) changing the makefile over to use autotools.
249
IMPORTANT NOTE: The new name of the script folder is now
250
.../plugins/geanylua instead of the old name of .../plugins/lua,
251
so you should move any of your own custom scripts into the new folder.
254
Following Enrico's suggestion, I converted code over to use
255
the "pluginmacors.h" macros.
258
Added keycmd() function to activate geany menu commands, per GeanyKeyCommand
259
enum in geany/src/keybindings.h
262
Fixed a bad bug where menu items were not getting removed when
263
the plugin was disabled in plugin manager.
266
Added function wkdir() to get/set the current working directory.
269
Fixed a bug in the count() function - it was including documents that
273
Added a new module "dialog" to provide a more flexible means for creating
274
custom dialog boxes. See gsdlg* sources and ./docs/geanylua-input.html .
277
Added support for project opened/saved/closed event scripts.
278
These events receive a global variable, "geany.project" which
279
is a thin Lua wrapper around the GKeyFile object. Also added
280
a new Lua "keyfile" module to manipulate this type of object.
283
Added PLUGIN_AUTHOR define for API compatibility.
284
Added a function to display a customized configure dialog for Geany's new
288
Released "Development snapshot" (geanylua-2007-11-19.tar.gz)
291
Added some filesystem-related functions:
292
basename(); dirname(); dirlist(); stat(); and dirsep constant.
295
Added support for two new 'event' scripts, "init.lua" and "cleanup.lua"
296
that run (respectively) when the plugin is loaded and unloaded.
299
New function: signal() to send signals to Geany widgets,
300
mostly to activate builtin menu commands.
304
Renamed source files from lua_* to glspi_* ( Geany Lua Scripting Plug In )
308
New function: xsel() to get/set the primary X selection.
312
New function: appinfo() to retrieve various Geany folder locations and
317
New function: pickfile() to access the standard GTK file chooser
322
Added the ability to launch scripts from accelerator-key bindings
323
by using specially-formatted comment tags. Now your favorite script
324
can be right at your fingertips!
328
Changed makefile to use pkg-config for Lua.
332
Bumped versions: plugin=0.3, API=20 to correspond with "official"
337
Revised conditional to use GTK_MESSAGE_INFO instead of GTK_MESSAGE_OTHER
338
for all GTK versions before 2.10.
342
Added an "open" button to the script error dialog, to give the user an
343
option to revise faulty scripts.
347
Revised geany.open() function to reflect svn~1870 API changes.
351
Initial release. (Version 0.1)