diff options
-rw-r--r-- | include/Scintilla.h | 9 | ||||
-rw-r--r-- | include/Scintilla.iface | 31 | ||||
-rw-r--r-- | src/Editor.cxx | 6 |
3 files changed, 29 insertions, 17 deletions
diff --git a/include/Scintilla.h b/include/Scintilla.h index d9a3f2dba..048aac311 100644 --- a/include/Scintilla.h +++ b/include/Scintilla.h @@ -554,10 +554,11 @@ typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam, #define SCI_LINEUPRECTEXTEND 2427 #define SCI_CHARLEFTRECTEXTEND 2428 #define SCI_CHARRIGHTRECTEXTEND 2429 -#define SCI_VCHOMERECTEXTEND 2430 -#define SCI_LINEENDRECTEXTEND 2431 -#define SCI_PAGEUPRECTEXTEND 2432 -#define SCI_PAGEDOWNRECTEXTEND 2433 +#define SCI_HOMERECTEXTEND 2430 +#define SCI_VCHOMERECTEXTEND 2431 +#define SCI_LINEENDRECTEXTEND 2432 +#define SCI_PAGEUPRECTEXTEND 2433 +#define SCI_PAGEDOWNRECTEXTEND 2434 #define SCI_STARTRECORD 3001 #define SCI_STOPRECORD 3002 #define SCI_SETLEXER 4001 diff --git a/include/Scintilla.iface b/include/Scintilla.iface index 7ea295538..5aea37875 100644 --- a/include/Scintilla.iface +++ b/include/Scintilla.iface @@ -1224,7 +1224,7 @@ fun void LineEndDisplayExtend=2348(,) # except they behave differently when word-wrap is enabled: # They go first to the start / end of the display line, like (Home|LineEnd)Display # The difference is that, the cursor is already at the point, it goes on to the start -# or end of the document line, as appropriate for (Home|LineEnd|VCHome)Extend. +# or end of the document line, as appropriate for (Home|LineEnd|VCHome)(Extend)?. fun void HomeWrap=2349(,) fun void HomeWrapExtend=2450(,) @@ -1483,29 +1483,34 @@ fun position GetLineSelEndPosition=2425(int line,) ## RectExtended rectangular selection moves -# Move caret down one line extending rectangular selection to new caret position. +# Move caret down one line, extending rectangular selection to new caret position. fun void LineDownRectExtend=2426(,) -# Move caret up one line extending rectangular selection to new caret position. +# Move caret up one line, extending rectangular selection to new caret position. fun void LineUpRectExtend=2427(,) -# Move caret left one character extending rectangular selection to new caret position. +# Move caret left one character, extending rectangular selection to new caret position. fun void CharLeftRectExtend=2428(,) -# Move caret right one character extending rectangular selection to new caret position. +# Move caret right one character, extending rectangular selection to new caret position. fun void CharRightRectExtend=2429(,) -# Move caret to first position on line extending rectangular selection to new caret position. -fun void VCHomeRectExtend=2430(,) +# Move caret to first position on line, extending rectangular selection to new caret position. +fun void HomeRectExtend=2430(,) -# Move caret to last position on line extending rectangular selection to new caret position. -fun void LineEndRectExtend=2431(,) +# Move caret to before first visible character on line. +# If already there move to first character on line. +# In either case, extend rectangular selection to new caret position. +fun void VCHomeRectExtend=2431(,) + +# Move caret to last position on line, extending rectangular selection to new caret position. +fun void LineEndRectExtend=2432(,) -# Move caret one page up extending rectangular selection to new caret position. -fun void PageUpRectExtend=2432(,) +# Move caret one page up, extending rectangular selection to new caret position. +fun void PageUpRectExtend=2433(,) -# Move caret one page down extending rectangular selection to new caret position. -fun void PageDownRectExtend=2433(,) +# Move caret one page down, extending rectangular selection to new caret position. +fun void PageDownRectExtend=2434(,) # Start notifying the container of all key presses and commands. diff --git a/src/Editor.cxx b/src/Editor.cxx index 0a54ba2aa..e07eed027 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -3642,6 +3642,7 @@ void Editor::NotifyMacroRecord(unsigned int iMessage, unsigned long wParam, long case SCI_LINEUPRECTEXTEND: case SCI_CHARLEFTRECTEXTEND: case SCI_CHARRIGHTRECTEXTEND: + case SCI_HOMERECTEXTEND: case SCI_VCHOMERECTEXTEND: case SCI_LINEENDRECTEXTEND: case SCI_PAGEUPRECTEXTEND: @@ -3917,6 +3918,10 @@ int Editor::KeyCommand(unsigned int iMessage) { MovePositionTo(pdoc->LineStart(pdoc->LineFromPosition(currentPos)), selStream); SetLastXChosen(); break; + case SCI_HOMERECTEXTEND: + MovePositionTo(pdoc->LineStart(pdoc->LineFromPosition(currentPos)), selRectangle); + SetLastXChosen(); + break; case SCI_LINEEND: MovePositionTo(pdoc->LineEndPosition(currentPos)); SetLastXChosen(); @@ -6505,6 +6510,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { case SCI_LINEUPRECTEXTEND: case SCI_CHARLEFTRECTEXTEND: case SCI_CHARRIGHTRECTEXTEND: + case SCI_HOMERECTEXTEND: case SCI_VCHOMERECTEXTEND: case SCI_LINEENDRECTEXTEND: case SCI_PAGEUPRECTEXTEND: |