Go workspace internals
github.com/libtmux/libtmux-go/workspace · Source
These pages document the in-development workspace builder for contributors and applications that call its APIs. For workspace loading from a terminal, see tmuxp.
Builder pipelineLink to section
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 implementationLink to section
- 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 scopeLink to section
The workspace module parses tmuxp-style 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 runtimeLink to section
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 supports tmuxp field names for windows, panes, commands, options,
environment variables, and working directories. Python plugins and
before_script are rejected. Inspect the supported subset when moving an
existing Python workspace to Go.