Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mark buffers created from stdin as modified #7431

Merged
merged 1 commit into from
Jun 26, 2023

Conversation

the-mikedavis
Copy link
Member

This resolves some confusing behavior where a scratch document created by piping into hx is discarded when navigating away from that document.

We discard any scratch documents that are not modified and the original Editor::new_file_from_stdin would create unmodified documents. We refactor this function to create an empty document first and then to apply the text from stdin as a change.

This comes out of the discussion in #3306
Closes #3306
Closes #3305

@the-mikedavis the-mikedavis added C-bug Category: This is a bug S-waiting-on-review Status: Awaiting review from a maintainer. labels Jun 23, 2023
@@ -493,6 +471,81 @@ pub fn from_reader<R: std::io::Read + ?Sized>(
Ok((rope, encoding, has_bom))
}

pub fn read_to_string<R: std::io::Read + ?Sized>(
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would also be useful for #3966

This resolves some confusing behavior where a scratch document created
by piping into hx is discarded when navigating away from that document.

We discard any scratch documents that are not modified and the original
`Editor::new_file_from_stdin` would create unmodified documents. We
refactor this function to create an empty document first and then to
apply the text from stdin as a change.
@archseer archseer merged commit 636c91c into helix-editor:master Jun 26, 2023
@the-mikedavis the-mikedavis deleted the stdin-modified branch June 26, 2023 15:24
wes-adams pushed a commit to wes-adams/helix that referenced this pull request Jul 4, 2023
This resolves some confusing behavior where a scratch document created
by piping into hx is discarded when navigating away from that document.

We discard any scratch documents that are not modified and the original
`Editor::new_file_from_stdin` would create unmodified documents. We
refactor this function to create an empty document first and then to
apply the text from stdin as a change.
@shaleh shaleh mentioned this pull request Apr 15, 2024
shaleh added a commit to shaleh/helix that referenced this pull request Apr 15, 2024
Resurrects helix-editor#3966. This is 100% @idursun's work. Using read_to_string from helix-editor#7431.
Co-authored-by: ibrahim@dursun.cc
shaleh added a commit to shaleh/helix that referenced this pull request Apr 16, 2024
Resurrects helix-editor#3966. This is 100% @idursun's work. Using read_to_string from helix-editor#7431.
Co-authored-by: ibrahim@dursun.cc
mtoohey31 pushed a commit to mtoohey31/helix that referenced this pull request Jun 2, 2024
This resolves some confusing behavior where a scratch document created
by piping into hx is discarded when navigating away from that document.

We discard any scratch documents that are not modified and the original
`Editor::new_file_from_stdin` would create unmodified documents. We
refactor this function to create an empty document first and then to
apply the text from stdin as a change.
smortime pushed a commit to smortime/helix that referenced this pull request Jul 10, 2024
This resolves some confusing behavior where a scratch document created
by piping into hx is discarded when navigating away from that document.

We discard any scratch documents that are not modified and the original
`Editor::new_file_from_stdin` would create unmodified documents. We
refactor this function to create an empty document first and then to
apply the text from stdin as a change.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug S-waiting-on-review Status: Awaiting review from a maintainer.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Initial scratch buffer is discarded when non-empty and unmodified
2 participants