diff --git a/lib/rbs/cli.rb b/lib/rbs/cli.rb index 1ce7f898d..913ff3395 100644 --- a/lib/rbs/cli.rb +++ b/lib/rbs/cli.rb @@ -6,6 +6,8 @@ require "abbrev" require "stringio" +require_relative 'cli/colored_io' + module RBS class CLI class LibraryOptions diff --git a/lib/rbs/collection/colored_io.rb b/lib/rbs/cli/colored_io.rb similarity index 94% rename from lib/rbs/collection/colored_io.rb rename to lib/rbs/cli/colored_io.rb index 4406db88d..53cf3a7b7 100644 --- a/lib/rbs/collection/colored_io.rb +++ b/lib/rbs/cli/colored_io.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true module RBS - module Collection + class CLI class ColoredIO attr_reader :stdout @@ -36,6 +36,5 @@ def are_colors_disabled? !ENV['NO_COLOR'].nil? && !ENV.fetch('NO_COLOR', '').empty? end end - private_constant :ColoredIO end end diff --git a/lib/rbs/collection.rb b/lib/rbs/collection.rb index d15cc5e91..56f208221 100644 --- a/lib/rbs/collection.rb +++ b/lib/rbs/collection.rb @@ -3,7 +3,6 @@ require 'yaml' require 'bundler' -require_relative './collection/colored_io' require_relative './collection/sources' require_relative './collection/config' require_relative './collection/config/lockfile' diff --git a/lib/rbs/collection/installer.rb b/lib/rbs/collection/installer.rb index bba802390..95c29ec99 100644 --- a/lib/rbs/collection/installer.rb +++ b/lib/rbs/collection/installer.rb @@ -25,7 +25,7 @@ def install_from_lockfile stdout: stdout ) end - ColoredIO.new(stdout: stdout).puts_green("It's done! #{selected.size} gems' RBSs now installed.") + CLI::ColoredIO.new(stdout: stdout).puts_green("It's done! #{selected.size} gems' RBSs now installed.") end end end diff --git a/lib/rbs/collection/sources/git.rb b/lib/rbs/collection/sources/git.rb index 684b60d91..95a19fd63 100644 --- a/lib/rbs/collection/sources/git.rb +++ b/lib/rbs/collection/sources/git.rb @@ -45,7 +45,7 @@ def install(dest:, name:, version:, stdout:) gem_dir = dest.join(name, version) - colored_io = ColoredIO.new(stdout: stdout) + colored_io = CLI::ColoredIO.new(stdout: stdout) case when gem_dir.symlink? diff --git a/lib/rbs/collection/sources/local.rb b/lib/rbs/collection/sources/local.rb index c6567e335..1afde557d 100644 --- a/lib/rbs/collection/sources/local.rb +++ b/lib/rbs/collection/sources/local.rb @@ -33,7 +33,7 @@ def install(dest:, name:, version:, stdout:) from = @full_path.join(name, version) gem_dir = dest.join(name, version) - colored_io = ColoredIO.new(stdout: stdout) + colored_io = CLI::ColoredIO.new(stdout: stdout) case when gem_dir.symlink? && gem_dir.readlink == from diff --git a/sig/cli.rbs b/sig/cli.rbs index 88e1e1521..5728511c6 100644 --- a/sig/cli.rbs +++ b/sig/cli.rbs @@ -15,6 +15,17 @@ module RBS def setup_library_options: (OptionParser) -> OptionParser end + class ColoredIO + attr_reader stdout: CLI::_IO + def initialize: (stdout: CLI::_IO) -> void + def puts_green: (String) -> void + def puts: (String) -> void + + private def can_display_colors?: () -> bool + private def are_colors_supported?: () -> bool + private def are_colors_disabled?: () -> bool + end + interface _IO def puts: (*untyped) -> void diff --git a/sig/collection/colored_io.rbs b/sig/collection/colored_io.rbs deleted file mode 100644 index 9a3b5977c..000000000 --- a/sig/collection/colored_io.rbs +++ /dev/null @@ -1,14 +0,0 @@ -module RBS - module Collection - class ColoredIO - attr_reader stdout: CLI::_IO - def initialize: (stdout: CLI::_IO) -> void - def puts_green: (String) -> void - def puts: (String) -> void - - private def can_display_colors?: () -> bool - private def are_colors_supported?: () -> bool - private def are_colors_disabled?: () -> bool - end - end -end