configs()
click to toggle source
def configs
Dir["#{Tmuxinator::Config.root}/**/*.yml"].sort.map do |path|
path.gsub("#{Tmuxinator::Config.root}/", "").gsub(".yml", "")
end
end
default()
click to toggle source
def default
"#{ENV["HOME"]}/.tmuxinator/default.yml"
end
default?()
click to toggle source
def default?
exists?("default")
end
default_path_option()
click to toggle source
def default_path_option
version && version < 1.8 ? "default-path" : "-c"
end
editor?()
click to toggle source
def editor?
!ENV["EDITOR"].nil? && !ENV["EDITOR"].empty?
end
exists?(name)
click to toggle source
def exists?(name)
File.exists?(project(name))
end
installed?()
click to toggle source
def installed?
Kernel.system("type tmux > /dev/null")
end
project(name)
click to toggle source
def project(name)
projects = Dir.glob("#{root}/**/*.yml")
project_file = projects.detect { |project| File.basename(project, ".yml") == name }
project_file || "#{root}/#{name}.yml"
end
root()
click to toggle source
def root
Dir.mkdir("#{ENV["HOME"]}/.tmuxinator") unless File.directory?(File.expand_path("~/.tmuxinator"))
"#{ENV["HOME"]}/.tmuxinator"
end
sample()
click to toggle source
def sample
"#{File.dirname(__FILE__)}/assets/sample.yml"
end
shell?()
click to toggle source
def shell?
!ENV["SHELL"].nil? && !ENV["SHELL"].empty?
end
template()
click to toggle source
def template
"#{File.dirname(__FILE__)}/assets/template.erb"
end
validate(name, custom_name = nil)
click to toggle source
def validate(name, custom_name = nil)
unless Tmuxinator::Config.exists?(name)
puts "Project #{name} doesn't exist."
exit!
end
config_path = Tmuxinator::Config.project(name)
yaml = begin
YAML.load(Erubis::Eruby.new(File.read(config_path)).result(binding))
rescue SyntaxError, StandardError
puts "Failed to parse config file. Please check your formatting."
exit!
end
project = Tmuxinator::Project.new(yaml, custom_name)
unless project.windows?
puts "Your project file should include some windows."
exit!
end
unless project.name?
puts "Your project file didn't specify a 'project_name'"
exit!
end
project
end
version()
click to toggle source
def version
%xtmux -V`.split(" ")[1].to_f if installed?
end
wemux_template()
click to toggle source
def wemux_template
"#{File.dirname(__FILE__)}/assets/wemux_template.erb"
end