diff --git a/news/aaron-sprint-(special-method-printing)-2018.rst b/news/aaron-sprint-(special-method-printing)-2018.rst new file mode 100644 index 000000000..f2653e13b --- /dev/null +++ b/news/aaron-sprint-(special-method-printing)-2018.rst @@ -0,0 +1,13 @@ +**Added:** + +- Added a hook for printing a spcial display method on an object. + +**Changed:** None + +**Deprecated:** None + +**Removed:** None + +**Fixed:** None + +**Security:** None diff --git a/xonsh/pretty.py b/xonsh/pretty.py index 61267cf3d..15983cdcf 100644 --- a/xonsh/pretty.py +++ b/xonsh/pretty.py @@ -115,6 +115,9 @@ def pretty(obj, verbose=False, max_width=79, newline='\n', max_seq_length=MAX_SE """ Pretty print the object's representation. """ + if hasattr(obj, 'xonsh_display'): + return obj.xonsh_display() + stream = CUnicodeIO() printer = RepresentationPrinter(stream, verbose, max_width, newline, max_seq_length=max_seq_length) printer.pretty(obj)