fix(registers): improve detection of osc52 registers#1031
Open
0xzhzh wants to merge 3 commits intofolke:mainfrom
Open
fix(registers): improve detection of osc52 registers#10310xzhzh wants to merge 3 commits intofolke:mainfrom
0xzhzh wants to merge 3 commits intofolke:mainfrom
Conversation
The prior implementation assumed that registers "+" and "*" used OSC52 if and only if vim.g.clipboard.name = "OSC 52". Doing so is incorrect: a user may configure a custom clipboard provider with a different name, or set a different paste source for "+" and "*", or even set the option to a string as shorthand, i.e., vim.g.clipboard = 'osc52'. This implementation performs more robust checking to ensure we don't try to read from OSC52 registers by discriminating vim.g.clipboard more closely.
This maintains backwards compatibility, plus it allows users to opt out of register reading by setting the name to "OSC 52", e.g., if they configure a custom paste handler that is not exactly the same function as vim.ui.clipboard.osc52.paste() (but wraps it).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The prior implementation assumed that registers
+and*used OSC52 if and only ifvim.g.clipboard.name = "OSC 52". Doing so is incorrect: a user may configure a custom clipboard provider with a different name, or set a different paste source for+or*, or even set the option to a string as shorthand, i.e.,vim.g.clipboard = 'osc52'.This implementation performs more robust checking to ensure we don't try to read from OSC52 registers by discriminating
vim.g.clipboardmore closely. It still checks forvim.g.clipboard.name == "OSC 52"for backwards compatibility and to provide a way for those who might use a custom paste handler that isn't exactly the nvim-provided one.I also shorten to placeholder message of OSC 52 registers.