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>
|
2007-03-21 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||||
|
|
||||||
* src/project.c:
|
* 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>
|
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
|
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
|
John Gabriele <jmg3000(at)gmail(dot)com> - documentation patches
|
||||||
|
Anh Phạm <cs(dot)phamtuananh(at)gmail(dot)com> - various patches
|
||||||
|
|
||||||
Translators:
|
Translators:
|
||||||
----------------------------------
|
----------------------------------
|
||||||
|
|
|
@ -1509,6 +1509,11 @@
|
||||||
will not be auto completed.
|
will not be auto completed.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>Select current word</entry>
|
||||||
|
<entry>Selects the current word under the cursor.
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>Find Usage</entry>
|
<entry>Find Usage</entry>
|
||||||
<entry>Finds all occurrences of the current word (near the
|
<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,
|
keys[GEANY_KEYS_EDIT_SUPPRESSCOMPLETION] = fill(cb_func_edit,
|
||||||
GDK_space, GDK_SHIFT_MASK, "edit_suppresscompletion", _("Suppress auto completion"));
|
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,
|
keys[GEANY_KEYS_POPUP_FINDUSAGE] = fill(cb_func_current_word,
|
||||||
0, 0, "popup_findusage", _("Find Usage"));
|
0, 0, "popup_findusage", _("Find Usage"));
|
||||||
keys[GEANY_KEYS_POPUP_GOTOTAGDEFINITION] = fill(cb_func_current_word,
|
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:
|
case GEANY_KEYS_EDIT_SUPPRESSCOMPLETION:
|
||||||
sci_add_text(doc_list[idx].sci, " ");
|
sci_add_text(doc_list[idx].sci, " ");
|
||||||
break;
|
break;
|
||||||
|
case GEANY_KEYS_EDIT_SELECTWORD:
|
||||||
|
sci_cb_select_word(doc_list[idx].sci);
|
||||||
|
break;
|
||||||
case GEANY_KEYS_EDIT_INCREASEINDENT:
|
case GEANY_KEYS_EDIT_INCREASEINDENT:
|
||||||
on_menu_increase_indent1_activate(NULL, NULL);
|
on_menu_increase_indent1_activate(NULL, NULL);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -112,6 +112,7 @@ enum
|
||||||
GEANY_KEYS_EDIT_CALLTIP,
|
GEANY_KEYS_EDIT_CALLTIP,
|
||||||
GEANY_KEYS_EDIT_MACROLIST,
|
GEANY_KEYS_EDIT_MACROLIST,
|
||||||
GEANY_KEYS_EDIT_SUPPRESSCOMPLETION,
|
GEANY_KEYS_EDIT_SUPPRESSCOMPLETION,
|
||||||
|
GEANY_KEYS_EDIT_SELECTWORD,
|
||||||
GEANY_KEYS_POPUP_FINDUSAGE,
|
GEANY_KEYS_POPUP_FINDUSAGE,
|
||||||
GEANY_KEYS_POPUP_GOTOTAGDEFINITION,
|
GEANY_KEYS_POPUP_GOTOTAGDEFINITION,
|
||||||
GEANY_KEYS_POPUP_GOTOTAGDECLARATION,
|
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)
|
//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_insert_multiline_comment(gint idx);
|
||||||
|
|
||||||
|
void sci_cb_select_word(ScintillaObject *sci);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue