require 'yaml' require 'optparse' # Version require 'teamocil/version' # Utils require 'teamocil/utils/closed_struct' require 'teamocil/utils/option_parser' # Teamocil require 'teamocil/layout' require 'teamocil/cli' # Errors require 'teamocil/error/layout_not_found' require 'teamocil/error/invalid_yaml_layout' # Command classes require 'teamocil/command/list_panes' require 'teamocil/command/list_windows' require 'teamocil/command/new_window' require 'teamocil/command/rename_session' require 'teamocil/command/rename_window' require 'teamocil/command/select_layout' require 'teamocil/command/select_pane' require 'teamocil/command/select_window' require 'teamocil/command/send_keys' require 'teamocil/command/send_keys_to_pane' require 'teamocil/command/show_options' require 'teamocil/command/show_window_options' require 'teamocil/command/split_window' # Tmux classes require 'teamocil/tmux' require 'teamocil/tmux/session' require 'teamocil/tmux/window' require 'teamocil/tmux/pane' module Teamocil class << self attr_reader :options end def self.bail(*args) print '[teamocil error] ' puts(*args) exit end def self.puts(*args) STDOUT.puts(*args) end def self.system(*args) Kernel.system(*args) end def self.query_system(command) `tmux #{command.to_s}` end def self.parse_options!(arguments: nil) parser = OptionParser.new(arguments: arguments) @options = parser.parsed_options end end