Open aentinger opened 1 year ago
Currently a command such as y rl 11,12,13,14,15,16,20,30,40,50 | y --yaml rb --only=mp produces the following output:
y rl 11,12,13,14,15,16,20,30,40,50 | y --yaml rb --only=mp
11: {cyphal.l3xz-leg-ctrl.angle_offset_deg.a: 123.92578125, cyphal.l3xz-leg-ctrl.angle_offset_deg.b: 113.6865234375, cyphal.node.id: 11, cyphal.pub.AS5048_A.id: 1001, cyphal.pub.AS5048_B.id: 1002, cyphal.pub.bumper.id: 1003} 12: {cyphal.l3xz-leg-ctrl.angle_offset_deg.a: 0.0, cyphal.l3xz-leg-ctrl.angle_offset_deg.b: 0.0, cyphal.node.id: 12, cyphal.pub.AS5048_A.id: 1004, cyphal.pub.AS5048_B.id: 1005, cyphal.pub.bumper.id: 1006} 13: {cyphal.l3xz-leg-ctrl.angle_offset_deg.a: 0.0, cyphal.l3xz-leg-ctrl.angle_offset_deg.b: 0.0, cyphal.node.id: 13, cyphal.pub.AS5048_A.id: 1007, cyphal.pub.AS5048_B.id: 1008, cyphal.pub.bumper.id: 1009} 14: {cyphal.l3xz-leg-ctrl.angle_offset_deg.a: 0.0, cyphal.l3xz-leg-ctrl.angle_offset_deg.b: 0.0, cyphal.node.id: 14, cyphal.pub.AS5048_A.id: 1010, cyphal.pub.AS5048_B.id: 1011, cyphal.pub.bumper.id: 1012} 15: {cyphal.l3xz-leg-ctrl.angle_offset_deg.a: 0.0, cyphal.l3xz-leg-ctrl.angle_offset_deg.b: 0.0, cyphal.node.id: 15, cyphal.pub.AS5048_A.id: 1013, cyphal.pub.AS5048_B.id: 1014, cyphal.pub.bumper.id: 1015} 16: {cyphal.l3xz-leg-ctrl.angle_offset_deg.a: 0.0, cyphal.l3xz-leg-ctrl.angle_offset_deg.b: 0.0, cyphal.node.id: 16, cyphal.pub.AS5048_A.id: 1016, cyphal.pub.AS5048_B.id: 1017, cyphal.pub.bumper.id: 1018} 20: {cyphal.node.id: 20, cyphal.pub.estop.id: 2001, cyphal.sub.light_mode.id: 2002} 30: {} 40: {cyphal.node.id: 40, cyphal.sub.pulse_width.id: 4001} 50: {uavcan.node.id: 50, uavcan.pub.dynamics.id: 65535, uavcan.pub.dynamics.type: reg.udral.physics.dynamics.rotation.PlanarTs.0.1, uavcan.pub.esc_heartbeat.type: reg.udral.service.common.Heartbeat.0.1, uavcan.pub.feedback.id: 65535, uavcan.pub.feedback.type: reg.udral.service.actuator.common.Feedback.0.1, uavcan.pub.power.id: 65535, uavcan.pub.power.type: reg.udral.physics.electricity.PowerTs.0.1, uavcan.pub.status.id: 65535, uavcan.pub.status.type: reg.udral.service.actuator.common.Status.0.1, uavcan.sub.note_response.id: 65535, uavcan.sub.note_response.type: reg.udral.physics.acoustics.Note.0.1, uavcan.sub.readiness.id: 5001, uavcan.sub.readiness.type: reg.udral.service.common.Readiness.0.1, uavcan.sub.setpoint.id: 5002, uavcan.sub.setpoint.type: reg.udral.service.actuator.common.sp.Scalar.0.1}
When I afterwards manually edit the file I'd like to have it formatted in blocks, because that increases readability, i.e.
11: cyphal.pub.AS5048_A.id: 1001 cyphal.pub.AS5048_B.id: 1002 cyphal.pub.bumper.id: 1003 12: cyphal.pub.AS5048_A.id: 1004 cyphal.pub.AS5048_B.id: 1005 cyphal.pub.bumper.id: 1006 13: cyphal.pub.AS5048_A.id: 1007 cyphal.pub.AS5048_B.id: 1008 cyphal.pub.bumper.id: 1009 14: cyphal.pub.AS5048_A.id: 1010 cyphal.pub.AS5048_B.id: 1011 cyphal.pub.bumper.id: 1012 15: cyphal.pub.AS5048_A.id: 1013 cyphal.pub.AS5048_B.id: 1014 cyphal.pub.bumper.id: 1015 16: cyphal.pub.AS5048_A.id: 1016 cyphal.pub.AS5048_B.id: 1017 cyphal.pub.bumper.id: 1018 20: cyphal.pub.estop.id: 2001 cyphal.sub.light_mode.id: 2002 30: {} 40: cyphal.sub.pulse_width.id: 4001 50: uavcan.sub.readiness.id: 5001 uavcan.sub.setpoint.id: 5002
This could be a parameter like --yaml-blocks.
--yaml-blocks
This is easy to implement by adding a new formatter here:
https://github.com/OpenCyphal/yakut/blob/77d364f21ee44fac59523f048b6375c47140e416/yakut/param/formatter.py#L236-L243
Currently a command such as
y rl 11,12,13,14,15,16,20,30,40,50 | y --yaml rb --only=mp
produces the following output:When I afterwards manually edit the file I'd like to have it formatted in blocks, because that increases readability, i.e.
This could be a parameter like
--yaml-blocks
.