Module: Ace::Tmux

Defined in:
lib/ace/tmux.rb,
lib/ace/tmux.rb,
lib/ace/tmux/cli.rb,
lib/ace/tmux/version.rb,
lib/ace/tmux/models/pane.rb,
lib/ace/tmux/models/window.rb,
lib/ace/tmux/models/session.rb,
lib/ace/tmux/cli/commands/list.rb,
lib/ace/tmux/cli/commands/send.rb,
lib/ace/tmux/cli/commands/wait.rb,
lib/ace/tmux/cli/commands/start.rb,
lib/ace/tmux/models/layout_node.rb,
lib/ace/tmux/cli/commands/attach.rb,
lib/ace/tmux/cli/commands/detach.rb,
lib/ace/tmux/cli/commands/window.rb,
lib/ace/tmux/cli/commands/capture.rb,
lib/ace/tmux/atoms/preset_resolver.rb,
lib/ace/tmux/models/runtime_target.rb,
lib/ace/tmux/molecules/config_loader.rb,
lib/ace/tmux/molecules/preset_loader.rb,
lib/ace/tmux/molecules/tmux_executor.rb,
lib/ace/tmux/atoms/named_key_registry.rb,
lib/ace/tmux/organisms/window_manager.rb,
lib/ace/tmux/cli/commands/list_presets.rb,
lib/ace/tmux/molecules/session_builder.rb,
lib/ace/tmux/organisms/control_surface.rb,
lib/ace/tmux/organisms/session_manager.rb,
lib/ace/tmux/atoms/tmux_command_builder.rb,
lib/ace/tmux/atoms/layout_string_builder.rb,
lib/ace/tmux/atoms/window_name_sanitizer.rb,
lib/ace/tmux/molecules/local_process_inspector.rb,
lib/ace/tmux/molecules/runtime_target_resolver.rb,
lib/ace/tmux/molecules/wait_condition_validator.rb

Defined Under Namespace

Modules: Atoms, CLI, Models, Molecules, Organisms Classes: Error, NotInTmuxError, PresetNotFoundError, TargetResolutionError, ValidationError, WaitTimeoutError

Constant Summary collapse

VERSION =
'0.17.2'

Class Method Summary collapse

Class Method Details

.configHash

Load ace-tmux configuration using ace-config cascade Thread-safe: uses mutex for initialization

Returns:

  • (Hash)

    Configuration hash with defaults merged



67
68
69
70
71
72
73
# File 'lib/ace/tmux.rb', line 67

def self.config
  return @config if defined?(@config) && @config

  @config_mutex.synchronize do
    @config ||= load_config
  end
end

.debug?Boolean

Check if debug mode is enabled

Returns:

  • (Boolean)


60
61
62
# File 'lib/ace/tmux.rb', line 60

def self.debug?
  ENV["ACE_DEBUG"] == "1" || ENV["DEBUG"] == "1"
end

.gem_rootString

Returns the gem root directory

Returns:

  • (String)

    Path to the gem root directory



53
54
55
56
# File 'lib/ace/tmux.rb', line 53

def self.gem_root
  @gem_root ||= Gem.loaded_specs["ace-tmux"]&.gem_dir ||
    File.expand_path("../..", __dir__)
end

.reset_config!Object

Reset config cache (useful for testing)



76
77
78
79
80
# File 'lib/ace/tmux.rb', line 76

def self.reset_config!
  @config_mutex.synchronize do
    @config = nil
  end
end