Workspace ManagerAPI Reference

Choose documentation 2

latest

Current version

latest
English

Prerelease This site documents an alpha of libtmux. Its structure, URLs and APIs are subject to change.

LibTmux.Workspace\ConvertTo-TmuxWorkspaceJson

ConvertTo-TmuxWorkspaceJson [-Workspace] <LibTmux.Workspace.WorkspaceFile> [<CommonParameters>]

Convert a native workspace declaration to JSON text.

Description#

Return one string for each native WorkspaceFile received from the pipeline. The text uses the snake_case keys accepted by Import-TmuxWorkspace and the native parser. Conversion preserves pane and command order, empty strings, nullable fields, global and local options, post-construction options, environment and commands at every declaration level. It does not expand command text or inherit local defaults into children.

Resolved directories and option values contain literal text. Conversion escapes their dollar signs as $$ so export, import and a later explicit Resolve-TmuxWorkspace keep the same values. Unresolved variable expressions remain unchanged. DocumentDirectory is resolution provenance and is omitted from the text; provide an explicit base when resolving the imported declaration.

The native parser checks emitted text, including its character limit. This is not application validation: incomplete declarations can still be converted. No tmux observation, command execution, file writing or plan serialization occurs. Formatting and comments from an imported source document are not part of the native declaration and are not reproduced.

Notes

Serialization errors terminate with Tmux.WorkspaceJsonFailed and retain the original exception. Null host commands are omitted because the native parser rejects an explicit null before_script. Nullable name and directory values remain distinct from empty strings. The native model does not retain a distinction between omitted and empty collections or omitted and false focus.

Command details#

Command type
cmdlet
Positional binding
Enabled.
Pipeline inputs
LibTmux.Workspace.WorkspaceFile: A parsed or explicitly resolved declaration.
Outputs
System.String

Examples#

Example 1 Convert a two-pane declaration for storage or inspection. View source

Terminal window
LibTmux.Workspace\Import-TmuxWorkspace -Yaml @'
session_name: development
windows:
- window_name: work
panes: [nvim, ""]
'@ | LibTmux.Workspace\ConvertTo-TmuxWorkspaceJson
Parameters
  • -Workspace (LibTmux.Workspace.WorkspaceFile) #

    The native declaration to serialize without applying it.

    Required
    Yes
    Position
    0
    Pipeline input
    By value
    Validation
    ValidateNotNull()
Common parameters 12

PowerShell supplies these parameters. See common parameter behavior for their effects.

Returns

System.String : One JSON document per input declaration.

Discussed in Workspace guide

Esc

Type to search.

Reference preview Open reference