OSC-1717 draft spec#5731
Conversation
|
Input from @scottchiefbaker from #5732:
Yes.
Not what version it understands, but what version it actually uses in this output, based on what the env var requested and what the pager itself supports. Section 3 of the spec is very clear on that. Note that my goal is to never need a v2 of the spec, so the handshake will hopefully stay a simple "I'm requesting v1 -> ok, I'll emit v1" forever.
Yes. This is important because if you use lazygit with a very large context size, you might be looking at an entire page of context without any change line in sight; you still want to be able to select those and hit
In a line-by-line pager like d-s-f, this means one record per output line, so in your example that would be 19. A side-by-side pager will combine two original diff lines into one output line, so this one line will carry two records, and the word "region" refers to sections within that one output line that render one or the other original diff line.
"Old line" and "new line" refer to line numbers in the old file (before applying the diff) and in the new file (after applying the diff). In the git project they often call these pre-image and post-image. A context line can have different old line and new line numbers, so it is important to say that records for context lines carry the new line number. We were actually considering whether we should require them to carry both, but lazygit doesn't need the old line number, so we thought it might be simpler for the pager not to have to include the old one. |
| ``` | ||
| EMIT_OSC1717_METADATA = V1[,V2,…] |
There was a problem hiding this comment.
How about simplifying the env var name to OSC1717_METADATA?
I think leading with the important bit ("OSC1717") will be helpful for people scanning env output etc, and having the name be an imperative verb is a bit unusual among env var names related to development environments; they're most often nouns. I think it's OK to leave it implicit that if its set, supporting pagers should honor it.
This was created as part of the work that happens in #5732; broken out into its own PR to make it easier to comment on.