Re: [gedit-list] selecting whole words when variables



I just noticed in Gnome ::  Terminal > Edit > Current profile

There is an option "Select by word characters" which defaults to: -A-Za-z0-9,./?%&#:_

It works EXACTLY how I would love gedit to work.

I am obviously out of my depth here but I imagine that terminal is using similar GTK libraries as Gedit?

Cheers

Andrew



On Nov 30, 2007 9:38 AM, Curtis Hovey < sinzui is verizon net> wrote:

On Fri, 2007-11-30 at 08:05 +1100, andrew edwards wrote:
> Thanks Curtis - have done.
>
> I downloaded the source to see if I could find anything relevant - but
> without much luck. If any devs could point me in the right direction
> of where the mouse selection take place in the code that would be
> cool.
>
> i imagine its considering a word to be either [A-Za-z] or [0-9] or [_]
> or [any other special character] as it will also break on these items.
> My preferred option would be a word is anything within any type of
> bracket or spaces.

Gedit Document inherits from GtkSourceView, and it from GtkTextView.

GtkTextView captures the the double click, and calls
gtk_text_select_word

...
       case GDK_2BUTTON_PRESS:
         gtk_text_select_word (text, event->time);
...


gtk_text_select_word (GtkText *text, guint32 time)
{
 ...

 gtk_text_move_backward_word (text);
 start_pos = text->cursor_mark.index;

 gtk_text_move_forward_word (text);
 end_pos = text->cursor_mark.index;

 ...
}

Both gtk_text_move_forward_word and gtk_text_move_backward_word
shortsighted.

Since this is mostly code issue, I think GtkSourceView should capture
the GDK_2BUTTON_PRESS and call it's own gtk_source_view_select_word.
That method should walk forwards and backwards using a wider test word
characters (or the opposite) I'm out of my depth, here. I would be
inclined to test with g_unicode_isalnum | - | _. The opposite would be
g_unicode_is_punct | g_unicode_is_space.

> Cheers
>
> Andrew

--

__C U R T I S  C.  H O V E Y_______
Guilty of stealing everything I am.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]