(position: Position, vimState: VimState)
| 512 | override isCompleteAction = false; |
| 513 | |
| 514 | public override async exec(position: Position, vimState: VimState): Promise<void> { |
| 515 | const registerKey = this.keysPressed[1]; |
| 516 | if (!Register.isValidRegister(registerKey)) { |
| 517 | return; |
| 518 | } |
| 519 | |
| 520 | const register = await Register.get(registerKey, this.multicursorIndex); |
| 521 | if (register === undefined) { |
| 522 | StatusBar.displayError(vimState, VimError.NothingInRegister(registerKey)); |
| 523 | return; |
| 524 | } |
| 525 | |
| 526 | if (register.text instanceof RecordedState) { |
| 527 | vimState.recordedState.transformer.addTransformation({ |
| 528 | type: 'macro', |
| 529 | register: vimState.recordedState.registerName, |
| 530 | replay: 'keystrokes', |
| 531 | }); |
| 532 | |
| 533 | return; |
| 534 | } |
| 535 | |
| 536 | let text = register.text; |
| 537 | if (register.registerMode === RegisterMode.LineWise && !vimState.isMultiCursor) { |
| 538 | text += '\n'; |
| 539 | } |
| 540 | |
| 541 | vimState.recordedState.transformer.insert(position, text); |
| 542 | } |
| 543 | } |
| 544 | |
| 545 | @RegisterAction |
nothing calls this directly
no test coverage detected