Core Library0.xAPI Reference

Choose documentation 3

v0.1.1

Current version

v0.1.1
English

Early release libtmux is released, and its APIs may still change between releases. This site's structure and URLs may change too.

method libtmux-ruby v0.1.1

Server.run

Behavior: Raw commands.

Source and package
Qualified name
LibTmux::Async::Server#run
Module
LibTmux::Async
Declared in
Server
Package
libtmux-async
Source
gems/libtmux-async/lib/libtmux/async/server.rb
def run: ( ::Array[::String], ?input: ::String, ?timeout: ::Numeric, ?cancel: untyped ) -> ::LibTmux::CommandResult

Description#

Behavior contract: Raw commands.

Examples#

Cancel an Async task whose tmux request is waiting and read the delivery evidence on the Cancelled error. Use Ruby 3.3 or newer with Bundler, and tmux 3.3a or newer, on Unix with /bin/cat and /bin/sh available. In an empty directory, save this Gemfile:

source "https://rubygems.org"
gem "libtmux-async", "0.1.1"

Save this complete program as async_run.rb. Its Server.start() block owns a private tmux server and stops it on exit, including after an error. View source

# frozen_string_literal: true
begin
# docs:begin main
require "libtmux"
require "libtmux/async"
LibTmux::Server.start do |server|
server.new_session(name: "work", command: ["/bin/cat"])
Async do |parent|
LibTmux::Async.open(parent: parent, server: server) do |scope|
waiting = parent.async do
scope.server.run(["wait-for", "-S", "ready", ";", "wait-for", "held"], timeout: 5)
rescue LibTmux::Cancelled => error
error
end
scope.server.wait_for("ready", timeout: 5)
waiting.cancel
failure = waiting.wait
puts "request: #{failure.class}"
puts "delivery: #{failure.delivery}"
end
end.wait
end
# docs:end main
rescue StandardError => error
warn "#{error.class}: #{error.message}"
exit 1
end

Install the gem and run the program. An operation or cleanup error makes it exit unsuccessfully:

Terminal window
$ bundle install && \
bundle exec ruby async_run.rb

Expected output:

request: LibTmux::Cancelled
delivery: possibly_sent
Parameters

Guides#

Pages that discuss run.

Esc

Type to search.

Reference previewOpen reference