This PR generates a bit of duplication that will eventually be refactored out. Basically what it does is change the UI.Display signature to accept ui.Options instead, creating the room for both the table output and the interactive output to fetch the list of unused disks in different, more optimal ways, for each UI type.
Missing:
[x] Remove UI interface and replace with DisplayFunc type.
[x] Remove both table.UI and interactive.UI in favor of function.
[x] Move both table and interactive functions into ui package; there's no need for the table package anymore.
[ ] ~Move cli.Age into ui package.~ this isn't as easy as it sounds, because it generates a cyclic import.
This PR generates a bit of duplication that will eventually be refactored out. Basically what it does is change the
UI.Display
signature to acceptui.Options
instead, creating the room for both the table output and the interactive output to fetch the list of unused disks in different, more optimal ways, for each UI type.Missing:
UI
interface and replace withDisplayFunc
type.table.UI
andinteractive.UI
in favor of function.ui
package; there's no need for thetable
package anymore.cli.Age
intoui
package.~ this isn't as easy as it sounds, because it generates a cyclic import.