diff --git a/components/synedit/synedit.pp b/components/synedit/synedit.pp index 04ce1b4931..3011504c98 100644 --- a/components/synedit/synedit.pp +++ b/components/synedit/synedit.pp @@ -5845,7 +5845,7 @@ begin Update; end; // word selection - ecWordLeft, ecSelWordLeft: + ecWordLeft, ecSelWordLeft, ecColSelWordLeft: begin Caret := CaretXY; CaretNew := PrevWordPos; @@ -5858,13 +5858,13 @@ begin {$ELSE} MoveCaretAndSelection {$ENDIF} - (Caret, CaretNew, Command = ecSelWordLeft); + (Caret, CaretNew, Command in [ecSelWordLeft, ecColSelWordLeft]); fLastCaretX := CaretX; //mh 2000-10-19 {$IFDEF SYN_LAZARUS} Update; {$ENDIF} end; - ecWordRight, ecSelWordRight: + ecWordRight, ecSelWordRight, ecColSelWordRight: begin Caret := CaretXY; CaretNew := NextWordPos; @@ -5875,7 +5875,7 @@ begin {$ELSE} MoveCaretAndSelection {$ENDIF} - (Caret, CaretNew, Command = ecSelWordRight); + (Caret, CaretNew, Command in [ecSelWordRight, ecColSelWordRight]); fLastCaretX := CaretX; //mh 2000-10-19 {$IFDEF SYN_LAZARUS} Update; diff --git a/components/synedit/syneditkeycmds.pp b/components/synedit/syneditkeycmds.pp index db27d7c8ea..fa1750243e 100644 --- a/components/synedit/syneditkeycmds.pp +++ b/components/synedit/syneditkeycmds.pp @@ -126,6 +126,8 @@ const ecColSelRight = ecRight + ecColumnSelection; ecColSelUp = ecUp + ecColumnSelection; ecColSelDown = ecDown + ecColumnSelection; + ecColSelWordLeft = ecWordLeft + ecColumnSelection; + ecColSelWordRight = ecWordRight + ecColumnSelection; ecColSelLineStart = ecLineStart + ecColumnSelection; ecColSelLineEnd = ecLineEnd + ecColumnSelection; ecColSelPageUp = ecPageUp + ecColumnSelection; diff --git a/ide/keymapping.pp b/ide/keymapping.pp index 6baf16673f..f11efdaa32 100644 --- a/ide/keymapping.pp +++ b/ide/keymapping.pp @@ -1566,6 +1566,8 @@ begin ecColSelDown : Result:= srkmecColSelDown; ecColSelLeft : Result:= srkmecColSelLeft; ecColSelRight : Result:= srkmecColSelRight; + ecColSelWordLeft : Result:= srkmecColSelWordLeft; + ecColSelWordRight : Result:= srkmecColSelWordRight; ecColSelPageDown : Result:= srkmecColSelPageDown; ecColSelPageBottom : Result:= srkmecColSelPageBottom; ecColSelPageUp : Result:= srkmecColSelPageUp; @@ -2049,6 +2051,8 @@ begin AddDefault(C, 'Column Select Down', srkmecColSelDown, ecColSelDown); AddDefault(C, 'Column Select Left', srkmecColSelLeft, ecColSelLeft); AddDefault(C, 'Column Select Right', srkmecColSelRight, ecColSelRight); + AddDefault(C, 'Column Select word left', srkmecColSelWordLeft, ecColSelWordLeft); + AddDefault(C, 'Column Select word right', srkmecColSelWordRight, ecColSelWordRight); AddDefault(C, 'Column Select Page Down', srkmecColSelPageDown, ecColSelPageDown); AddDefault(C, 'Column Select Page Bottom', srkmecColSelPageBottom, ecColSelPageBottom); AddDefault(C, 'Column Select Page Up', srkmecColSelPageUp, ecColSelPageUp); diff --git a/ide/lazarusidestrconsts.pas b/ide/lazarusidestrconsts.pas index 4111c4982e..8a16d6edf7 100644 --- a/ide/lazarusidestrconsts.pas +++ b/ide/lazarusidestrconsts.pas @@ -1994,6 +1994,8 @@ resourcestring srkmecColSelDown = 'Column Select Down'; srkmecColSelLeft = 'Column Select Left'; srkmecColSelRight = 'Column Select Right'; + srkmecColSelWordLeft = 'Column Select Word Left'; + srkmecColSelWordRight = 'Column Select Word Right'; srkmecColSelPageDown = 'Column Select Page Down'; srkmecColSelPageBottom = 'Column Select Page Bottom'; srkmecColSelPageUp = 'Column Select Page Up';