Applied patch from Anh Phạm to add a keybinding for selecting the current word under the cursor (thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1413 ea778897-0a13-0410-b9d1-a72fbfd435f5master
parent
8464538201
commit
94a1b00fe2
|
@ -1,3 +1,11 @@
|
|||
2007-03-22 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
|
||||
* THANKS, doc/geany.docbook, src/keybindings.c, src/keybindings.h,
|
||||
src/sci_cb.c, src/sci_cb.h:
|
||||
Applied patch from Anh Phạm to add a keybinding for selecting the
|
||||
current word under the cursor (thanks).
|
||||
|
||||
|
||||
2007-03-21 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
|
||||
* src/project.c:
|
||||
|
|
1
THANKS
1
THANKS
|
@ -26,6 +26,7 @@ Tomás Vírseda <kaskaras(at)gmail(dot)com> - sort open files patch
|
|||
Dirk Weber <dietrich-weber(at)web(dot)de>
|
||||
Slava Semushin <slava(dot)semushin(at)gmail(dot)com> - patch to improve SVN checks in cofigure script
|
||||
John Gabriele <jmg3000(at)gmail(dot)com> - documentation patches
|
||||
Anh Phạm <cs(dot)phamtuananh(at)gmail(dot)com> - various patches
|
||||
|
||||
Translators:
|
||||
----------------------------------
|
||||
|
|
|
@ -1509,6 +1509,11 @@
|
|||
will not be auto completed.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Select current word</entry>
|
||||
<entry>Selects the current word under the cursor.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Find Usage</entry>
|
||||
<entry>Finds all occurrences of the current word (near the
|
||||
|
|
|
@ -263,6 +263,9 @@ void keybindings_init(void)
|
|||
keys[GEANY_KEYS_EDIT_SUPPRESSCOMPLETION] = fill(cb_func_edit,
|
||||
GDK_space, GDK_SHIFT_MASK, "edit_suppresscompletion", _("Suppress auto completion"));
|
||||
|
||||
keys[GEANY_KEYS_EDIT_SELECTWORD] = fill(cb_func_edit,
|
||||
0, 0, "edit_selectword", _("Select current word"));
|
||||
|
||||
keys[GEANY_KEYS_POPUP_FINDUSAGE] = fill(cb_func_current_word,
|
||||
0, 0, "popup_findusage", _("Find Usage"));
|
||||
keys[GEANY_KEYS_POPUP_GOTOTAGDEFINITION] = fill(cb_func_current_word,
|
||||
|
@ -862,6 +865,9 @@ static void cb_func_edit(guint key_id)
|
|||
case GEANY_KEYS_EDIT_SUPPRESSCOMPLETION:
|
||||
sci_add_text(doc_list[idx].sci, " ");
|
||||
break;
|
||||
case GEANY_KEYS_EDIT_SELECTWORD:
|
||||
sci_cb_select_word(doc_list[idx].sci);
|
||||
break;
|
||||
case GEANY_KEYS_EDIT_INCREASEINDENT:
|
||||
on_menu_increase_indent1_activate(NULL, NULL);
|
||||
break;
|
||||
|
|
|
@ -112,6 +112,7 @@ enum
|
|||
GEANY_KEYS_EDIT_CALLTIP,
|
||||
GEANY_KEYS_EDIT_MACROLIST,
|
||||
GEANY_KEYS_EDIT_SUPPRESSCOMPLETION,
|
||||
GEANY_KEYS_EDIT_SELECTWORD,
|
||||
GEANY_KEYS_POPUP_FINDUSAGE,
|
||||
GEANY_KEYS_POPUP_GOTOTAGDEFINITION,
|
||||
GEANY_KEYS_POPUP_GOTOTAGDECLARATION,
|
||||
|
|
25
src/sci_cb.c
25
src/sci_cb.c
|
@ -2141,3 +2141,28 @@ static void scroll_to_line(ScintillaObject *sci, gint line, gfloat percent_of_vi
|
|||
//sci_scroll_caret(sci); // ensure visible (maybe not needed now)
|
||||
}
|
||||
|
||||
|
||||
void sci_cb_select_word(ScintillaObject *sci)
|
||||
{
|
||||
gint pos;
|
||||
gint start;
|
||||
gint end;
|
||||
|
||||
g_return_if_fail(sci != NULL);
|
||||
|
||||
pos = SSM(sci, SCI_GETCURRENTPOS, 0, 0);
|
||||
start = SSM(sci, SCI_WORDSTARTPOSITION, pos, TRUE);
|
||||
end = SSM(sci, SCI_WORDENDPOSITION, pos, TRUE);
|
||||
|
||||
if (start == end) // caret in whitespaces sequence
|
||||
{
|
||||
// look forward but reverse the selection direction,
|
||||
// so the caret end up stay as near as the original position.
|
||||
end = SSM(sci, SCI_WORDENDPOSITION, pos, FALSE);
|
||||
start = SSM(sci, SCI_WORDENDPOSITION, end, TRUE);
|
||||
if (start == end)
|
||||
return;
|
||||
}
|
||||
|
||||
SSM(sci, SCI_SETSEL, start, end);
|
||||
}
|
||||
|
|
|
@ -86,4 +86,6 @@ gint sci_cb_lexer_get_type_keyword_idx(gint lexer);
|
|||
|
||||
void sci_cb_insert_multiline_comment(gint idx);
|
||||
|
||||
void sci_cb_select_word(ScintillaObject *sci);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue