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

Adds an explicit newline for pretty-printing. #3851

Merged
merged 2 commits into from
Sep 18, 2013

Conversation

alexrudy
Copy link
Contributor

[ not for 1.0 ]

This is a response to issue #2136 to handle hard newlines in pretty printing.

Included:

  • p.break_() inserts a hard newline in the output, maintaining the correct indentation during pretty printing.
  • When the pretty printer falls back to the object's __repr__ method, newlines are converted from \n to p.break_() to maintain indentation

Not Included:

  • Although discussed, newlines in p.text() are not converted to calls to p.break_

There are three basic tests that I've added to test this functionality.

p.break_() explicitly includes a newline while pretty printing, and maintains indentation.
A simple test is included to show this working.
When a newline is found in the result of repr() (using the default printer), the newline is replaced with an appropriate call to p.break_()
@ivanov
Copy link
Member

ivanov commented Aug 4, 2013

@alexrudy thanks for your contribution. This did not make it into 1.0 alpha or the RC, so I'm marking it as 2.0 material. Ping us if you don't get a review or this starts to go stale after 1.0.0 is release

@minrk
Copy link
Member

minrk commented Aug 24, 2013

I don't know enough about pretty to review effectively, but this does seem to work as intended. Does @rkern have an opinion on the functionality?

@minrk
Copy link
Member

minrk commented Sep 3, 2013

@ivanov any objections? I'm fine with merging this.

minrk added a commit that referenced this pull request Sep 18, 2013
Adds an explicit newline for pretty-printing.

Included:

- ``p.break_()`` inserts a hard newline in the output, maintaining the correct indentation during pretty printing.
- When the pretty printer falls back to the object's ``__repr__`` method, newlines are converted from ``\n`` to ``p.break_()`` to maintain indentation
@minrk minrk merged commit fb2885f into ipython:master Sep 18, 2013
@alexrudy alexrudy deleted the pretty-newlines branch September 18, 2013 23:06
mattvonrocketstein pushed a commit to mattvonrocketstein/ipython that referenced this pull request Nov 3, 2014
Adds an explicit newline for pretty-printing.

Included:

- ``p.break_()`` inserts a hard newline in the output, maintaining the correct indentation during pretty printing.
- When the pretty printer falls back to the object's ``__repr__`` method, newlines are converted from ``\n`` to ``p.break_()`` to maintain indentation
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.

3 participants