On Fri, 09 Jan 2009 00:59:47 +0100, Thomas Martitz thomas.martitz@fhtw-berlin.de wrote:
Hey,
finally, the latest version of the patch, snippet-v3b.diff, landed in SVN. I did some minor modifications to use more GLib API and avoid using C99-only code.
Thanks a lot Thomas!
Then use the snippet: class<TAB> and type "abcd" on the first cursor position, move the cursor back by two positions and press the "Move cursor in snippet" keybinding to jump to the next cursor position. The cursor is then inside "__construct" instead of inside the braces. Maybe we can live with that but it'd be better if it would be fixed though this might be not easy.
Fixed.
Hrm, it still seems to happen :(.
Thomas Martitz schrieb:
However, the current patch is far from intelligent and nice. It's a bit hackish (limited to 10 cursors, global struct in editor.c ...), and the next cursor movement is apparently broken once you hit tab normally between "jumps". To be investigated! Also, I changed the hotkey of "go to last used tab" to nothing, so that ctrl+tab is free for this (this is the best hotkey I can find for), feel free to discuss!
Fixed, sort of. Limit is gone (it's now using a dynamically allocated single linked list). pressing tab between jumps should work now. Nesting (i.e. recursively inserting) snippets works too, so that the cursor positions of the old snippets are not destroyed if you insert another snippet. I used my self-made single linked list implementation, since I had problems with GSList (with concating 2 lists and freeing in particular). My implementation does exactly what we need, and is yet extensible and reusable.
Maybe we can switch to GLib's GSList or GQueue implementation to save some duplicate code but OTOH, as I said on IRC, the amount of code in your implementation isn't that much and so it's fine, for now.
Yea, I thought so too (and I knew it was controversial) , but then again I couldn't find a better hotkey. Super is problematic I think because that's the Windows key on most keyboards (IIUC), and that's actually used by Windows and not really available for apps when running Geany on Windows. Maybe it's possible though.
Default hotkey issue is still open (if there even should be one).
I guess for now it's sufficient to leave it undefined.
Regards, Enrico