@@ -10,9 +10,10 @@ import (
1010 "strings"
1111 "unicode/utf8"
1212
13- "go.followtheprocess.codes/cli/internal/colour"
1413 "go.followtheprocess.codes/cli/internal/flag"
15- "go.followtheprocess.codes/cli/internal/table"
14+ "go.followtheprocess.codes/cli/internal/style"
15+
16+ "go.followtheprocess.codes/hue/tabwriter"
1617)
1718
1819const (
@@ -518,9 +519,9 @@ func defaultHelp(cmd *Command) error {
518519 s .WriteString ("\n \n " )
519520 }
520521
521- s .WriteString (colour .Title ("Usage" ))
522+ s .WriteString (style .Title . Text ("Usage" ))
522523 s .WriteString (": " )
523- s .WriteString (colour .Bold (cmd .name ))
524+ s .WriteString (style .Bold . Text (cmd .name ))
524525
525526 if len (cmd .subcommands ) == 0 {
526527 // We don't have any subcommands so usage will be:
@@ -570,7 +571,7 @@ func defaultHelp(cmd *Command) error {
570571 s .WriteString ("\n \n " )
571572 }
572573
573- s .WriteString (colour .Title ("Options" ))
574+ s .WriteString (style .Title . Text ("Options" ))
574575 s .WriteString (":\n \n " )
575576 s .WriteString (usage )
576577
@@ -609,22 +610,22 @@ func writePositionalArgs(cmd *Command, s *strings.Builder) {
609610// text string builder.
610611func writeArgumentsSection (cmd * Command , s * strings.Builder ) error {
611612 s .WriteString ("\n \n " )
612- s .WriteString (colour .Title ("Arguments" ))
613+ s .WriteString (style .Title . Text ("Arguments" ))
613614 s .WriteString (":\n " )
614- tab := table . New ( s )
615+ tw := tabwriter . NewWriter ( s , style . MinWidth , style . TabWidth , style . Padding , style . PadChar , style . Flags )
615616
616617 for _ , arg := range cmd .positionalArgs {
617618 switch arg .defaultValue {
618619 case requiredArgMarker :
619- tab . Row ( " %s\t %s\t [required]\n " , colour .Bold (arg .name ), arg .description )
620+ fmt . Fprintf ( tw , " %s\t %s\t [required]\n " , style .Bold . Text (arg .name ), arg .description )
620621 case "" :
621- tab . Row ( " %s\t %s\t [default %q]\n " , colour .Bold (arg .name ), arg .description , arg .defaultValue )
622+ fmt . Fprintf ( tw , " %s\t %s\t [default %q]\n " , style .Bold . Text (arg .name ), arg .description , arg .defaultValue )
622623 default :
623- tab . Row ( " %s\t %s\t [default %s]\n " , colour .Bold (arg .name ), arg .description , arg .defaultValue )
624+ fmt . Fprintf ( tw , " %s\t %s\t [default %s]\n " , style .Bold . Text (arg .name ), arg .description , arg .defaultValue )
624625 }
625626 }
626627
627- if err := tab .Flush (); err != nil {
628+ if err := tw .Flush (); err != nil {
628629 return fmt .Errorf ("could not format arguments: %w" , err )
629630 }
630631
@@ -641,7 +642,7 @@ func writeExamples(cmd *Command, s *strings.Builder) {
641642 s .WriteString ("\n \n " )
642643 }
643644
644- s .WriteString (colour .Title ("Examples" ))
645+ s .WriteString (style .Title . Text ("Examples" ))
645646 s .WriteByte (':' )
646647 s .WriteString ("\n \n " )
647648
@@ -672,16 +673,16 @@ func writeSubcommands(cmd *Command, s *strings.Builder) error {
672673 s .WriteString ("\n \n " )
673674 }
674675
675- s .WriteString (colour .Title ("Commands" ))
676+ s .WriteString (style .Title . Text ("Commands" ))
676677 s .WriteByte (':' )
677678 s .WriteString ("\n \n " )
678679
679- tab := table . New ( s )
680+ tw := tabwriter . NewWriter ( s , style . MinWidth , style . TabWidth , style . Padding , style . PadChar , style . Flags )
680681 for _ , subcommand := range cmd .subcommands {
681- tab . Row ( " %s\t %s\n " , colour .Bold (subcommand .name ), subcommand .short )
682+ fmt . Fprintf ( tw , " %s\t %s\n " , style .Bold . Text (subcommand .name ), subcommand .short )
682683 }
683684
684- if err := tab .Flush (); err != nil {
685+ if err := tw .Flush (); err != nil {
685686 return fmt .Errorf ("could not format subcommands: %w" , err )
686687 }
687688
@@ -707,22 +708,22 @@ func defaultVersion(cmd *Command) error {
707708
708709 s := & strings.Builder {}
709710 s .Grow (versionBufferSize )
710- s .WriteString (colour .Title (cmd .name ))
711+ s .WriteString (style .Title . Text (cmd .name ))
711712 s .WriteString ("\n \n " )
712- s .WriteString (colour .Bold ("Version:" ))
713+ s .WriteString (style .Bold . Text ("Version:" ))
713714 s .WriteString (" " )
714715 s .WriteString (cmd .version )
715716 s .WriteString ("\n " )
716717
717718 if cmd .commit != "" {
718- s .WriteString (colour .Bold ("Commit:" ))
719+ s .WriteString (style .Bold . Text ("Commit:" ))
719720 s .WriteString (" " )
720721 s .WriteString (cmd .commit )
721722 s .WriteString ("\n " )
722723 }
723724
724725 if cmd .buildDate != "" {
725- s .WriteString (colour .Bold ("BuildDate:" ))
726+ s .WriteString (style .Bold . Text ("BuildDate:" ))
726727 s .WriteString (" " )
727728 s .WriteString (cmd .buildDate )
728729 s .WriteString ("\n " )
0 commit comments