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

Method put

src/register/register.ts:54–79  ·  view source on GitHub ↗

* Puts given content in the currently selected register, using the current RegisterMode. * * @param copyToUnnamed: If true, set the unnamed register (") as well

(
    vimState: VimState,
    content: RegisterContent,
    multicursorIndex?: number,
    copyToUnnamed?: boolean,
  )

Source from the content-addressed store, hash-verified

52 * @param copyToUnnamed: If true, set the unnamed register (") as well
53 */
54 public static put(
55 vimState: VimState,
56 content: RegisterContent,
57 multicursorIndex?: number,
58 copyToUnnamed?: boolean,
59 ): void {
60 const register = vimState.recordedState.registerName;
61
62 if (!Register.isValidRegister(register)) {
63 throw new Error(`Invalid register ${register}`);
64 }
65
66 if (Register.isBlackHoleRegister(register) || Register.isReadOnlyRegister(register)) {
67 return;
68 }
69
70 if (Register.isValidUppercaseRegister(register)) {
71 Register.appendToRegister(vimState, register.toLowerCase(), content, multicursorIndex ?? 0);
72 } else {
73 Register.overwriteRegister(vimState, register, content, multicursorIndex ?? 0);
74 }
75
76 if (copyToUnnamed && register !== '"') {
77 Register.registers.set('"', Register.registers.get(register)!);
78 }
79 }
80
81 public static isValidRegister(register: string): boolean {
82 return (

Callers 15

register.test.tsFile · 0.80
remapper.test.tsFile · 0.80
put.test.tsFile · 0.80
runMethod · 0.80
runMethod · 0.80
runMethod · 0.80
runMethod · 0.80
execFunction · 0.80
execMethod · 0.80
execMethod · 0.80
execMethod · 0.80
execMethod · 0.80

Calls 7

isValidRegisterMethod · 0.80
isBlackHoleRegisterMethod · 0.80
isReadOnlyRegisterMethod · 0.80
appendToRegisterMethod · 0.80
overwriteRegisterMethod · 0.80
getMethod · 0.65

Tested by

no test coverage detected