\bind "M-Up" "paragraph-move-up"
\bind "M-Down" "paragraph-move-down"
-\bind "C-Right" "word-forward"
-\bind "C-Left" "word-backward"
+\bind "C-Right" "word-right"
+\bind "C-Left" "word-left"
\bind "C-Up" "paragraph-up"
\bind "C-Down" "paragraph-down"
\bind "C-Home" "buffer-begin"
\bind "S-Left" "char-left-select"
\bind "S-Up" "up-select"
\bind "S-Down" "down-select"
-\bind "S-C-Right" "word-forward-select"
-\bind "S-C-Left" "word-backward-select"
+\bind "S-C-Right" "word-right-select"
+\bind "S-C-Left" "word-left-select"
\bind "S-C-Up" "paragraph-up-select"
\bind "S-C-Down" "paragraph-down-select"
\bind "S-Home" "line-begin-select"
\bind "S-KP_Left" "char-left-select"
\bind "S-KP_Up" "up-select"
\bind "S-KP_Down" "down-select"
-\bind "S-C-KP_Right" "word-forward-select"
-\bind "S-C-KP_Left" "word-backward-select"
+\bind "S-C-KP_Right" "word-right-select"
+\bind "S-C-KP_Left" "word-left-select"
\bind "S-C-KP_Up" "paragraph-up-select"
\bind "S-C-KP_Down" "paragraph-down-select"
\bind "S-KP_Home" "line-begin-select"
\bind "M-Up" "paragraph-move-up"
\bind "M-Down" "paragraph-move-down"
-\bind "C-Right" "word-forward"
-\bind "C-Left" "word-backward"
+\bind "C-Right" "word-right"
+\bind "C-Left" "word-left"
\bind "C-Up" "paragraph-up"
\bind "C-Down" "paragraph-down"
\bind "Home" "buffer-begin"
\bind "S-C-B" "char-backward-select"
\bind "S-Up" "up-select"
\bind "S-Down" "down-select"
-\bind "S-C-Right" "word-forward-select"
-\bind "S-C-Left" "word-backward-select"
+\bind "S-C-Right" "word-right-select"
+\bind "S-C-Left" "word-left-select"
\bind "S-C-A" "line-begin-select"
\bind "S-C-E" "line-end-select"
\bind "S-C-Up" "paragraph-up-select"
\bind "S-KP_Left" "char-left-select"
\bind "S-KP_Up" "up-select"
\bind "S-KP_Down" "down-select"
-\bind "S-C-KP_Right" "word-forward-select"
-\bind "S-C-KP_Left" "word-backward-select"
+\bind "S-C-KP_Right" "word-right-select"
+\bind "S-C-KP_Left" "word-left-select"
\bind "S-C-KP_Up" "paragraph-up-select"
\bind "S-C-KP_Down" "paragraph-down-select"
\bind "S-KP_Home" "line-begin-select"
# Motion group
#
-\bind "M-Right" "word-forward"
-\bind "M-Left" "word-backward"
+\bind "M-Right" "word-right"
+\bind "M-Left" "word-left"
\bind "M-Up" "paragraph-up"
\bind "M-Down" "paragraph-down"
\bind "C-Up" "buffer-begin"
\bind "S-Left" "char-left-select"
\bind "S-Up" "up-select"
\bind "S-Down" "down-select"
-\bind "S-M-Right" "word-forward-select"
-\bind "S-M-Left" "word-backward-select"
+\bind "S-M-Right" "word-right-select"
+\bind "S-M-Left" "word-left-select"
\bind "S-M-Up" "paragraph-up-select"
\bind "S-M-Down" "paragraph-down-select"
\bind "S-C-Left" "line-begin-select"
\bind "S-KP_Left" "char-left-select"
\bind "S-KP_Up" "up-select"
\bind "S-KP_Down" "down-select"
-\bind "S-M-KP_Right" "word-forward-select"
-\bind "S-M-KP_Left" "word-backward-select"
+\bind "S-M-KP_Right" "word-right-select"
+\bind "S-M-KP_Left" "word-left-select"
\bind "S-M-KP_Up" "paragraph-up-select"
\bind "S-M-KP_Down" "paragraph-down-select"
\bind "S-KP_Home" "line-begin-select"
\bind "S-KP_Left" "char-left-select"
\bind "S-KP_Up" "up-select"
\bind "S-KP_Down" "down-select"
-\bind "S-C-KP_Right" "word-forward-select"
-\bind "S-C-KP_Left" "word-backward-select"
+\bind "S-C-KP_Right" "word-right-select"
+\bind "S-C-KP_Left" "word-left-select"
\bind "S-C-KP_Up" "paragraph-up-select"
\bind "S-C-KP_Down" "paragraph-down-select"
\bind "S-KP_Home" "line-begin-select"
\bind "M-Up" "paragraph-move-up"
\bind "M-Down" "paragraph-move-down"
-\bind "C-Right" "word-forward"
-\bind "C-Left" "word-backward"
+\bind "C-Right" "word-right"
+\bind "C-Left" "word-left"
\bind "C-Up" "paragraph-up"
\bind "C-Down" "paragraph-down"
\bind "M-bracketleft" "paragraph-up"
\bind "S-C-B" "char-backward-select"
\bind "S-Up" "up-select"
\bind "S-Down" "down-select"
-\bind "S-C-Right" "word-forward-select"
-\bind "S-C-Left" "word-backward-select"
+\bind "S-C-Right" "word-right-select"
+\bind "S-C-Left" "word-left-select"
\bind "S-C-Up" "paragraph-up-select"
\bind "S-C-Down" "paragraph-down-select"
\bind "S-Home" "line-begin-select"
\bind "S-KP_Left" "char-left-select"
\bind "S-KP_Up" "up-select"
\bind "S-KP_Down" "down-select"
-\bind "S-C-KP_Right" "word-forward-select"
-\bind "S-C-KP_Left" "word-backward-select"
+\bind "S-C-KP_Right" "word-right-select"
+\bind "S-C-KP_Left" "word-left-select"
\bind "S-C-KP_Up" "paragraph-up-select"
\bind "S-C-KP_Down" "paragraph-down-select"
\bind "S-KP_Home" "line-begin-select"
{ LFUN_WORD_FIND_FORWARD, "word-find-forward", ReadOnly, Edit },
{ LFUN_WORD_FORWARD, "word-forward", ReadOnly | NoUpdate, Edit },
{ LFUN_WORD_FORWARD_SELECT, "word-forward-select", ReadOnly | SingleParUpdate, Edit },
+ { LFUN_WORD_LEFT, "word-left", ReadOnly | NoUpdate, Edit },
+ { LFUN_WORD_LEFT_SELECT, "word-left-select", ReadOnly | SingleParUpdate, Edit },
{ LFUN_WORD_LOWCASE, "word-lowcase", Noop, Edit },
+ { LFUN_WORD_RIGHT, "word-right", ReadOnly | NoUpdate, Edit },
+ { LFUN_WORD_RIGHT_SELECT, "word-right-select", ReadOnly | SingleParUpdate, Edit },
{ LFUN_WORD_SELECT, "word-select", ReadOnly, Edit },
{ LFUN_WORD_UPCASE, "word-upcase", Noop, Edit },
{ LFUN_MESSAGE, "message", NoBuffer, System },
// the cursor set functions have a special mechanism. When they
// realize, that you left an empty paragraph, they will delete it.
-bool Text::cursorRightOneWord(Cursor & cur)
+bool Text::cursorForwardOneWord(Cursor & cur)
{
BOOST_ASSERT(this == cur.text());
}
-bool Text::cursorLeftOneWord(Cursor & cur)
+bool Text::cursorBackwardOneWord(Cursor & cur)
{
BOOST_ASSERT(this == cur.text());
else {
cur.resetAnchor();
cur.selection() = true;
- cursorRightOneWord(cur);
+ cursorForwardOneWord(cur);
cur.setSelection();
cutSelection(cur, true, false);
checkBufferStructure(cur.buffer(), cur);
else {
cur.resetAnchor();
cur.selection() = true;
- cursorLeftOneWord(cur);
+ cursorBackwardOneWord(cur);
cur.setSelection();
cutSelection(cur, true, false);
checkBufferStructure(cur.buffer(), cur);
} else {
from = cur.top();
getWord(from, to, PARTIAL_WORD);
- cursorRightOneWord(cur);
+ cursorForwardOneWord(cur);
}
cur.recordUndoSelection();
*/
bool cursorForward(Cursor & cur);
///
- bool cursorLeftOneWord(Cursor & cur);
+ bool cursorBackwardOneWord(Cursor & cur);
///
- bool cursorRightOneWord(Cursor & cur);
+ bool cursorForwardOneWord(Cursor & cur);
/// Delete from cursor up to the end of the current or next word.
void deleteWordForward(Cursor & cur);
/// Delete from cursor to start of current or prior word.
needsUpdate |= tm.cursorEnd(cur);
break;
+ case LFUN_WORD_RIGHT:
+ case LFUN_WORD_RIGHT_SELECT:
+ //FIXME: for visual cursor mode, really move right
+ if (reverseDirectionNeeded(cur)) {
+ lyx::dispatch(FuncRequest(
+ cmd.action == LFUN_WORD_RIGHT_SELECT ?
+ LFUN_WORD_BACKWARD_SELECT : LFUN_WORD_BACKWARD));
+ } else {
+ lyx::dispatch(FuncRequest(
+ cmd.action == LFUN_WORD_RIGHT_SELECT ?
+ LFUN_WORD_FORWARD_SELECT : LFUN_WORD_FORWARD));
+ }
+ break;
+
case LFUN_WORD_FORWARD:
case LFUN_WORD_FORWARD_SELECT:
needsUpdate |= cur.selHandle(cmd.action == LFUN_WORD_FORWARD_SELECT);
- if (reverseDirectionNeeded(cur))
- needsUpdate |= cursorLeftOneWord(cur);
- else
- needsUpdate |= cursorRightOneWord(cur);
+ needsUpdate |= cursorForwardOneWord(cur);
+ break;
+
+ case LFUN_WORD_LEFT:
+ case LFUN_WORD_LEFT_SELECT:
+ //FIXME: for visual cursor mode, really move left
+ if (reverseDirectionNeeded(cur)) {
+ lyx::dispatch(FuncRequest(
+ cmd.action == LFUN_WORD_LEFT_SELECT ?
+ LFUN_WORD_FORWARD_SELECT : LFUN_WORD_FORWARD));
+ } else {
+ lyx::dispatch(FuncRequest(
+ cmd.action == LFUN_WORD_LEFT_SELECT ?
+ LFUN_WORD_BACKWARD_SELECT : LFUN_WORD_BACKWARD));
+ }
break;
case LFUN_WORD_BACKWARD:
case LFUN_WORD_BACKWARD_SELECT:
needsUpdate |= cur.selHandle(cmd.action == LFUN_WORD_BACKWARD_SELECT);
- if (reverseDirectionNeeded(cur))
- needsUpdate |= cursorRightOneWord(cur);
- else
- needsUpdate |= cursorLeftOneWord(cur);
+ needsUpdate |= cursorBackwardOneWord(cur);
break;
case LFUN_WORD_SELECT: {
case LFUN_LINE_DELETE:
case LFUN_WORD_FORWARD:
case LFUN_WORD_BACKWARD:
+ case LFUN_WORD_RIGHT:
+ case LFUN_WORD_LEFT:
case LFUN_CHAR_FORWARD:
case LFUN_CHAR_FORWARD_SELECT:
case LFUN_CHAR_BACKWARD:
case LFUN_LINE_END_SELECT:
case LFUN_WORD_FORWARD_SELECT:
case LFUN_WORD_BACKWARD_SELECT:
+ case LFUN_WORD_RIGHT_SELECT:
+ case LFUN_WORD_LEFT_SELECT:
case LFUN_WORD_SELECT:
case LFUN_PARAGRAPH_UP:
case LFUN_PARAGRAPH_DOWN:
LFUN_CHAR_RIGHT_SELECT, // dov, 20071022
LFUN_FINISHED_BACKWARD, // dov, 20071022
LFUN_FINISHED_FORWARD, // dov, 20071022
+ LFUN_WORD_LEFT, // dov, 20071028
+ LFUN_WORD_LEFT_SELECT, // dov, 20071028
+ // 305
+ LFUN_WORD_RIGHT, // dov, 20071028
+ LFUN_WORD_RIGHT_SELECT, // dov, 20071028
LFUN_LASTACTION // end of the table
};
case LFUN_LINE_BEGIN:
case LFUN_WORD_BACKWARD_SELECT:
case LFUN_WORD_BACKWARD:
+ case LFUN_WORD_LEFT_SELECT:
+ case LFUN_WORD_LEFT:
cur.selHandle(cmd.action == LFUN_WORD_BACKWARD_SELECT ||
+ cmd.action == LFUN_WORD_LEFT_SELECT ||
cmd.action == LFUN_LINE_BEGIN_SELECT);
cur.macroModeClose();
if (cur.pos() != 0) {
case LFUN_WORD_FORWARD_SELECT:
case LFUN_WORD_FORWARD:
+ case LFUN_WORD_RIGHT_SELECT:
+ case LFUN_WORD_RIGHT:
case LFUN_LINE_END_SELECT:
case LFUN_LINE_END:
cur.selHandle(cmd.action == LFUN_WORD_FORWARD_SELECT ||
+ cmd.action == LFUN_WORD_RIGHT_SELECT ||
cmd.action == LFUN_LINE_END_SELECT);
cur.macroModeClose();
cur.clearTargetX();
case LFUN_LINE_BEGIN:
case LFUN_WORD_BACKWARD:
+ case LFUN_WORD_LEFT:
cur.updateFlags(Update::Decoration | Update::FitCursor);
case LFUN_LINE_BEGIN_SELECT:
case LFUN_WORD_BACKWARD_SELECT:
+ case LFUN_WORD_LEFT_SELECT:
cur.selHandle(cmd.action == LFUN_WORD_BACKWARD_SELECT ||
+ cmd.action == LFUN_WORD_LEFT_SELECT ||
cmd.action == LFUN_LINE_BEGIN_SELECT);
cur.macroModeClose();
if (cur.pos() != 0) {
break;
case LFUN_WORD_FORWARD:
+ case LFUN_WORD_RIGHT:
case LFUN_LINE_END:
cur.updateFlags(Update::Decoration | Update::FitCursor);
case LFUN_WORD_FORWARD_SELECT:
+ case LFUN_WORD_RIGHT_SELECT:
case LFUN_LINE_END_SELECT:
cur.selHandle(cmd.action == LFUN_WORD_FORWARD_SELECT ||
+ cmd.action == LFUN_WORD_RIGHT_SELECT ||
cmd.action == LFUN_LINE_END_SELECT);
cur.macroModeClose();
cur.clearTargetX();