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