FPGAwars / apio

:seedling: Open source ecosystem for open FPGA boards
https://github.com/FPGAwars/apio/wiki
GNU General Public License v2.0
801 stars 138 forks source link

Cleaned up the apio example -l report. #433

Closed zapta closed 1 month ago

zapta commented 1 month ago

The examples report generated by the apio examples -l had two issues that were fixed by this PR.

  1. Examples with no 'info' file where excluded from the report (but not from the printed total count).

  2. Grepping the report output gave confusing results. For example

$ apio examples -l | grep -i leds
Blinking LEDs D0-D5
Blinking LEDs D0-D5
go-board/leds
Hello world example for the Nandland go board. Turning all the leds on

...

kefir/leds
Hello world example for the Kéfir I board. Turning all the leds on
Blinking LEDs D0-D5
Blinking LEDs D0-D5
Blinking LEDs D0-D5
Blinking the RGB LEDs using the SB_RGBA_DRV primitive.

This PR introduce a dual mode terminal/pipe where the report is formatted different when the output is piped. Below is an example. When printing to a terminal there is not change in the format. Also, the examples name sorting is now case insensitive.

$ apio examples -l | grep -i leds
ColoLight-5A-75E-V71_FT2232H/Ledon      |  Blinking LEDs D0-D5
ColorLight-5A-75B-V8/Ledon              |  Blinking LEDs D0-D5
go-board/leds                           |  Hello world example for the Nandland go board. Turning all the leds on
iCE40-HX1K-EVB/leds                     |  Verilog example for controlling leds with but on iCE40-HX1K-EVB.
iCE40-HX8K-EVB/leds                     |  Verilog example for controlling leds with but on iCE40-HX1K-EVB.
iCE40-HX8K/leds                         |  Hello world example for the iCE40-HX8K board. Turning all the leds on
iCEBreaker/blink                        |  Blink the on board Red and Green LEDs as well as the 5 LEDs found on the default PMOD P2 module.
icestick/leds                           |  Hello world example for the Icestick board. Turning all the leds on
iCESugar_1_5/Blinky                     |  Blink the on board Red, Green and Blue LEDs
icezum/leds                             |  Hello world example for the Icezum board. Turning all the leds on
icoboard/leds                           |  Hello world example for the Icoboard board. Turning all the leds on
kefir/leds                              |  Hello world example for the Kéfir I board. Turning all the leds on
ulx3s-12f/Blinky                        |  Blinking LEDs D0-D5
ulx3s-45f/Blinky                        |  Blinking LEDs D0-D5
ulx3s-85f/Blinky                        |  Blinking LEDs D0-D5
upduino31/blinky                        |  Blinking the RGB LEDs using the SB_RGBA_DRV primitive.
zapta commented 1 month ago

Additional commits sneaked it. Will resubmit with updated description.