def say_runfile_list(runfiles)
      runfile_paths = runfiles.map { |f| File.dirname f }
      max = runfile_paths.max_by(&:length).size
      width = detect_terminal_size[0]
      runfiles.each do |f|
        f[/([^\/]+).runfile$/]
        command  = "run #{$1}"
        spacer_size = width - max - command.size - 6
        spacer_size = [1, spacer_size].max
        spacer = '.' * spacer_size
        say "  !txtgrn!#{command}!txtrst! #{spacer} #{File.dirname f}"
      end
    end
def say_runfile_list(runfiles)
      runfile_paths = runfiles.map { |f| File.dirname f }
      max = runfile_paths.max_by(&:length).size
      width = detect_terminal_size[0]
      runfiles.each do |f|
        f[/([^\/]+).runfile$/]
        command  = "run #{$1}"
        spacer_size = width - max - command.size - 6
        spacer_size = [1, spacer_size].max
        spacer = '.' * spacer_size
        say "  !txtgrn!#{command}!txtrst! #{spacer} #{File.dirname f}"
      end
    end
Output the list of available runfiles