Hi,
Since the end of the world is coming soon [1], here [2] is a little something to play with. Note that it currently reads data/scope.glade on startup (no "make install" yet), so geany must be started from the directory where you unpacked scope. Please read scope.html, TODO and notes before asking questions. Of course, there are two questions that I must answer properly first:
1. Why do we need another gdb front-end?
Don't know about you. I needed something that runs under win~1, has decent Locale support and the abilities to change values and execute gdb commands at any time.
2. Is it possible to merge debugger and Scope?
No more that we can merge SciTE and Geany. They are both editors, based on Scintilla and using gtk+ under *nix, but that's about it.
--
Now about the plugin symbols etc.
"project-before-save" signal: highly recommended. When a program is started, Scope marks all source files as read-only (unless they are already). When saving a Geany session (file list) while a program is running, Scope temporarily re-marks the source files as read-write, to avoid them being saved in the session with read-only mark. For the default session, "save-settings" does the job, but for project session, an extra signal is required. The signal can also be used for plugin project preferences which are not part of the project dialog. Currentry, no such preferences can be created.
ui_setup_open_button_callback() - recommended. Several plugins define their own version of this, and we had a short discussion in the ML, which ended with the "conclusion" that the button/entry must be properly g-objectified, which nobody is willing to do.
[3] - recommended. Without it, the toolbar looks funny.
editor_get_default_selection() - optional. There should be other plugins defining their own version, but I haven't checked.
utils_str_replace_all() - optional. utils_string_replace_all() and several utils_str_*() functions are accessible, so why not this one?
ui_add_config_file_menu_item() - maybe unnecessary. Used to add scope.conf to Tools -> Configuration files. Must be modified to return the menu item created, so the plugin can remove it on plugin_cleanup().
stash_tree_{setup,display,update}() - maybe unnecessary. Used to create a stash tree with the global Scope preferences (except for colors etc.) in Plugin Preferences. Not sufficient, since the color and alpha definitions are missing, but looks nice. :)
Note that Scope _will_ run on unmodified Geany 1.22 or later. 2012-08-07 or later is recommended due to changes in scintilla. scope.glade was created with 3.6.7, but mostly edited manually.
--
[1] http://www.greatdreams.com/end-world.htm
[2] http://sourceforge.net/tracker/?func=detail&aid=3593744&group_id=222...
[3] http://sourceforge.net/tracker/?func=detail&aid=3522755&group_id=153...