Core Library0.xAPI Reference

Choose documentation 1

latest

Current version

latest
English

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

module libtmux-raku latest

LibTmux.Command

Source and package
Qualified name
LibTmux::Command
Declared in
LibTmux
Package
LibTmux
Source
lib/LibTmux/Command.rakumod
Anonymous module

Description#

Interpretation boundaries

Invocation encodes a tmux command, not a shell command or a FORMAT literal. Double quoting alone does not suppress tmux tilde expansion. Exact octal escapes preserve quotes, backslashes, dollars, tildes, controls and high bytes. The encoded size limit applies after expansion and before dispatch.

Engine code inserts command separators deliberately between Invocation values; literal semicolons inside their argument values remain data. Commands which interpret FORMAT syntax require an additional command-specific policy.

Single-operation admission

Effectful entry points use is single-operation to reject Junction arguments before Raku can autothread a typed method into several operations. Unknown named arguments are rejected unless the method explicitly forwards a slurpy options hash; the receiving operation validates those forwarded names. Nested command operands remain the responsibility of Invocation and the command's validators. Native signatures, defaults and constraints retain their normal binding rules. An effectful multi must guard its explicit proto, since candidate dispatch can autothread before a wrapper on an individual candidate runs. Role methods use capture admission in the proto body before typed candidate dispatch. Wrapping an unspecialized role method loses its private-method context after precompilation on the pinned compiler.

is single-operation('async') returns one broken Promise for rejected input or a synchronous exception from the method. Junctions and unknown names produce X::LibTmux::Command with kind argument and outcome NotStarted. Native binding errors and exceptions from the body retain their types. An accepted method's Promise passes through unchanged. Portable query validation keeps its own InvalidFilter policy, while local selections retain native Junction matching.

Members1#

  • Invocation class One copied tmux command with distinct argv and command-language encodings.
Esc

Type to search.

Reference previewOpen reference