| 5310 | } |
| 5311 | |
| 5312 | int 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; |
nothing calls this directly
no test coverage detected