MCPcopy Create free account
hub / github.com/ProgerXP/Notepad2e / KeyCommand

Method KeyCommand

scintilla/src/Editor.cxx:5312–5803  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5310}
5311
5312int Editor::KeyCommand ( unsigned int iMessage )
5313{
5314 switch ( iMessage ) {
5315 case SCI_LINEDOWN:
5316 CursorUpOrDown ( 1 );
5317 break;
5318 case SCI_LINEDOWNEXTEND:
5319 CursorUpOrDown ( 1, Selection::selStream );
5320 break;
5321 case SCI_LINEDOWNRECTEXTEND:
5322 CursorUpOrDown ( 1, Selection::selRectangle );
5323 break;
5324 case SCI_PARADOWN:
5325 ParaUpOrDown ( 1 );
5326 break;
5327 case SCI_PARADOWNEXTEND:
5328 ParaUpOrDown ( 1, Selection::selStream );
5329 break;
5330 case SCI_LINESCROLLDOWN:
5331 ScrollTo ( topLine + 1 );
5332 MoveCaretInsideView ( false );
5333 break;
5334 case SCI_LINEUP:
5335 CursorUpOrDown ( -1 );
5336 break;
5337 case SCI_LINEUPEXTEND:
5338 CursorUpOrDown ( -1, Selection::selStream );
5339 break;
5340 case SCI_LINEUPRECTEXTEND:
5341 CursorUpOrDown ( -1, Selection::selRectangle );
5342 break;
5343 case SCI_PARAUP:
5344 ParaUpOrDown ( -1 );
5345 break;
5346 case SCI_PARAUPEXTEND:
5347 ParaUpOrDown ( -1, Selection::selStream );
5348 break;
5349 case SCI_LINESCROLLUP:
5350 ScrollTo ( topLine - 1 );
5351 MoveCaretInsideView ( false );
5352 break;
5353 case SCI_CHARLEFT:
5354 if ( SelectionEmpty() || sel.MoveExtends() ) {
5355 if ( ( sel.Count() == 1 ) && pdoc->IsLineEndPosition ( sel.MainCaret() ) && sel.RangeMain().caret.VirtualSpace() ) {
5356 SelectionPosition spCaret = sel.RangeMain().caret;
5357 spCaret.SetVirtualSpace ( spCaret.VirtualSpace() - 1 );
5358 MovePositionTo ( spCaret );
5359 } else if ( sel.MoveExtends() && sel.selType == Selection::selStream ) {
5360 MovePositionTo ( MovePositionSoVisible ( SelectionPosition ( sel.MainCaret() - 1 ), -1 ) );
5361 } else {
5362 MovePositionTo ( MovePositionSoVisible (
5363 SelectionPosition ( ( sel.LimitsForRectangularElseMain().start ).Position() - 1 ), -1 ) );
5364 }
5365 } else {
5366 MovePositionTo ( sel.LimitsForRectangularElseMain().start );
5367 }
5368 SetLastXChosen();
5369 break;

Callers

nothing calls this directly

Calls 15

SelectionPositionClass · 0.85
MoveExtendsMethod · 0.80
IsLineEndPositionMethod · 0.80
MainCaretMethod · 0.80
VirtualSpaceMethod · 0.80
SetVirtualSpaceMethod · 0.80
PositionMethod · 0.80
NextWordStartMethod · 0.80
NextWordEndMethod · 0.80
LineEndPositionMethod · 0.80
VCHomePositionMethod · 0.80

Tested by

no test coverage detected