[Geany-devel] (no subject)

Frank Lanitz frank at xxxxx
Fri Dec 2 09:28:58 UTC 2011


Am 02.12.2011 01:20, schrieb Lex Trotman:
> On Fri, Dec 2, 2011 at 10:54 AM, Meyer <3m.meyer at gmail.com> wrote:
>> Sure.  I want to be able to select text, and then insert a character (e.g.
>> an apostrophe) before and after the selection just by pressing the
>> apostrophe key.  Since the normal behavior when a character is pressed while
>> text is selected is to delete the text and insert a character, I need to
>> know when that happens - then I could undo the delete and insert my
>> characters.  If it was two separate events though - delete then insert - I
>> won't want to do anything.
>>
>> I have it working now, but it seems awfully hackish:  when one of the
>> characters I might insert is pressed, I store the current position of the
>> cursor and undo the last event.  If the new cursor position is the same
>> place as the old one, then it was a "overwrite" event.  Otherwise, it was
>> delete then insert.
>>
>> So, any ideas for how I could do this would be much appreciated!
> 
> I assume you are writing a plugin.
> 
> You should use the keybinding system to capture the apostrophe before
> it goes to scintilla so you can detect and do anything you want.

You could also use editor_nodify signal [1]. E.g. used in GeanyLaTeX
plugin for doing something similar.

Cheers,
Frank

[1]
http://www.geany.org/manual/reference/pluginsignals_8c.html#af601d8beb39bf8082ddd1c09c74ce892




More information about the Devel mailing list