QEDjl-project / QEDprocesses.jl

[WIP]: QEDprocesses.jl: Modeling of scattering processes for QED.jl
MIT License
1 stars 3 forks source link

[WIP] Pretty printing #60

Closed AntonReinhard closed 1 month ago

AntonReinhard commented 1 month ago

Adds pretty printing for:

Essentially, adding similar functionality to https://github.com/QEDjl-project/QEDbase.jl/pull/61 for the QEDprocesses types.

I'm using the jldoctests to test, I'm not sure if it's really necessary to test in a separate test as well. Putting single jldoctests for these prints in every type definition would clutter the documentation a bit so I've not done that. If we really want tests for each show() we should probably do it in a test file.

Also, I'm not sure if there's a better way for the print functions than alternating the show for objects and print for strings. Interpolating doesn't work unless we also overload the print. (I think it is print, the number of string output related functions in Julia is confusing)

AntonReinhard commented 1 month ago

@szabo137 Please have a look again. I reworked the printing and implemented the MIME... overloads only for those that need multi-line printing, otherwise just the two-argument show(). That means that I should probably rework the printing for the QEDbase types (Incoming() etc.) in the same way, as I have done in the QEDbase_patch.jl now.

I've also removed most of the jldoctests and only kept the ones that I think add actual value for the documentation, showing an example construction of a ParticleStateful and a PhaseSpacePoint.