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

Try to prevent errors clobbering the current buffer #14

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

simonrw
Copy link
Owner

@simonrw simonrw commented Jul 17, 2018

No description provided.

@@ -123,3 +123,5 @@ Alternatively alternatively yapf could be set as the ``equalprg``:
and reformat the whole file with ``gg=G`` or a single line with ``=``.

.. _gq{motion}: https://github.com/vim/vim/blob/b182b40080a23ea1e1ffa28ea03b412174a236bb/runtime/doc/change.txt#L1299

Note: if ``vim-yapf`` is used in this way, any errors will overwrite the current buffer. Make sure to check the buffer for errors before saving. Regardless, the ``undo`` command should work.
Copy link
Collaborator

Choose a reason for hiding this comment

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

The problem is when I type "ZZ". In that case, the vim window closes; I don't see the error; and my file contents are lost.

Is there any way to implement this without having "ZZ" lose file contents? Maybe write to a new buffer instead of overwrite current buffer? At the very least, append to current buffer?

Actually, ideal for me would be if yapf just silently failed with syntax errors.

  • yapf exit code is not 0
  • No vim buffers are modified

Copy link
Collaborator

Choose a reason for hiding this comment

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

Is it possible to print yapf syntax error to vim stdout or stderr, rather than write to a vim buffer?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Alright, I found a workaround:

https://gist.github.com/nepsilon/003dd7cfefc20ce1e894db9c94749755

So here's what I would like to see:

Note: if vim-yapf is used in this way, any errors will overwrite the current buffer. Make sure to check the buffer for errors before saving. If you save with :w, :undo will revert the buffer. If you save with :ZZ, the saved file will be overwritten with the yapf syntax error. It is recommended to Auto-backup your files so you can recover your work.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Note even with the workaround, I lose the most recent changes (the ones that caused error), but it's better than nothing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants