class
   Athena::Console::Output::Section
   
  
  Overview
A ACON::Output::ConsoleOutput can be divided into multiple sections that can be written to and cleared independently of one another.
Output sections can be used for advanced console outputs, such as displaying multiple progress bars which are updated independently, or appending additional rows to tables.
protected def execute(input : ACON::Input::Interface, output : ACON::Output::Interface) : ACON::Command::Status
  raise ArgumentError.new "This command may only be used with `ACON::Output::ConsoleOutputInterface`." unless output.is_a? ACON::Output::ConsoleOutputInterface
  section1 = output.section
  section2 = output.section
  section1.puts "Hello"
  section2.puts "World!"
  # Output contains "Hello\nWorld!\n"
  sleep 1.second
  # Replace "Hello" with "Goodbye!"
  section1.overwrite "Goodbye!"
  # Output now contains "Goodbye\nWorld!\n"
  sleep 1.second
  # Clear "World!"
  section2.clear
  # Output now contains "Goodbye!\n"
  sleep 1.second
  # Delete the last 2 lines of the first section
  section1.clear 2
  # Output is now empty
  ACON::Command::Status::SUCCESS
end
  Defined in:
output/section.crConstructors
Instance Method Summary
- 
        #clear(lines : Int32 | Nil = nil) : Nil
        
          
Clears at most lines from
self. - 
        #content : String
        
          
Returns the full content string contained within
self. - #max_height=(max_height : Int32 | Nil) : Nil
 - 
        #overwrite(message : String | Enumerable(String)) : Nil
        
          
Overrides the current content of
selfwith the provided message. - 
        #overwrite(*messages : String) : Nil
        
          
Overrides the current content of
selfwith the provided messages. 
Instance methods inherited from class Athena::Console::Output::IO
  
  
    
      io : ::IO
    io, 
    
  
    
      io=(io : ::IO)
    io=, 
    
  
    
      to_s(*args, **options)to_s(*args, **options, &) to_s
Constructor methods inherited from class Athena::Console::Output::IO
  
  
    
      new(io : ::IO, verbosity : ACON::Output::Verbosity | Nil = :normal, decorated : Bool | Nil = nil, formatter : ACON::Formatter::Interface | Nil = nil)
    new
    
  
      
      
    
      
  Instance methods inherited from class Athena::Console::Output
  
  
    
      decorated=(decorated : Bool) : Nil
    decorated=, 
    
  
    
      decorated? : Bool
    decorated?, 
    
  
    
      formatter : ACON::Formatter::Interface
    formatter, 
    
  
    
      formatter=(formatter : ACON::Formatter::Interface) : Nil
    formatter=, 
    
  
    
      print(message : String | Enumerable(String), verbosity : ACON::Output::Verbosity = :normal, output_type : ACON::Output::Type = :normal) : Nilprint(message : _, verbosity : ACON::Output::Verbosity = :normal, output_type : ACON::Output::Type = :normal) : Nil
print(*messages : String) : Nil print, puts(message : String | Enumerable(String), verbosity : ACON::Output::Verbosity = :normal, output_type : ACON::Output::Type = :normal) : Nil
puts(message : _, verbosity : ACON::Output::Verbosity = :normal, output_type : ACON::Output::Type = :normal) : Nil
puts(*messages : String) : Nil puts, verbosity : ACON::Output::Verbosity verbosity, verbosity=(verbosity : ACON::Output::Verbosity) : Nil verbosity=
Constructor methods inherited from class Athena::Console::Output
  
  
    
      new(verbosity : ACON::Output::Verbosity | Nil = :normal, decorated : Bool = false, formatter : ACON::Formatter::Interface | Nil = nil)
    new
    
  
      
      
    
      
  Instance methods inherited from module Athena::Console::Output::Interface
  
  
    
      decorated=(decorated : Bool) : Nil
    decorated=, 
    
  
    
      decorated? : Bool
    decorated?, 
    
  
    
      formatter : ACON::Formatter::Interface
    formatter, 
    
  
    
      formatter=(formatter : ACON::Formatter::Interface) : Nil
    formatter=, 
    
  
    
      print(message : String | Enumerable(String), verbosity : ACON::Output::Verbosity = :normal, output_type : ACON::Output::Type = :normal) : Nil
    print, 
    
  
    
      puts(message : String | Enumerable(String), verbosity : ACON::Output::Verbosity = :normal, output_type : ACON::Output::Type = :normal) : Nil
    puts, 
    
  
    
      verbosity : ACON::Output::Verbosity
    verbosity, 
    
  
    
      verbosity=(verbosity : ACON::Output::Verbosity) : Nil
    verbosity=
    
  
      
      
      
    
      
      
      
      
    
      
      
      
      
    
  Constructor Detail
        
        def self.new(io : ::IO, sections : Array(self), verbosity : ACON::Output::Verbosity, decorated : Bool, formatter : ACON::Formatter::Interface)
        #
      
      
      Instance Method Detail
        
        def clear(lines : Int32 | Nil = nil) : Nil
        #
      
      
        Clears at most lines from self.
If lines is nil, all of self is cleared.
        
        def overwrite(message : String | Enumerable(String)) : Nil
        #
      
      
        Overrides the current content of self with the provided message.
        
        def overwrite(*messages : String) : Nil
        #
      
      
        Overrides the current content of self with the provided messages.