MCPcopy
hub / github.com/VSCodeVim/Vim / exec

Method exec

src/actions/commands/insert.ts:514–542  ·  view source on GitHub ↗
(position: Position, vimState: VimState)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 6

isValidRegisterMethod · 0.80
displayErrorMethod · 0.80
NothingInRegisterMethod · 0.80
addTransformationMethod · 0.80
getMethod · 0.65
insertMethod · 0.45

Tested by

no test coverage detected