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/start.rb,
lib/ace/tmux/models/layout_node.rb,
lib/ace/tmux/cli/commands/window.rb,
lib/ace/tmux/atoms/preset_resolver.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/organisms/window_manager.rb,
lib/ace/tmux/molecules/session_builder.rb,
lib/ace/tmux/organisms/session_manager.rb,
lib/ace/tmux/atoms/tmux_command_builder.rb,
lib/ace/tmux/atoms/layout_string_builder.rb

Defined Under Namespace

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

Constant Summary collapse

VERSION =
'0.14.3'

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



56
57
58
59
60
61
62
# File 'lib/ace/tmux.rb', line 56

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)


49
50
51
# File 'lib/ace/tmux.rb', line 49

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



42
43
44
45
# File 'lib/ace/tmux.rb', line 42

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)



65
66
67
68
69
# File 'lib/ace/tmux.rb', line 65

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