Go workspace internals
github.com/libtmux/libtmux-go/workspace · Source
Build and inspect tmux sessions from application code with the workspace library. To load files from a terminal, start with the native CLI walkthrough.
Builder pipeline¶
Parse validates the YAML before tmux construction begins. Build creates
the session and owns a temporary control connection for construction;
BuildInto uses an existing session connection. The caller supplies file
reading, deadlines, command-line handling, and attachment.
Read the implementation¶
- Guides show builder setup and application code.
- Topics explain configuration, behavior, and failures.
- Examples exercise the builder through the language API.
- API links the configuration and construction interfaces.
Implementation scope¶
The workspace module parses YAML
and builds a session through libtmux’s Go API. It is a separate module, so
applications using only the core client do not acquire a YAML dependency.
Parsing validates the whole document before construction. Building returns the created session, including a session handle alongside an error when later operations fail and leave a partial workspace.
Package and runtime¶
Import github.com/libtmux/libtmux-go/workspace together with the core tmux
package. Building requires tmux on the host. Parsing and configuration
validation do not start a tmux server.
The module accepts windows, panes, commands, options, environment variables
and working directories. Plugin declarations and before_script are rejected.
Check the configuration contract before loading an existing file.