vim: Fix blackhole register (#17419)

Closes: #17306

Release Notes:

- vim: Fixed `"_` register writes overwriting `"` register.
This commit is contained in:
Conrad Irwin 2024-09-05 11:19:02 -06:00 committed by GitHub
parent 1e09884a22
commit a7c46206de
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 27 additions and 4 deletions

View file

@ -218,23 +218,25 @@ impl VimGlobals {
let yanked = current.clone();
self.registers.insert('"', yanked);
} else {
self.registers.insert('"', content.clone());
match lower {
'_' | ':' | '.' | '%' | '#' | '=' | '/' => {}
'+' => {
self.registers.insert('"', content.clone());
cx.write_to_clipboard(content.into());
}
'*' => {
self.registers.insert('"', content.clone());
#[cfg(target_os = "linux")]
cx.write_to_primary(content.into());
#[cfg(not(target_os = "linux"))]
cx.write_to_clipboard(content.into());
}
'"' => {
self.registers.insert('0', content.clone());
self.registers.insert('"', content);
self.registers.insert('"', content.clone());
self.registers.insert('0', content);
}
_ => {
self.registers.insert('"', content.clone());
self.registers.insert(lower, content);
}
}