diff --git a/notes/adding-a-port.md b/notes/adding-a-port.md index fd2909f48..7070b5287 100644 --- a/notes/adding-a-port.md +++ b/notes/adding-a-port.md @@ -157,13 +157,31 @@ In the new worktree, on `docs-site`: Haskell's [Haddock exporter](../packages/api-model/scripts/export-haskell.py) builds a selected committed source archive. Its -[adapter](../packages/api-model/src/languages/haskell.ts) currently qualifies -`LibTmux.Id`, `LibTmux.Value` and `LibTmux.Version` with the port's pinned -GHC/Haddock toolchain. It preserves native signature links, opaque data -heads, constructor and record-label ownership, instance heads, and authored -export groups. The stored model retains those groups so sidebar regeneration -needs no checkout or native toolchain. Additional module and declaration -forms need native fixtures and qualification before the adapter accepts them. +[adapter](../packages/api-model/src/languages/haskell.ts) accepts three qualified +profiles with the port's pinned GHC/Haddock toolchain: + +- Scalar v1 covers `LibTmux.Id`, `LibTmux.Value` and `LibTmux.Version`. +- Observation v2 adds `LibTmux`, `LibTmux.Server`, `LibTmux.Snapshot` and + `LibTmux.Snapshot.Fixture`. Its [native fixture](../packages/api-model/test/fixtures/haskell-observations-native/README.md) + records the library and producer revisions separately. +- Query v3 adds `LibTmux.Query` and its typed field/relationship modules. Its + [native fixture](../packages/api-model/test/fixtures/haskell-query-native/README.md) + preserves opaque type parameters and constrained signatures. + +Both retain native signatures, opaque data heads, constructors, record labels, +instance heads and authored export groups. Observation field identities include +their record owner; displayed Haskell names and field types remain native. +Source links use the actual defining files, including private files behind a +public reexport, without creating private reference pages. Native source text +and line markers are checked against the committed source. + +The stored model retains export groups and ordered module-reexport relations, +so sidebar regeneration needs no checkout or native toolchain. The reexport +root has its own row; it does not duplicate the target modules' declarations. +Field modules without authored groups retain Haddock's default Documentation +section. An ambiguous native source identifier retains its defining file +without an invented line. Additional module and declaration forms need native +fixtures and qualification before the adapter accepts them. Haskell's reader guides use the routes in [`port-documentation.ts`](../site/src/lib/port-documentation.ts). Its section @@ -178,8 +196,11 @@ $ node scripts/stage-port-docs.mjs \ ``` The command reads committed guide bytes at the API model's revision. Public -module links reach the shared reference; source fragments retain their pinned -GitHub destinations. Add the pinned source checkout to `test.yml` when a port +module links reach the shared reference. An inline link labelled with a unique +public declaration opens that declaration; a shared type/constructor name +opens the data head. Ambiguous record labels stay at the module. Source +fragments retain their pinned GitHub destinations. Add the pinned source +checkout to `test.yml` when a port gains source-owned guides. Reading a guide checkout does not qualify native export freshness; the port's publisher runs its selected native toolchain. @@ -196,9 +217,24 @@ option-arity qualification. Custom `do` semantics, command-bearing pattern bindings, tmux command separators and sends beyond the shared helper-depth limit fail explicitly. Actual sends require a resolved scope and public attribution; ambiguous or widely shared helpers need further qualification. -The current public scalar modules send no commands, so the generated usage -document has no symbol entries. New public operations need source evidence -and reader qualification before appearing on tmux command pages. + +The queued native capture path uses a separate +[reviewed source profile](../scripts/tmux-usage/haskell-native.json). +Qualification checks the exact revision, the complete library and C-source +inventory, each file's digest, every public callable or field classification, +the full API model and native build metadata, and the +[reviewed claims](../scripts/tmux-usage/claims.json). Its parser indexes +declaration bounds for the shared evidence audit; it does not infer queued +execution from function names. A changed source, public export or claim fails +qualification until the profile is reviewed again. + +Capture selects `ReadSnapshot`, whose fixed queue reaches the native spawner. +It sends `display-message` and `if-shell`; `list-clients` runs when sessions +exist. Graph enumeration uses tmux format loops. The older private scalar and +graph readers are not public capture paths. Recovery inspects or retires +existing owners without redispatch. Caller-supplied `IO` in `withServer` and +`tryTmux` is classified separately, and pure snapshot navigation has no send. +The scalar-only API retains the ordinary reader and has no command entries. ### Erlang compiler artifact diff --git a/packages/api-model/scripts/export-haskell.py b/packages/api-model/scripts/export-haskell.py index b3e35209a..a495dd111 100755 --- a/packages/api-model/scripts/export-haskell.py +++ b/packages/api-model/scripts/export-haskell.py @@ -17,6 +17,48 @@ from pathlib import Path from urllib.parse import unquote, urlsplit +SCALAR_MODULES = ["LibTmux.Id", "LibTmux.Value", "LibTmux.Version"] +OBSERVATION_MODULES = [ + "LibTmux", + "LibTmux.Id", + "LibTmux.Server", + "LibTmux.Snapshot", + "LibTmux.Snapshot.Fixture", + "LibTmux.Value", + "LibTmux.Version", +] +OBSERVATION_ORIGINS = OBSERVATION_MODULES + [ + "LibTmux.Internal." + name + for name in ["Capture", "Graph", "Runtime", "Scheduler", "Scope", "TmuxText"] +] + +QUERY_MODULES = sorted( + OBSERVATION_MODULES + + ["LibTmux.Query"] + + [ + "LibTmux.Query." + name + for name in [ + "Client", + "ClientAttachment", + "Link", + "Occurrence", + "Pane", + "ServerInfo", + "Session", + "Window", + ] + ] +) +QUERY_ORIGINS = QUERY_MODULES + [ + "LibTmux.Internal." + name + for name in ["Capture", "Field", "Graph", "Query", "Runtime", "Scheduler", "Scope", "TmuxText"] +] + + +def _source_file(module): + prefix = "internal/" if module.startswith("LibTmux.Internal.") else "src/" + return prefix + module.replace(".", "/") + ".hs" + class _Node: """An inert native-document tree; parsing never loads scripts or assets.""" @@ -100,9 +142,12 @@ def _definition(node): return _one([item for item in node.walk() if item.has("def")], "public declaration anchor") -def _native_id(module, node): - anchor = _definition(node).attrs.get("id", "") - if not re.fullmatch(r"[tv]:.+", anchor): +def _native_id(module, node, namespace=None): + definition = _definition(node) + anchor = definition.attrs.get("id", "") + if not re.fullmatch(r"[tv]:.+", anchor) or ( + namespace is not None and anchor != f"{namespace}:{definition.text()}" + ): msg = f"Unsupported Haddock public anchor: {anchor}" raise ValueError(msg) return f"{module}#{anchor}" @@ -118,11 +163,23 @@ def extract_modules(pages, installed, exposed, locations, revision): if module not in interfaces or "OptHide" in interfaces[module]["options"]: msg = f"Configured public module is absent or hidden: {module}" raise ValueError(msg) + observations = "LibTmux" in exposed + if observations and exposed not in [OBSERVATION_MODULES, QUERY_MODULES]: + msg = "Unqualified observation module profile" + raise ValueError(msg) + source_modules = ( + QUERY_ORIGINS + if exposed == QUERY_MODULES + else OBSERVATION_ORIGINS + if observations + else exposed + ) documents = {module: _Document(pages[module]).root for module in exposed} page_modules = {module.replace(".", "-") + ".html": module for module in exposed} entries = [] groups = {module: [] for module in exposed} + reexports = {module: [] for module in exposed} for module, document in documents.items(): interface = _one( [node for node in document.walk() if node.attrs.get("id") == "interface"], @@ -130,6 +187,18 @@ def extract_modules(pages, installed, exposed, locations, revision): ) group = None for block in interface.elements(): + if ( + observations + and (module == "LibTmux" or exposed == QUERY_MODULES) + and block is interface.elements()[0] + and block.tag == "h1" + and block.text() == "Documentation" + and not block.elements() + ): + if module != "LibTmux": + group = {"title": block.text(), "members": []} + groups[module].append(group) + continue if block.attrs.get("id", "").startswith("g:"): group = {"title": _compact(block.text()), "members": []} groups[module].append(group) @@ -155,6 +224,21 @@ def extract_modules(pages, installed, exposed, locations, revision): [node for node in block.elements() if node.tag == "p" and node.has("src")], "declaration header", ) + if observations and _compact(header.text()).startswith("module "): + links = [node for node in header.walk() if node.tag == "a"] + target = page_modules.get(links[0].attrs.get("href")) if len(links) == 1 else None + if ( + module != "LibTmux" + or target is None + or target == module + or _compact(header.text()) != f"module {target}" + or len(block.elements()) != 1 + or target in [item["module"] for item in reexports[module]] + ): + msg = f"Unsupported or repeated native module reexport: {module}" + raise ValueError(msg) + reexports[module].append({"module": target, "href": links[0].attrs["href"]}) + continue identity = _native_id(module, header) if identity.split("#", 1)[1].startswith("t:"): if not re.match( @@ -174,32 +258,72 @@ def extract_modules(pages, installed, exposed, locations, revision): for constructors in [node for node in block.elements() if node.has("constructors")]: for row in [node for node in constructors.walk() if node.tag == "tr"]: entries.extend( - (module, _native_id(module, cell), "function", identity, cell, row) + (module, _native_id(module, cell, "v"), "function", identity, cell, row) for cell in row.elements() if cell.tag == "td" and cell.has("src") ) for fields in [node for node in block.walk() if node.has("fields")]: - entries.extend( - (module, _native_id(module, field), "property", identity, field, field.parent) - for field in fields.walk() - if field.tag == "dfn" and field.has("src") - ) + for field in fields.walk(): + if field.tag != "dfn" or not field.has("src"): + continue + native_id = _native_id(module, field, "v" if observations else None) + field_id = ( + f"{module}#v:{identity.split('#t:', 1)[1]}.{_definition(field).text()}" + if observations + else native_id + ) + entries.append((module, field_id, "property", identity, field, field.parent)) identities = [identity for _, identity, *_ in entries] if len(identities) != len(set(identities)): msg = "Duplicate namespace-aware public identity" raise ValueError(msg) - targets = set(identities) | set(exposed) + native_targets = {module: [module] for module in exposed} + entry_origins = {} + for module, identity, _, parent, header, _ in entries: + anchor = _definition(header).attrs["id"] + native_targets.setdefault(f"{module}#{anchor}", []).append(identity) + href = next((node.attrs["href"] for node in header.walk() if node.has("link")), None) + origin = entry_origins.get(parent, module) + if href: + parsed = urlsplit(href) + matches = [name for name in source_modules if parsed.path == f"src/{name}.html"] + if len(matches) != 1 or parsed.scheme or parsed.netloc or parsed.query: + msg = f"Unsupported cross-module native source: {module}: {href}" + raise ValueError(msg) + origin = matches[0] + entry_origins[identity] = origin for module in exposed: observed = Counter( - _definition(header).text() for owner, _, _, _, header, _ in entries if owner == module + ( + ( + f"${installed['package_info']}-inplace${entry_origins[identity]}$" + + _definition(header).text() + ) + if observations + else _definition(header).text() + ) + for owner, identity, _, _, header, _ in entries + if owner == module ) expected = Counter( - name.rsplit("$", 1)[-1] for name in interfaces[module]["visible_exports"] + (name if observations else name.rsplit("$", 1)[-1]) + for name in interfaces[module]["visible_exports"] ) if observed != expected: msg = f"Native declaration and visible-export sets disagree: {module}" raise ValueError(msg) + if observations: + for name in interfaces[module]["visible_exports"]: + if installed["link_env"].get(name) != module: + msg = f"Compiled public owner differs: {module}: {name}" + raise ValueError(msg) + expanded = Counter(interfaces[module]["visible_exports"]) + for item in reexports[module]: + expanded.update(interfaces[item["module"]]["exports"]) + if expanded != Counter(interfaces[module]["exports"]): + msg = f"Native module reexports disagree with compiled exports: {module}" + raise ValueError(msg) def link(href, module): parsed = urlsplit(href) @@ -210,10 +334,14 @@ def link(href, module): return None owner = page_modules.get(parsed.path) if parsed.path else module target = owner if not parsed.fragment else f"{owner}#{unquote(parsed.fragment)}" - if owner is None or target not in targets: + choices = native_targets.get(target, []) + if owner is None or not choices: msg = f"Documentation link has no public target: {module}: {href}" raise ValueError(msg) - return target + if len(choices) != 1: + msg = f"Documentation link has ambiguous public targets: {module}: {href}" + raise ValueError(msg) + return choices[0] def markdown(node, module): if isinstance(node, str): @@ -316,12 +444,17 @@ def documentation(container, module): ) def source(module, name, href=None): - result = {"file": "src/" + module.replace(".", "/") + ".hs", "revision": revision} + result = {"file": _source_file(module), "revision": revision} if href and urlsplit(href).path != f"src/{module}.html": msg = f"Unsupported cross-module native source: {module}: {href}" raise ValueError(msg) anchor = unquote(urlsplit(href).fragment) if href else name - if anchor.startswith("line-"): + if observations: + matches = locations[module].get(anchor, []) + if href and (not matches or (len(set(matches)) != 1 and exposed != QUERY_MODULES)): + msg = f"Missing or ambiguous explicit native source anchor: {module}: {anchor}" + raise ValueError(msg) + elif anchor.startswith("line-"): matches = [int(anchor[5:])] else: matches = locations[module].get(anchor, []) @@ -345,6 +478,11 @@ def source(module, name, href=None): "signatures": [], "doc": documentation(description, module), "source": source(module, ""), + **( + {"nativeLocation": {"module": module}, "definingModule": module} + if observations + else {} + ), "package": "libtmux-haskell", "product": "core", "apiScope": "exported", @@ -364,10 +502,18 @@ def source(module, name, href=None): "signatures": [signature(header, module, kind == "function" and parent != module)], "doc": documentation(block, module), "source": source( - module, + entry_origins[identity], name, next((node.attrs["href"] for node in header.walk() if node.has("link")), None), ), + **( + { + "nativeLocation": {"module": module, "anchor": _definition(header).attrs["id"]}, + "definingModule": entry_origins[identity], + } + if observations + else {} + ), "package": "libtmux-haskell", "product": "core", "apiScope": "exported", @@ -407,7 +553,9 @@ def source(module, name, href=None): "markdown": "instance " + markdown(head, module).strip(), "references": references, "source": source( - module, name, _one(sources, "instance source") if sources else None + entry_origins[identity], + name, + _one(sources, "instance source") if sources else None, ), "doc": documentation(row, module), } @@ -415,7 +563,14 @@ def source(module, name, href=None): symbol["instances"] = instances symbols.append(symbol) return { - "modules": [{"name": module, "groups": groups[module]} for module in exposed], + "modules": [ + { + "name": module, + "groups": groups[module], + **({"reexports": reexports[module]} if observations else {}), + } + for module in exposed + ], "symbols": symbols, } @@ -437,6 +592,40 @@ def handle_starttag(self, tag, attrs): self.locations.setdefault(anchor, []).append(self.line) +def _checked_source_page(page, committed): + """Qualify native line anchors against the same archived source bytes.""" + pre = _one( + [node for node in _Document(page).root.walk() if node.tag == "pre"], "native source body" + ) + + parts = [] + locations = {} + line = 1 + + def walk(node): + nonlocal line + if isinstance(node, str): + parts.append(node) + line += node.count("\n") + return + if node.has("annottext"): + return + anchor = node.attrs.get("id", "") + if anchor.startswith("line-") and (anchor != f"line-{line}" or anchor in locations): + msg = f"Invalid native source line marker: {anchor} at line {line}" + raise ValueError(msg) + if anchor: + locations.setdefault(anchor, []).append(line) + for child in node.children: + walk(child) + + walk(pre) + if "".join(parts).encode() != committed: + msg = "Native source text differs from the committed source input" + raise ValueError(msg) + return locations + + def _command(arguments, cwd): result = subprocess.run( arguments, cwd=cwd, capture_output=True, text=True, timeout=60, check=False @@ -488,9 +677,12 @@ def _checked_component(plan, source_root, registration): return component -def build_native(checkout, revision): +def build_native(checkout, revision, native_output=None): """Build committed source in isolation and extract its configured public API.""" checkout = Path(checkout).resolve() + if native_output is not None and Path(native_output).exists(): + msg = "Native output must name a new directory" + raise ValueError(msg) if ( not re.fullmatch(r"[a-f0-9]{40}", revision) or _git(checkout, "rev-parse", f"{revision}^{{commit}}") != revision @@ -583,6 +775,14 @@ def field(name): ): msg = "Unsupported configured public module or re-export shape" raise ValueError(msg) + if modules not in [SCALAR_MODULES, OBSERVATION_MODULES, QUERY_MODULES]: + msg = "Unqualified configured public module profile" + raise ValueError(msg) + queries = modules == QUERY_MODULES + observations = queries or modules == OBSERVATION_MODULES + source_modules = ( + QUERY_ORIGINS if queries else OBSERVATION_ORIGINS if observations else modules + ) shown = _command([tools["haddock"], f"--show-interface={interface}"], source_root) if bool(shown.stdout.strip()) == bool(shown.stderr.strip()): msg = "Expected one complete native JSON interface stream" @@ -605,14 +805,23 @@ def field(name): } source_pages = { module: (interface.parent / "src" / (module + ".html")).read_text() - for module in modules + for module in source_modules } + for module in source_modules: + matches = [ + source_root / prefix / (module.replace(".", "/") + ".hs") + for prefix in ["src", "internal"] + ] + if [path for path in matches if path.is_file()] != [source_root / _source_file(module)]: + msg = f"Missing or ambiguous committed module source: {module}" + raise ValueError(msg) locations = { - module: _SourceLocations(text).locations for module, text in source_pages.items() + module: _checked_source_page(text, (source_root / _source_file(module)).read_bytes()) + for module, text in source_pages.items() } result = extract_modules(rendered, installed, modules, locations, revision) files = [".tool-versions", "cabal.project", "libtmux-haskell.cabal"] - files.extend("src/" + module.replace(".", "/") + ".hs" for module in modules) + files.extend(_source_file(module) for module in source_modules) native_files = { "interface.haddock": interface.read_bytes(), "interface.json": native_json.encode(), @@ -623,8 +832,20 @@ def field(name): native_files.update( {"src/" + module + ".html": text.encode() for module, text in source_pages.items()} ) + if native_output is not None: + destination = Path(native_output) + destination.mkdir(parents=True, exist_ok=False) + for name, data in native_files.items(): + target = destination / name + target.parent.mkdir(parents=True, exist_ok=True) + target.write_bytes(data) return { - "schema": "libtmux.haskell-api/1", + "schema": "libtmux.haskell-api/3" + if queries + else "libtmux.haskell-api/2" + if observations + else "libtmux.haskell-api/1", + **({"profile": "queries/1" if queries else "observations/1"} if observations else {}), "port": "haskell", "repo": "libtmux/libtmux-haskell", "revision": revision, @@ -643,7 +864,7 @@ def field(name): ], "exporter": { "name": "Haddock public interface export", - "version": 1, + "version": 3 if queries else 2 if observations else 1, "build": { "compiler": plan["compiler-id"], "cabal": plan["cabal-version"], @@ -687,9 +908,12 @@ def main(): parser.add_argument("--checkout", type=Path, required=True) parser.add_argument("--source-revision", required=True) parser.add_argument("--output", type=Path, required=True) + parser.add_argument( + "--native-output", type=Path, help="Retain hashed native inputs in a new directory" + ) arguments = parser.parse_args() exporter = _exporter_identity() - artifact = build_native(arguments.checkout, arguments.source_revision) + artifact = build_native(arguments.checkout, arguments.source_revision, arguments.native_output) artifact["nativeProvenance"]["exporter"].update(exporter) arguments.output.parent.mkdir(parents=True, exist_ok=True) arguments.output.write_text( diff --git a/packages/api-model/src/builtins.ts b/packages/api-model/src/builtins.ts index edec46bd9..04472f6d7 100644 --- a/packages/api-model/src/builtins.ts +++ b/packages/api-model/src/builtins.ts @@ -169,6 +169,7 @@ export const BUILTINS: Record> = { IO: 'https://hackage-content.haskell.org/package/base-4.22.0.0/docs/System-IO.html#t:IO', Either: 'https://hackage-content.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either', Integer: 'https://hackage-content.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer', + Natural: 'https://hackage-content.haskell.org/package/base-4.22.0.0/docs/Numeric-Natural.html#t:Natural', }, elixir: { ...Object.fromEntries(ELIXIR_BASIC_TYPES.map((name) => [name, elixirDocs('typespecs.html#basic-types')])), diff --git a/packages/api-model/src/languages/haskell.ts b/packages/api-model/src/languages/haskell.ts index 1871eee9f..ea851a0ec 100644 --- a/packages/api-model/src/languages/haskell.ts +++ b/packages/api-model/src/languages/haskell.ts @@ -16,10 +16,13 @@ interface NativeSymbol extends Omit { parent: string | null source: NativeSource instances?: NativeInstance[] + nativeLocation?: { module: string; anchor?: string } + definingModule?: string } interface HashedInput { path: string; sha256: string } interface HaskellArtifact { schema: string + profile?: string port: string repo: string revision: string @@ -36,13 +39,24 @@ interface HaskellArtifact { nativeArtifacts: HashedInput[] } } - modules: { name: string; groups: { title: string; members: string[] }[] }[] + modules: { name: string; groups: { title: string; members: string[] }[]; + reexports?: { module: string; href: string }[] }[] symbols: NativeSymbol[] } const COMMIT = /^[a-f0-9]{40}$/ const HASH = /^[a-f0-9]{64}$/ const QUALIFIED_MODULES = ['LibTmux.Id', 'LibTmux.Value', 'LibTmux.Version'] +const OBSERVATION_MODULES = ['LibTmux', 'LibTmux.Id', 'LibTmux.Server', 'LibTmux.Snapshot', + 'LibTmux.Snapshot.Fixture', 'LibTmux.Value', 'LibTmux.Version'] +const OBSERVATION_ORIGINS = [...OBSERVATION_MODULES, + ...['Capture', 'Graph', 'Runtime', 'Scheduler', 'Scope', 'TmuxText'].map((name) => `LibTmux.Internal.${name}`)] +const QUERY_MODULES = [...OBSERVATION_MODULES, 'LibTmux.Query', + ...['Client', 'ClientAttachment', 'Link', 'Occurrence', 'Pane', 'ServerInfo', 'Session', 'Window'] + .map((name) => `LibTmux.Query.${name}`)].toSorted() +const QUERY_ORIGINS = [...QUERY_MODULES, + ...['Capture', 'Field', 'Graph', 'Query', 'Runtime', 'Scheduler', 'Scope', 'TmuxText'] + .map((name) => `LibTmux.Internal.${name}`)] const VERSION = /^(?:0|[1-9]\d*)(?:\.(?:0|[1-9]\d*))+$/ function check(condition: unknown, reason: string): asserts condition { @@ -59,14 +73,13 @@ function hashedInputs(inputs: HashedInput[], expected: string[], label: string): } /** Preserve the native destination; resolve only explicitly identified public declarations. */ -function validateLink(link: NativeLink, byId: Map): void { +function validateLink(link: NativeLink, byId: Map, destinations: Map): void { check(link && typeof link.text === 'string' && link.text.length && typeof link.href === 'string', 'missing native link') if (link.target !== undefined) { const target = byId.get(link.target) check(target, `unknown public link target ${link.target}`) - const [module, anchor] = link.target.split('#') - const expected = `${module.replaceAll('.', '-')}.html${anchor ? `#${anchor}` : ''}` - check(link.href === expected, `native destination differs from ${link.target}`) + const targets = destinations.get(link.href) + check(targets?.length === 1 && targets[0] === link.target, `native destination differs or is ambiguous for ${link.target}`) } else { let url: URL try { url = new URL(link.href) } catch { throw new Error(`Invalid Haskell native URL: ${link.href}`) } @@ -74,7 +87,8 @@ function validateLink(link: NativeLink, byId: Map): void { } } -function validateSignature(signature: Signature, symbol: NativeSymbol, byId: Map): void { +function validateSignature(signature: Signature, symbol: NativeSymbol, byId: Map, + destinations: Map): void { check(typeof signature.raw === 'string' && signature.raw.length && Array.isArray(signature.params) && signature.params.length === 0 && Array.isArray(signature.nativeSpans) && signature.nativeSpans.length, `missing native signature for ${symbol.id}`) const spans = signature.nativeSpans @@ -87,7 +101,7 @@ function validateSignature(signature: Signature, symbol: NativeSymbol, byId: Map `missing declaration marker for ${symbol.id}`) for (const span of spans) { check(span.target === undefined || span.href !== undefined, `link target has no destination in ${symbol.id}`) - if (span.href !== undefined) validateLink(span as NativeLink, byId) + if (span.href !== undefined) validateLink(span as NativeLink, byId, destinations) } check(signature.methodKind === undefined || signature.methodKind === 'constructor', `unsupported method kind for ${symbol.id}`) } @@ -96,7 +110,9 @@ function validateSignature(signature: Signature, symbol: NativeSymbol, byId: Map export function extractHaskellArtifact(input: unknown, expectedRevision?: string): ApiModel { check(input && typeof input === 'object', 'missing document') const artifact = structuredClone(input) as HaskellArtifact - check(artifact.schema === 'libtmux.haskell-api/1' && artifact.port === 'haskell' && + const queries = artifact.schema === 'libtmux.haskell-api/3' && artifact.profile === 'queries/1' + const observations = queries || (artifact.schema === 'libtmux.haskell-api/2' && artifact.profile === 'observations/1') + check((artifact.schema === 'libtmux.haskell-api/1' || observations) && artifact.port === 'haskell' && artifact.repo === 'libtmux/libtmux-haskell' && typeof artifact.revision === 'string' && COMMIT.test(artifact.revision), 'unsupported schema or source identity') check(!expectedRevision || artifact.revision === expectedRevision, 'source revision differs from the selected checkout') @@ -105,25 +121,41 @@ export function extractHaskellArtifact(input: unknown, expectedRevision?: string check(artifact.package?.name === 'libtmux-haskell' && VERSION.test(artifact.package.version) && Array.isArray(artifact.package.exposedModules) && artifact.package.exposedModules.length, 'invalid Cabal package identity') const modules = artifact.package.exposedModules - check(modules.length === QUALIFIED_MODULES.length && modules.every((module, index) => module === QUALIFIED_MODULES[index]), + const qualified = queries ? QUERY_MODULES : observations ? OBSERVATION_MODULES : QUALIFIED_MODULES + check(modules.length === qualified.length && modules.every((module, index) => module === qualified[index]), 'unqualified exposed module profile') check(Array.isArray(artifact.modules) && artifact.modules.length === modules.length && artifact.modules.every((module, index) => module?.name === modules[index] && Array.isArray(module.groups)), 'native modules differ from the configured public modules') + check(artifact.modules.every((module) => observations && module.name === 'LibTmux' + ? module.groups.length === 0 : module.groups.length > 0), 'missing or unexpected native export groups') + if (observations) { + for (const module of artifact.modules) { + const seen = new Set() + check(Array.isArray(module.reexports) && (module.name === 'LibTmux' ? module.reexports.length > 0 : !module.reexports.length) && + module.reexports.every((item) => item && modules.includes(item.module) && item.module !== module.name && + !seen.has(item.module) && seen.add(item.module) && + item.href === `${item.module.replaceAll('.', '-')}.html`), `invalid module reexports for ${module.name}`) + } + } const exporter = artifact.nativeProvenance?.exporter - check(exporter?.name === 'Haddock public interface export' && exporter.version === 1 && exporter.repository === 'libtmux/docs' && + check(exporter?.name === 'Haddock public interface export' && exporter.version === (queries ? 3 : observations ? 2 : 1) && exporter.repository === 'libtmux/docs' && typeof exporter.revision === 'string' && COMMIT.test(exporter.revision) && exporter.path === 'packages/api-model/scripts/export-haskell.py' && HASH.test(exporter.sha256), 'missing committed producer identity') check(exporter.build?.compiler === `ghc-${artifact.compiler}` && exporter.build.cabal === '3.18.2.0' && exporter.build.unit === `${artifact.package.name}-${artifact.package.version}-inplace` && typeof exporter.build.platform === 'string' && /^[\w]+-[\w]+$/.test(exporter.build.platform) && ['stdout', 'stderr'].includes(exporter.interfaceStream), 'invalid configured native build') - const sourceFiles = modules.map((module) => `src/${module.replaceAll('.', '/')}.hs`) + const origins = queries ? QUERY_ORIGINS : observations ? OBSERVATION_ORIGINS : modules + const sourceFile = (module: string) => `${module.startsWith('LibTmux.Internal.') ? 'internal' : 'src'}/${module.replaceAll('.', '/')}.hs` + const sourceFiles = origins.map(sourceFile) hashedInputs(artifact.nativeProvenance.files, ['.tool-versions', 'cabal.project', 'libtmux-haskell.cabal', ...sourceFiles], 'source inputs') hashedInputs(exporter.nativeArtifacts, ['interface.haddock', 'interface.json', - ...modules.flatMap((module) => [`${module.replaceAll('.', '-')}.html`, `src/${module}.html`])], 'native inputs') + ...modules.map((module) => `${module.replaceAll('.', '-')}.html`), + ...origins.map((module) => `src/${module}.html`)], 'native inputs') check(Array.isArray(artifact.symbols) && artifact.symbols.length, 'no public declarations') const byId = new Map() + const destinations = new Map() for (const symbol of artifact.symbols) { check(symbol && typeof symbol.id === 'string' && !byId.has(symbol.id), 'missing or repeated public identity') check(symbol.apiScope === 'exported' && symbol.product === 'core' && symbol.package === artifact.package.name, @@ -133,15 +165,31 @@ export function extractHaskellArtifact(input: unknown, expectedRevision?: string symbol.modifiers.length <= 1 && Array.isArray(symbol.signatures), `unsupported declaration shape ${symbol.id}`) if (symbol.kind === 'module') { check(modules.includes(symbol.id) && symbol.name === symbol.id && symbol.parent === null && - symbol.signatures.length === 0 && symbol.modifiers.length === 0, `invalid public module ${symbol.id}`) + symbol.signatures.length === 0 && symbol.modifiers.length === 0 && + (symbol.publicId === undefined || symbol.publicId === symbol.id) && + (symbol.qualifiedName === undefined || symbol.qualifiedName === symbol.id) && + (symbol.namespace === undefined || symbol.namespace === symbol.id), `invalid public module ${symbol.id}`) } else { + const fieldName = observations && symbol.kind === 'property' + ? `${symbol.parent?.split('#t:')[1]}.${symbol.name}` : symbol.name check(typeof symbol.namespace === 'string' && modules.includes(symbol.namespace) && /^[A-Za-z_][\w']*$/.test(symbol.name) && symbol.qualifiedName === `${symbol.namespace}.${symbol.name}` && - symbol.id === `${symbol.namespace}#${symbol.kind === 'typealias' ? 't' : 'v'}:${symbol.name}` && + symbol.id === `${symbol.namespace}#${symbol.kind === 'typealias' ? 't' : 'v'}:${fieldName}` && symbol.publicId === symbol.id && symbol.signatures.length === 1, `invalid public declaration identity ${symbol.id}`) } const module = symbol.kind === 'module' ? symbol.id : symbol.namespace! - check(symbol.source?.file === `src/${module.replaceAll('.', '/')}.hs` && symbol.source.revision === artifact.revision && + const anchor = symbol.kind === 'module' ? undefined : `${symbol.kind === 'typealias' ? 't' : 'v'}:${symbol.name}` + if (observations) { + check(symbol.nativeLocation?.module === module && symbol.nativeLocation.anchor === anchor && + typeof symbol.definingModule === 'string' && origins.includes(symbol.definingModule) && + (symbol.kind !== 'module' || symbol.definingModule === module), + `invalid native location or defining origin for ${symbol.id}`) + } + const href = `${module.replaceAll('.', '-')}.html${anchor ? `#${anchor}` : ''}` + const targets = destinations.get(href) ?? [] + targets.push(symbol.id) + destinations.set(href, targets) + check(symbol.source?.file === sourceFile(observations ? symbol.definingModule! : module) && symbol.source.revision === artifact.revision && (symbol.source.line === undefined || (Number.isSafeInteger(symbol.source.line) && symbol.source.line > 0)), `source differs from the public declaration ${symbol.id}`) check(symbol.doc === null || (symbol.doc && typeof symbol.doc.summary === 'string' && @@ -158,13 +206,19 @@ export function extractHaskellArtifact(input: unknown, expectedRevision?: string check(parent && (parent.kind === 'module' ? parent.id === symbol.namespace && symbol.kind !== 'property' && !constructor : parent.kind === 'typealias' && !parent.modifiers.includes('opaque') && parent.namespace === symbol.namespace && ((symbol.kind === 'property' && !constructor) || (symbol.kind === 'function' && constructor))), `invalid public parent for ${symbol.id}`) + if (observations && parent.kind !== 'module') { + check(symbol.definingModule === parent.definingModule, `child defining origin differs for ${symbol.id}`) + } if (symbol.kind === 'typealias') { - // This producer profile exports scalar data heads, not aliases or hidden representations. - check(symbol.signatures[0].raw === `data ${symbol.name}` && Array.isArray(symbol.instances), + const head = symbol.signatures[0].raw + const qualifiedHead = typeof head === 'string' && (queries + ? new RegExp(`^data ${symbol.name}(?: [a-z][\\w']*)*$`).test(head) + : head === `data ${symbol.name}`) + check(qualifiedHead && Array.isArray(symbol.instances), `unsupported type representation or missing instances for ${symbol.id}`) check(symbol.modifiers.includes('opaque') === !constructorOwners.has(symbol.id), `opaque status differs for ${symbol.id}`) } else check(symbol.modifiers.length === 0, `opaque non-type ${symbol.id}`) - validateSignature(symbol.signatures[0], symbol, byId) + validateSignature(symbol.signatures[0], symbol, byId, destinations) } const model: ApiModel = { port: 'haskell', repo: artifact.repo, revision: artifact.revision, @@ -185,6 +239,14 @@ export function extractHaskellArtifact(input: unknown, expectedRevision?: string } for (const span of native.signatures.flatMap((signature) => signature.nativeSpans ?? [])) if (span.target) refer(span.target) let doc = native.doc ?? undefined + if (observations && native.kind === 'module') { + const reexports = artifact.modules.find((module) => module.name === native.id)!.reexports! + if (reexports.length) { + for (const item of reexports) refer(item.module) + doc = { summary: doc?.summary ?? '', body: [doc?.body, '## Reexports', + reexports.map((item) => `- :obj:\`${item.module} <${item.module}>\``).join('\n')].filter(Boolean).join('\n\n') } + } + } if (native.instances !== undefined) { check(native.kind === 'typealias' && Array.isArray(native.instances), `instances on a non-type ${native.id}`) const heads = new Set() @@ -198,7 +260,7 @@ export function extractHaskellArtifact(input: unknown, expectedRevision?: string (instance.source.line === undefined || (Number.isSafeInteger(instance.source.line) && instance.source.line > 0)), `instance source differs for ${native.id}`) for (const link of instance.references) { - validateLink(link, byId) + validateLink(link, byId, destinations) if (link.target) refer(link.target) } // Only simple class/type heads are qualified; owner and display must agree. diff --git a/packages/api-model/src/nav-sidecar.ts b/packages/api-model/src/nav-sidecar.ts index e76ca7691..6fee95b91 100644 --- a/packages/api-model/src/nav-sidecar.ts +++ b/packages/api-model/src/nav-sidecar.ts @@ -67,13 +67,22 @@ export function exportGroupsNav(model: ApiModelBase): NavConfig { } for (const symbol of model.symbols) { if (symbol.kind === 'module' && publicSymbol(symbol) && !owners.has(symbol.publicId ?? symbol.id)) { - fail(`module has no groups: ${symbol.id}`) + const referencesModule = Array.isArray(symbol.references) && symbol.references.some((reference) => { + const target = reference && byId.get(reference.target) + return reference?.kind === 'reference' && target && target.id !== symbol.id && modules.has(target.id) + }) + if (!referencesModule || model.symbols.some((member) => member.parent === symbol.id && publicSymbol(member))) { + fail(`module has no groups: ${symbol.id}`) + } + const id = symbol.publicId ?? symbol.id + owners.set(id, { id: `exports:${encodeURIComponent(id)}`, label: symbol.name, + match: { kind: 'id', is: id }, order: [id], children: [] }) } if (symbol.parent && modules.has(symbol.parent) && publicSymbol(symbol) && !members.has(symbol.publicId ?? symbol.id)) { fail(`direct export has no group: ${symbol.id}`) } } - return { buckets: [...owners.values()] } + return { buckets: [...modules.values()].map((module) => owners.get(module.publicId ?? module.id)!) } } /** diff --git a/packages/api-model/test/builtins.test.ts b/packages/api-model/test/builtins.test.ts index 92c4addcf..7a7e9a7a6 100644 --- a/packages/api-model/test/builtins.test.ts +++ b/packages/api-model/test/builtins.test.ts @@ -92,6 +92,14 @@ describe('C++ standard references', () => { }) describe('standard types in product signatures', () => { + it('links the Haskell Natural bound used in the query guide', () => { + const index = new SymbolIndex([], () => '#', 'haskell') + expect(index.resolve('Natural')).toMatchObject({ + href: 'https://hackage-content.haskell.org/package/base-4.22.0.0/docs/Numeric-Natural.html#t:Natural', external: true, + }) + expect(builtinHref('ts', 'Natural')).toBeUndefined() + }) + it('links the OCaml modules and sequence function used in native guides', () => { const index = new SymbolIndex([], () => '#', 'ocaml') for (const [name, page] of [['List', 'List.html'], ['Unix', 'Unix.html'], ['Seq.filter', 'Seq.html#VALfilter']]) { diff --git a/packages/api-model/test/fixtures/haskell-observations-native/LibTmux-Id.html b/packages/api-model/test/fixtures/haskell-observations-native/LibTmux-Id.html new file mode 100644 index 000000000..cd9b0a4a8 --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-observations-native/LibTmux-Id.html @@ -0,0 +1,14 @@ +LibTmux.Id
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux.Id

Description

Distinct session, physical-window and physical-pane IDs.

Parsing and rendering are pure. An ID carries no endpoint, server lifetime + or liveness evidence. Render an ID for external text; use its numeric + accessor when an application needs the mathematical value.

Start with parseSessionId, parseWindowId or parsePaneId. Each type's + documentation links its parser and renderer. Contextual numeric indices + belong to LibTmux.Value.

>>> :set -XOverloadedStrings
+>>> fmap renderWindowId (parseWindowId "@17")
+Right "@17"
+>>> either (const "rejected") renderPaneId (parsePaneId "@17")
+"rejected"
+

Entity identities

data SessionId Source #

A session's unsigned 32-bit tmux identifier, written with a $ prefix. + Parse with parseSessionId; render with renderSessionId.

Instances

Instances details
NFData SessionId Source # 
Instance details

Defined in LibTmux.Id

Methods

rnf :: SessionId -> () #

Eq SessionId Source # 
Instance details

Defined in LibTmux.Id

Ord SessionId Source # 
Instance details

Defined in LibTmux.Id

Show SessionId Source # 
Instance details

Defined in LibTmux.Id

data WindowId Source #

A physical window's identifier, independent of its session links. + Parse with parseWindowId; render with renderWindowId.

Instances

Instances details
NFData WindowId Source # 
Instance details

Defined in LibTmux.Id

Methods

rnf :: WindowId -> () #

Eq WindowId Source # 
Instance details

Defined in LibTmux.Id

Ord WindowId Source # 
Instance details

Defined in LibTmux.Id

Show WindowId Source # 
Instance details

Defined in LibTmux.Id

data PaneId Source #

A physical pane's identifier, written with a % prefix. + Parse with parsePaneId; render with renderPaneId.

Instances

Instances details
NFData PaneId Source # 
Instance details

Defined in LibTmux.Id

Methods

rnf :: PaneId -> () #

Eq PaneId Source # 
Instance details

Defined in LibTmux.Id

Methods

(==) :: PaneId -> PaneId -> Bool #

(/=) :: PaneId -> PaneId -> Bool #

Ord PaneId Source # 
Instance details

Defined in LibTmux.Id

Show PaneId Source # 
Instance details

Defined in LibTmux.Id

Parse external values

data IdError Source #

Invalid canonical syntax, entity prefix or native unsigned range. + Diagnostics retain at most 64 characters of input.

Constructors

InvalidId 

Fields

Instances

Instances details
Eq IdError Source # 
Instance details

Defined in LibTmux.Id

Methods

(==) :: IdError -> IdError -> Bool #

(/=) :: IdError -> IdError -> Bool #

Show IdError Source # 
Instance details

Defined in LibTmux.Id

parseSessionId :: Text -> Either IdError SessionId Source #

Parse $0 through $4294967295. No whitespace or leading zeroes.

parseWindowId :: Text -> Either IdError WindowId Source #

Parse a canonical @number identifying a physical window.

parsePaneId :: Text -> Either IdError PaneId Source #

Parse a canonical %number identifying a physical pane.

Render target text

renderSessionId :: SessionId -> Text Source #

Render the session prefix and decimal ID.

renderWindowId :: WindowId -> Text Source #

Render the physical window prefix and decimal ID.

renderPaneId :: PaneId -> Text Source #

Render the physical pane prefix and decimal ID.

Read numeric values

sessionIdValue :: SessionId -> Integer Source #

Read the numeric session ID without narrowing conversion.

windowIdValue :: WindowId -> Integer Source #

Read the numeric physical window ID.

paneIdValue :: PaneId -> Integer Source #

Read the numeric physical pane ID.

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-observations-native/LibTmux-Server.html b/packages/api-model/test/fixtures/haskell-observations-native/LibTmux-Server.html new file mode 100644 index 000000000..815ab0f5d --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-observations-native/LibTmux-Server.html @@ -0,0 +1,54 @@ +LibTmux.Server
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux.Server

Description

Observe an existing tmux daemon through an owned Server handle.

A Server represents one adoption of one endpoint. withServer owns its + socket pin, native command clients and cleanup workers. Closing this scope + releases those resources; it does not send kill-server. The tmux noun + Client refers to detached observations in LibTmux.Snapshot. + withRuntime and withServerIn give several handles shared resource limits + and independent Server scopes.

capture returns fully decoded, validated values. Field access and graph + navigation are pure. Captures use an observation interval, not an atomic + transaction over tmux and operating-system state.

Operational failures use TmuxException. tryTmux catches that type only. + Cancellation retains its original exception class. If bounded cleanup + cannot finish, cleanupRecoveries retrieves the owning recovery scope + from the exception context. A failed callback remains the primary failure.

Synopsis

Open and observe

data Server Source #

One pinned endpoint and connection generation. The constructor is hidden. + Retaining this value after withServer or withServerIn keeps no admission open.

data ServerConfig Source #

Pure configuration, checked when withServer or withServerIn opens the handle. + Paths retain POSIX bytes; no text decoding or shell interpretation occurs.

Constructors

ServerConfig 

Fields

Instances

Instances details
Eq ServerConfig Source # 
Instance details

Defined in LibTmux.Server

Show ServerConfig Source # 
Instance details

Defined in LibTmux.Server

serverConfig :: PosixPath -> ServerConfig Source #

Configure an existing socket, resolving tmux through PATH when opened. + The private pin uses the socket's parent directory. The capture timeout is + two seconds; callers can change it before opening a Server scope.

withServer :: ServerConfig -> (Server -> IO a) -> IO a Source #

Open one handle, run the callback, then perform bounded owned cleanup. + Cleanup never replaces a callback exception. Incomplete cleanup raises + CleanupFailed after success, or annotates the original callback failure + with a reachable CleanupRecovery. No daemon shutdown is requested.

capture :: Server -> IO Snapshot Source #

Acquire the complete baseline graph, metadata and attached clients. + Returned values own their data and remain usable after withServer exits. + Capacity and acquisition failure are errors; they never become empty lists.

serverGeneration :: Server -> Generation Source #

The handle's opaque generation, available without contacting tmux.

Shared ownership

data Runtime Source #

Shared resource limits and cleanup ownership for Server handles. Create + one with withRuntime, then adopt endpoints through withServerIn. + Detached Snapshot values retain no Runtime.

withRuntime :: (Runtime -> IO a) -> IO a Source #

Own a Runtime for the callback and perform bounded cleanup afterward. + Closing it retires every adopted handle; application-owned threads remain + the application's responsibility. Late adoption fails with RuntimeClosed. + The daemon remains running.

Callback failures and cancellation keep their original exception class. + Incomplete cleanup retains a CleanupRecovery in the exception context; + use tryTmux and cleanupRecoveries to keep that responsibility reachable.

withServerIn :: Runtime -> ServerConfig -> (Server -> IO a) -> IO a Source #

Adopt one endpoint within an existing Runtime and close only that handle + after the callback. Other handles remain admitted under the shared limits; + each adoption has its own serverGeneration. Use withServer for one handle.

Failed adoption can retain a CleanupRecovery before a Server exists. + Inspection, retry and waiting through that owner stay scoped to the failed + adoption. Cleanup preserves application exceptions, incoming masking state + and cancellation; known acquisition failures use TmuxException.

Operational failures

data TmuxException Source #

Library operational failures. Context-preserving catching retains any + cleanup owners; the original application or cancellation exception keeps + its class when the callback itself failed.

Constructors

ServerClosed

Admission through the retained Server handle has closed.

RuntimeClosed

Admission through the retained Runtime has closed.

InvalidConfiguration !Text

Configuration failed before acquisition.

InvalidObservation !Text

Acquired metadata failed final validation.

OperationFailed !SomeException

Known backend failure with its original cause.

CleanupFailed !CleanupStatus !(Maybe SomeException)

Cleanup remained incomplete or its worker could not start.

tryTmux :: IO a -> IO (Either (ExceptionWithContext TmuxException) a) Source #

Catch library failures with their exception context. Retain this value + when handling an error so cleanup and capture owners stay reachable. + Application exceptions and asynchronous cancellation propagate.

Scope cleanup

data CleanupRecovery Source #

Reachable responsibility after an incomplete or failed scope release. + Retaining this value keeps its selected cleanup target and Runtime reachable.

data CleanupStatus Source #

Local observations of the selected physical and logical responsibility. + Each inspection returns new metadata; it performs no tmux operation.

Constructors

CleanupStatus 

Fields

Instances

Instances details
Show CleanupStatus Source # 
Instance details

Defined in LibTmux.Internal.Scope

cleanupRecoveries :: ExceptionContext -> [CleanupRecovery] Source #

Cleanup owners retained by a failed or cancelled scope. The context + comes from tryTmux or tryWithContext. Inspection performs no tmux IO. + Nested scopes can contribute overlapping owners; inspect and resume each + retained responsibility through inspectCleanup and resumeCleanup.

cleanupFailure :: CleanupRecovery -> Maybe SomeException Source #

Exception that interrupted the original cleanup attempt, when there was + one. Pending ownership alone need not have an associated exception.

cleanupObservation :: CleanupRecovery -> CleanupStatus Source #

The cleanup metadata recorded when this recovery owner was attached.

inspectCleanup :: CleanupRecovery -> IO CleanupStatus Source #

Inspect current owned cleanup and logical uncertainty without tmux IO.

resumeCleanup :: CleanupRecovery -> IO CleanupStatus Source #

Retry bounded owned cleanup. An incomplete result retains this owner; + the operation does not retry a tmux command or release logical uncertainty.

awaitCleanup :: CleanupRecovery -> IO CleanupStatus Source #

Wait for this target's physical cleanup, then inspect its logical debt. + The wait has no deadline. + Cancellation or failure preserves an annotated cleanup owner. Use + resumeCleanup when the caller requires a bounded attempt.

detachUnresolved :: CleanupRecovery -> Operation -> IO Bool Source #

Relinquish one logical operation from this cleanup scope. This releases + no native resources and does not prove that daemon-side work completed.

Correlated capture recovery

data CaptureRecovery Source #

A reachable owner for one failed or cancelled capture. The receipt holds + metadata only; the Runtime retains any remaining native and logical owners.

captureRecoveries :: ExceptionContext -> [CaptureRecovery] Source #

Capture owners retained in an exception context, including cancellation.

recoveryOperation :: CaptureRecovery -> Operation Source #

Metadata-only operation identity for the failed capture.

recoveryGeneration :: CaptureRecovery -> Generation Source #

Correlate the failed capture with its Server generation.

data ReadRecovery Source #

Logical responsibility and this read's physical owners, observed together. + A released native child does not establish a daemon-side command outcome.

Constructors

ReadRecovery 

Fields

Instances

Instances details
Show ReadRecovery Source # 
Instance details

Defined in LibTmux.Internal.Runtime

inspectCaptureRecovery :: CaptureRecovery -> IO ReadRecovery Source #

Observe logical outcome, decoder ownership and native cleanup locally. + This reads runtime metadata and performs no tmux command.

resumeCaptureRecovery :: CaptureRecovery -> IO () Source #

Resume existing cleanup without dispatching the capture again.

detachCaptureRecovery :: CaptureRecovery -> IO Bool Source #

Explicitly detach logical uncertainty while preserving native ownership.

data Operation Source #

Metadata-only operation identity, readable after responsibility retires. + Its owning scope controls advancement and explicit detachment.

Instances

Instances details
Eq Operation Source # 
Instance details

Defined in LibTmux.Internal.Scheduler

Show Operation Source # 
Instance details

Defined in LibTmux.Internal.Scheduler

data Status Source #

Progress, published result and responsibility are independent observations. + A retained uncertain operation still consumes admission and its lane permit.

Constructors

Status 

Fields

Instances

Instances details
Eq Status Source # 
Instance details

Defined in LibTmux.Internal.Scheduler

Methods

(==) :: Status -> Status -> Bool #

(/=) :: Status -> Status -> Bool #

Show Status Source # 
Instance details

Defined in LibTmux.Internal.Scheduler

data Stage Source #

Last observed progress. Publishing an uncertain Outcome does not + advance this stage or establish OperationComplete.

Instances

Instances details
Eq Stage Source # 
Instance details

Defined in LibTmux.Internal.Scheduler

Methods

(==) :: Stage -> Stage -> Bool #

(/=) :: Stage -> Stage -> Bool #

Show Stage Source # 
Instance details

Defined in LibTmux.Internal.Scheduler

Methods

showsPrec :: Int -> Stage -> ShowS #

show :: Stage -> String #

showList :: [Stage] -> ShowS #

data Outcome Source #

First caller result. Later evidence can retire responsibility without + rewriting OutcomeUnknown or ConnectionRetired.

Constructors

Succeeded

Validated successful response and completion proof.

Failed

Validated command failure.

NotDispatched

Proof that the operation was never dispatched.

OutcomeUnknown

Dispatch may have happened; completion remains uncertain.

ConnectionRetired

The connection retired while responsibility remained.

Instances

Instances details
Eq Outcome Source # 
Instance details

Defined in LibTmux.Internal.Scheduler

Methods

(==) :: Outcome -> Outcome -> Bool #

(/=) :: Outcome -> Outcome -> Bool #

Show Outcome Source # 
Instance details

Defined in LibTmux.Internal.Scheduler

operationStatus :: Operation -> IO Status Source #

Read retained operation metadata, including after its physical cleanup.

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-observations-native/LibTmux-Snapshot-Fixture.html b/packages/api-model/test/fixtures/haskell-observations-native/LibTmux-Snapshot-Fixture.html new file mode 100644 index 000000000..0f7d46be9 --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-observations-native/LibTmux-Snapshot-Fixture.html @@ -0,0 +1,16 @@ +LibTmux.Snapshot.Fixture
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux.Snapshot.Fixture

Description

Build validated detached snapshots for pure application tests.

No operation in this module contacts tmux. Named fixture references can + model successive observations; they never equal a live Server generation. + Snapshot and live-reference constructors remain hidden. + Validation checks graph and metadata laws; wire decoding, tmux normalization + and transport limits belong to acquisition rather than fixture construction.

Start with fixtureOrigin and emptyFixture, construct ordinary observation + records using this module's reference builders, then call validateFixture.

Offline identity

data FixtureOrigin Source #

A named offline namespace. Equal names deliberately compare equal, so + tests can model successive observations. This cannot represent a Server.

fixtureOrigin :: Text -> FixtureOrigin Source #

Select a pure fixture namespace. No endpoint lookup or random IO occurs.

fixtureGeneration :: FixtureOrigin -> Generation Source #

The offline generation for Fixture metadata. Replacing it with a connection + generation causes validateFixture to reject the metadata.

sessionRef :: FixtureOrigin -> SessionId -> SessionRef Source #

Construct a session reference that belongs only to this offline origin.

windowRef :: FixtureOrigin -> WindowId -> WindowRef Source #

Construct a physical window reference without granting live authority.

paneRef :: FixtureOrigin -> PaneId -> PaneRef Source #

Construct a pane reference without consulting or targeting a daemon.

Complete fixture inputs

data Fixture Source #

Ordinary finite inputs. Validation applies the captured graph's laws; + record construction or updates alone do not establish those laws.

Constructors

Fixture 

Fields

Instances

Instances details
Eq Fixture Source # 
Instance details

Defined in LibTmux.Snapshot.Fixture

Methods

(==) :: Fixture -> Fixture -> Bool #

(/=) :: Fixture -> Fixture -> Bool #

Show Fixture Source # 
Instance details

Defined in LibTmux.Snapshot.Fixture

data AttachedClient Source #

An attached client's native identity and context before graph validation. + Validation resolves its values from the same snapshot; it never trusts a + caller-supplied nested attachment record.

Constructors

AttachedClient 

Fields

emptyFixture :: FixtureOrigin -> TmuxVersion -> Fixture Source #

Empty complete inputs with explicit synthetic metadata: PID 1, epoch 0 + and path fixture:offline. No process or socket exists by implication. + The version and every edited field are checked by validateFixture.

Validation

data FixtureError Source #

A failed graph or complete-snapshot validation, with domain + context from the validator. Failed input never becomes an empty snapshot.

Constructors

InvalidGraph !Text

Invalid references, multiplicity, attachment counts or selections.

InvalidSnapshot !Text

Invalid metadata or attached-client context.

Instances

Instances details
Eq FixtureError Source # 
Instance details

Defined in LibTmux.Snapshot.Fixture

Show FixtureError Source # 
Instance details

Defined in LibTmux.Snapshot.Fixture

validateFixture :: FixtureOrigin -> Fixture -> Either FixtureError Snapshot Source #

Validate and force owned values using the capture graph's invariants. + Successful fixtures have no acquisition interval and carry offline + provenance. Their references cannot equal references from a Server scope.

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-observations-native/LibTmux-Snapshot.html b/packages/api-model/test/fixtures/haskell-observations-native/LibTmux-Snapshot.html new file mode 100644 index 000000000..c9ad3b898 --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-observations-native/LibTmux-Snapshot.html @@ -0,0 +1,32 @@ +LibTmux.Snapshot
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux.Snapshot

Description

Detached tmux observations and pure navigation.

LibTmux.Server acquires a Snapshot in IO. Every operation in this + module reads owned Haskell values, including after the Server closes. + Use ordinary lists, comprehensions and folds for application predicates.

Window and Pane are physical entities. A WindowLink identifies an + observed sessionindexwindow binding; PaneOccurrence retains that + context. paneOccurrences therefore preserves repeated appearances while + panes lists each physical pane once.

References compare identity within one Server generation. A lookup reads + the supplied snapshot, including a newer snapshot from that same Server. + Independent Server scopes have different generations. Resolve an ID again + with lookupPaneId when deliberately selecting a newly observed entity.

Observation fields are exported for record dot and local updates. Editing + a record does not change a snapshot's indexes or establish provenance. + LibTmux.Snapshot.Fixture constructs validated offline snapshots; + snapshotOrigin distinguishes them from observations acquired through IO.

Synopsis

Complete observations

data Snapshot Source #

Validated metadata, physical graph and attached-client observations. + Construction checks every join and forces owned values. List processing + and indexed lookup remain pure after the operational Server closes.

Instances

Instances details
NFData Snapshot Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

rnf :: Snapshot -> () #

Eq Snapshot Source # 
Instance details

Defined in LibTmux.Internal.Graph

Show Snapshot Source # 
Instance details

Defined in LibTmux.Internal.Graph

data ServerInfo Source #

Reported daemon metadata within one adopted generation. PID and start + time are observations; they do not grant signal authority or durable identity.

Constructors

ServerInfo 

Fields

Instances

Instances details
NFData ServerInfo Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

rnf :: ServerInfo -> () #

Eq ServerInfo Source # 
Instance details

Defined in LibTmux.Internal.Graph

Show ServerInfo Source # 
Instance details

Defined in LibTmux.Internal.Graph

data SnapshotOrigin Source #

Where the validated values were obtained. A server capture does not + establish current liveness. Offline namespaces carry no targeting authority.

Constructors

AcquiredFromTmux

Acquired through an operational Server handle.

DefinedOffline !Text

Constructed and validated in a named fixture namespace.

snapshotOrigin :: Snapshot -> SnapshotOrigin Source #

Inspect provenance without contacting tmux. See + LibTmux.Snapshot.Fixture for validated offline construction.

serverInfo :: Snapshot -> ServerInfo Source #

Daemon metadata captured with this graph.

captureInterval :: Snapshot -> Maybe CaptureInterval Source #

Acquisition bounds attached to a live capture. An unstamped decoded + profile stays private; an offline fixture has no external capture interval.

data CaptureInterval Source #

Monotonic process-clock bounds around acquisition. These values describe + an interval and do not promise an atomic observation or a wall-clock epoch.

Constructors

CaptureInterval 

Fields

Physical and contextual values

data Session Source #

Detached physical session. Navigate its appearances through WindowLink.

Constructors

Session 

Fields

  • ref :: !SessionRef

    Target identity in the observation's generation.

  • name :: !Text

    Session name as reported and decoded by tmux.

  • attached :: !Integer

    Nonnegative reported count, independent of the captured client listing.

Instances

Instances details
NFData Session Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

rnf :: Session -> () #

Eq Session Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

(==) :: Session -> Session -> Bool #

(/=) :: Session -> Session -> Bool #

Show Session Source # 
Instance details

Defined in LibTmux.Internal.Graph

data Window Source #

Detached physical window, independent of its session and index appearances.

Constructors

Window 

Fields

Instances

Instances details
NFData Window Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

rnf :: Window -> () #

Eq Window Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

(==) :: Window -> Window -> Bool #

(/=) :: Window -> Window -> Bool #

Show Window Source # 
Instance details

Defined in LibTmux.Internal.Graph

data Pane Source #

Detached physical pane. Its window can appear in several session contexts; + PaneOccurrence preserves an appearance without duplicating physical identity.

Constructors

Pane 

Fields

Instances

Instances details
NFData Pane Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

rnf :: Pane -> () #

Eq Pane Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

(==) :: Pane -> Pane -> Bool #

(/=) :: Pane -> Pane -> Bool #

Show Pane Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

showsPrec :: Int -> Pane -> ShowS #

show :: Pane -> String #

showList :: [Pane] -> ShowS #

data WindowLink Source #

One observed sessionindexwindow binding. Indices are reusable positions; + this value describes captured context. The same window may appear repeatedly.

Constructors

WindowLink 

Fields

Instances

data PaneOccurrence Source #

A physical pane together with one contextual window appearance.

Constructors

PaneOccurrence 

Fields

  • pane :: !Pane

    Captured physical pane value.

  • link :: !WindowLink

    Session and index context through which it appears.

Instances

Instances details
NFData PaneOccurrence Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

rnf :: PaneOccurrence -> () #

Eq PaneOccurrence Source # 
Instance details

Defined in LibTmux.Internal.Graph

Show PaneOccurrence Source # 
Instance details

Defined in LibTmux.Internal.Graph

data Client Source #

A detached client observation, not an operational connection or live ref. + The live profile lists attached clients; an offline value may be unattached.

Constructors

Client 

Fields

Instances

Instances details
NFData Client Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

rnf :: Client -> () #

Eq Client Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

(==) :: Client -> Client -> Bool #

(/=) :: Client -> Client -> Bool #

Show Client Source # 
Instance details

Defined in LibTmux.Internal.Graph

data ClientAttachment Source #

An attachment contains this capture's values. It never resolves a retained + client name against a later capture. The pane is the session window's global + active pane, not an independent client focus; its link retains session context.

Constructors

ClientAttachment 

Fields

Target identity

data Generation Source #

Opaque connection or offline-fixture identity. Independent Server handles + receive distinct tokens; named fixtures never equal an adopted endpoint.

data SessionRef Source #

Session targeting identity within a Generation. Compare observations + separately when their captured field values matter.

data WindowRef Source #

Physical window targeting identity within a Generation. A window can + have several WindowLink appearances.

Instances

Instances details
NFData WindowRef Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

rnf :: WindowRef -> () #

Eq WindowRef Source # 
Instance details

Defined in LibTmux.Internal.Graph

Ord WindowRef Source # 
Instance details

Defined in LibTmux.Internal.Graph

Show WindowRef Source # 
Instance details

Defined in LibTmux.Internal.Graph

data PaneRef Source #

Physical pane targeting identity within a Generation. This carries + identity, while the supplied Snapshot determines the observed values.

Instances

Instances details
NFData PaneRef Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

rnf :: PaneRef -> () #

Eq PaneRef Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

(==) :: PaneRef -> PaneRef -> Bool #

(/=) :: PaneRef -> PaneRef -> Bool #

Ord PaneRef Source # 
Instance details

Defined in LibTmux.Internal.Graph

Show PaneRef Source # 
Instance details

Defined in LibTmux.Internal.Graph

sessionId :: SessionRef -> SessionId Source #

Native session ID, without the reference's generation guarantee.

windowId :: WindowRef -> WindowId Source #

Native physical window ID. Window-link indices are separate values.

paneId :: PaneRef -> PaneId Source #

Native pane ID. Comparing IDs alone does not compare Server identity.

Ordered sources

sessions :: Snapshot -> [Session] Source #

Physical sessions in numeric ID order.

windows :: Snapshot -> [Window] Source #

Physical windows in numeric ID order, independent of their links.

panes :: Snapshot -> [Pane] Source #

Physical panes in numeric ID order. Use paneOccurrences for link context.

windowLinks :: Snapshot -> [WindowLink] Source #

Window appearances in session ID and window-index order.

paneOccurrences :: Snapshot -> [PaneOccurrence] Source #

Every pane appearance, ordered by link and then pane index.

clients :: Snapshot -> [Client] Source #

Captured attached clients in reported-name and PID order. Names may repeat.

Indexed navigation

data LookupError Source #

A reference that cannot resolve in the supplied immutable snapshot. + Missing entities are distinct from a successfully observed empty relation.

Constructors

ForeignGeneration

The reference belongs to another connection generation.

MissingSession !SessionRef

No session with this identity was captured.

MissingWindow !WindowRef

No physical window with this identity was captured.

MissingPane !PaneRef

No physical pane with this identity was captured.

Instances

Instances details
Eq LookupError Source # 
Instance details

Defined in LibTmux.Internal.Graph

Show LookupError Source # 
Instance details

Defined in LibTmux.Internal.Graph

lookupSession :: Snapshot -> SessionRef -> Either LookupError Session Source #

Resolve a session in this snapshot. Missing and foreign refs are errors.

lookupWindow :: Snapshot -> WindowRef -> Either LookupError Window Source #

Resolve the supplied generation's physical window in this snapshot.

lookupPane :: Snapshot -> PaneRef -> Either LookupError Pane Source #

Resolve the supplied generation's physical pane in this snapshot.

linksForSession :: Snapshot -> SessionRef -> Either LookupError [WindowLink] Source #

A session's window links in window-index order, preserving repeated windows.

panesForWindow :: Snapshot -> WindowRef -> Either LookupError [Pane] Source #

A physical window's panes in pane-index order, then numeric ID order.

lookupSessionId :: Snapshot -> SessionId -> Either LookupError Session Source #

Select the session currently observed under an ID in this snapshot. + This creates no continuity guarantee with a previously opened Server.

lookupWindowId :: Snapshot -> WindowId -> Either LookupError Window Source #

Select the physical window observed under an ID in this snapshot.

lookupPaneId :: Snapshot -> PaneId -> Either LookupError Pane Source #

Select the pane observed under an ID in this snapshot.

Lossless labels

data TmuxText Source #

A lossless reported label. Equality and ordering compare bytes. + String literals use UTF-8; byte constructors also admit non-text data. + Conversion functions are exposed in LibTmux.Snapshot.

Instances

Instances details
NFData TmuxText Source # 
Instance details

Defined in LibTmux.Internal.TmuxText

Methods

rnf :: TmuxText -> () #

Eq TmuxText Source # 
Instance details

Defined in LibTmux.Internal.TmuxText

Ord TmuxText Source # 
Instance details

Defined in LibTmux.Internal.TmuxText

IsString TmuxText Source # 
Instance details

Defined in LibTmux.Internal.TmuxText

Show TmuxText Source # 
Instance details

Defined in LibTmux.Internal.TmuxText

labelFromBytes :: ByteString -> TmuxText Source #

Copy bytes into an owned label. This performs no encoding replacement.

labelBytes :: TmuxText -> ByteString Source #

Exact bytes reported by tmux, after transport decoding.

labelText :: TmuxText -> Either UnicodeException Text Source #

Decode a label as UTF-8, retaining byte access on failure.

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-observations-native/LibTmux-Value.html b/packages/api-model/test/fixtures/haskell-observations-native/LibTmux-Value.html new file mode 100644 index 000000000..2ef57c688 --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-observations-native/LibTmux-Value.html @@ -0,0 +1,14 @@ +LibTmux.Value
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux.Value

Description

Positive dimensions and nonnegative contextual indices.

Construction and access are pure. Window-link indices and pane indices + have distinct types; neither substitutes for an entity ID. A constructor + checks the mathematical domain, while command-specific limits belong at + the operation boundary. Use mkDimension, mkWindowIndex and mkPaneIndex + to validate input; their accessors return mathematical integers. Entity + identifiers belong to LibTmux.Id.

>>> fmap dimensionValue (mkDimension 120)
+Right 120
+>>> mkDimension 0
+Left (NonPositiveDimension 0)
+

Checked types

data Dimension Source #

Positive cells, constructed with mkDimension. Command and field limits + are checked separately. Compare dimensions directly or use dimensionValue + with an integer literal.

Instances

Instances details
NFData Dimension Source # 
Instance details

Defined in LibTmux.Value

Methods

rnf :: Dimension -> () #

Eq Dimension Source # 
Instance details

Defined in LibTmux.Value

Ord Dimension Source # 
Instance details

Defined in LibTmux.Value

Show Dimension Source # 
Instance details

Defined in LibTmux.Value

data WindowIndex Source #

Nonnegative index of a window link within a session, not a physical window ID. + Construct with mkWindowIndex; read with windowIndexValue.

Instances

Instances details
NFData WindowIndex Source # 
Instance details

Defined in LibTmux.Value

Methods

rnf :: WindowIndex -> () #

Eq WindowIndex Source # 
Instance details

Defined in LibTmux.Value

Ord WindowIndex Source # 
Instance details

Defined in LibTmux.Value

Show WindowIndex Source # 
Instance details

Defined in LibTmux.Value

data PaneIndex Source #

Nonnegative pane index within a window, not a pane ID. + Construct with mkPaneIndex; read with paneIndexValue.

Instances

Instances details
NFData PaneIndex Source # 
Instance details

Defined in LibTmux.Value

Methods

rnf :: PaneIndex -> () #

Eq PaneIndex Source # 
Instance details

Defined in LibTmux.Value

Ord PaneIndex Source # 
Instance details

Defined in LibTmux.Value

Show PaneIndex Source # 
Instance details

Defined in LibTmux.Value

Validate input

data ValueError Source #

A scalar outside its mathematical domain.

Constructors

NonPositiveDimension !Integer

The supplied dimension was zero or negative.

NegativeIndex !Integer

The supplied contextual index was negative.

Instances

Instances details
Eq ValueError Source # 
Instance details

Defined in LibTmux.Value

Show ValueError Source # 
Instance details

Defined in LibTmux.Value

mkDimension :: Integer -> Either ValueError Dimension Source #

Construct a positive dimension without applying a command-specific maximum.

mkWindowIndex :: Integer -> Either ValueError WindowIndex Source #

Construct a nonnegative window-link index.

mkPaneIndex :: Integer -> Either ValueError PaneIndex Source #

Construct a nonnegative pane index.

Read numeric values

dimensionValue :: Dimension -> Integer Source #

Read a dimension as a mathematical integer, without narrowing conversion.

windowIndexValue :: WindowIndex -> Integer Source #

Read a window-link index as a mathematical integer.

paneIndexValue :: PaneIndex -> Integer Source #

Read a pane index as a mathematical integer.

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-observations-native/LibTmux-Version.html b/packages/api-model/test/fixtures/haskell-observations-native/LibTmux-Version.html new file mode 100644 index 000000000..95c5d96ac --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-observations-native/LibTmux-Version.html @@ -0,0 +1,12 @@ +LibTmux.Version
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux.Version

Description

Parse stable tmux releases and check the supported release range.

These functions consume supplied text. They neither execute tmux -V + nor contact a server. Admission checks the inclusive 3.3a through 3.8 range; + individual features still need capability and conformance checks.

Use parseVersion for input, requireSupported for supported-range + admission and renderVersion for canonical output.

>>> :set -XOverloadedStrings
+>>> fmap renderVersion (parseVersion "tmux 3.3a\n" >>= requireSupported)
+Right "3.3a"
+

Release identity and errors

data TmuxVersion Source #

A stable release, constructed by parseVersion and rendered by + renderVersion. Ordering compares numeric components before the patch letter.

data VersionError Source #

Invalid release syntax or a release outside the supported range.

Constructors

MalformedVersion !Text

Bounded copy of input that is not a stable release.

UnsupportedVersion !TmuxVersion

A stable release outside 3.3a through 3.8.

Instances

Instances details
Eq VersionError Source # 
Instance details

Defined in LibTmux.Version

Show VersionError Source # 
Instance details

Defined in LibTmux.Version

Parse and render

parseVersion :: Text -> Either VersionError TmuxVersion Source #

Parse a stable release or the output of tmux -V, allowing one final LF. + Development builds and trailing data are rejected rather than assigned + capabilities from a guessed stable version. Diagnostics retain at most 64 chars.

renderVersion :: TmuxVersion -> Text Source #

Render the canonical release without the executable name or newline.

Admit a release

requireSupported :: TmuxVersion -> Either VersionError TmuxVersion Source #

Admit every stable release from 3.3a through 3.8, including intermediate + releases. Versions outside that range fail. Individual features need their own + capability checks; passing this check does not qualify an entire release.

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-observations-native/LibTmux.html b/packages/api-model/test/fixtures/haskell-observations-native/LibTmux.html new file mode 100644 index 000000000..1b8c183bb --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-observations-native/LibTmux.html @@ -0,0 +1,4 @@ +LibTmux
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux

Description

Capture tmux state in IO and process detached observations with ordinary + Haskell collections. Start with withServer and capture; navigation and + field access from LibTmux.Snapshot perform no external operations.

LibTmux.Server documents ownership and failure recovery. Typed IDs, + checked dimensions and supported releases have their own pure modules.

Documentation

module LibTmux.Id

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-observations-native/README.md b/packages/api-model/test/fixtures/haskell-observations-native/README.md new file mode 100644 index 000000000..f64d9088a --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-observations-native/README.md @@ -0,0 +1,25 @@ +# Native observation interface fixture + +These public Haddock pages and the installed interface describe +`libtmux-haskell` at +[`b9960257139c630985fced6d14ac59ba6870df02`](https://github.com/libtmux/libtmux-haskell/commit/b9960257139c630985fced6d14ac59ba6870df02). +An isolated Git archive was built with GHC 9.14.1, GHC2024, Cabal 3.18.2.0 +and Haddock 2.33.0. `provenance.json` records input identities and hashes. +The HTML files retain the native bytes. `installed.json` stores the native +JSON interface with indentation while preserving every parsed value. + +The source-anchor index retains native identifiers and line markers, with +duplicates intact. It covers the public modules and the private files that +define reexported public types; it contains no implementation text. Every +consumed source page was compared with its corresponding archived source +bytes after removing generated annotation tooltips. + +The fixture tests the observation profile separately from the scalar v1 +fixture. Shared field identities include their record owner; native labels, +signatures and destinations remain unchanged. Module reexports remain +ordered references rather than copies of the target declarations. + +`artifact.json` is the source-bound `libtmux.haskell-api/2` export with the +`observations/1` profile. Its provenance records the committed producer +separately from the library, plus every consumed source and native input. +The scalar v1 artifact remains in the sibling `haskell-native` fixture. diff --git a/packages/api-model/test/fixtures/haskell-observations-native/artifact.json b/packages/api-model/test/fixtures/haskell-observations-native/artifact.json new file mode 100644 index 000000000..cd8a45adb --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-observations-native/artifact.json @@ -0,0 +1,14404 @@ +{ + "compiler": "9.14.1", + "component": "lib:libtmux-haskell", + "haddock": "2.33.0", + "modules": [ + { + "groups": [], + "name": "LibTmux", + "reexports": [ + { + "href": "LibTmux-Server.html", + "module": "LibTmux.Server" + }, + { + "href": "LibTmux-Snapshot.html", + "module": "LibTmux.Snapshot" + }, + { + "href": "LibTmux-Id.html", + "module": "LibTmux.Id" + }, + { + "href": "LibTmux-Value.html", + "module": "LibTmux.Value" + }, + { + "href": "LibTmux-Version.html", + "module": "LibTmux.Version" + } + ] + }, + { + "groups": [ + { + "members": [ + "LibTmux.Id#t:SessionId", + "LibTmux.Id#t:WindowId", + "LibTmux.Id#t:PaneId" + ], + "title": "Entity identities" + }, + { + "members": [ + "LibTmux.Id#t:IdError", + "LibTmux.Id#v:parseSessionId", + "LibTmux.Id#v:parseWindowId", + "LibTmux.Id#v:parsePaneId" + ], + "title": "Parse external values" + }, + { + "members": [ + "LibTmux.Id#v:renderSessionId", + "LibTmux.Id#v:renderWindowId", + "LibTmux.Id#v:renderPaneId" + ], + "title": "Render target text" + }, + { + "members": [ + "LibTmux.Id#v:sessionIdValue", + "LibTmux.Id#v:windowIdValue", + "LibTmux.Id#v:paneIdValue" + ], + "title": "Read numeric values" + } + ], + "name": "LibTmux.Id", + "reexports": [] + }, + { + "groups": [ + { + "members": [ + "LibTmux.Server#t:Server", + "LibTmux.Server#t:ServerConfig", + "LibTmux.Server#v:serverConfig", + "LibTmux.Server#v:withServer", + "LibTmux.Server#v:capture", + "LibTmux.Server#v:serverGeneration" + ], + "title": "Open and observe" + }, + { + "members": [ + "LibTmux.Server#t:Runtime", + "LibTmux.Server#v:withRuntime", + "LibTmux.Server#v:withServerIn" + ], + "title": "Shared ownership" + }, + { + "members": [ + "LibTmux.Server#t:TmuxException", + "LibTmux.Server#v:tryTmux" + ], + "title": "Operational failures" + }, + { + "members": [ + "LibTmux.Server#t:CleanupRecovery", + "LibTmux.Server#t:CleanupStatus", + "LibTmux.Server#v:cleanupRecoveries", + "LibTmux.Server#v:cleanupFailure", + "LibTmux.Server#v:cleanupObservation", + "LibTmux.Server#v:inspectCleanup", + "LibTmux.Server#v:resumeCleanup", + "LibTmux.Server#v:awaitCleanup", + "LibTmux.Server#v:detachUnresolved" + ], + "title": "Scope cleanup" + }, + { + "members": [ + "LibTmux.Server#t:CaptureRecovery", + "LibTmux.Server#v:captureRecoveries", + "LibTmux.Server#v:recoveryOperation", + "LibTmux.Server#v:recoveryGeneration", + "LibTmux.Server#t:ReadRecovery", + "LibTmux.Server#v:inspectCaptureRecovery", + "LibTmux.Server#v:resumeCaptureRecovery", + "LibTmux.Server#v:detachCaptureRecovery", + "LibTmux.Server#t:Operation", + "LibTmux.Server#t:Status", + "LibTmux.Server#t:Stage", + "LibTmux.Server#t:Outcome", + "LibTmux.Server#v:operationStatus" + ], + "title": "Correlated capture recovery" + } + ], + "name": "LibTmux.Server", + "reexports": [] + }, + { + "groups": [ + { + "members": [ + "LibTmux.Snapshot#t:Snapshot", + "LibTmux.Snapshot#t:ServerInfo", + "LibTmux.Snapshot#t:SnapshotOrigin", + "LibTmux.Snapshot#v:snapshotOrigin", + "LibTmux.Snapshot#v:serverInfo", + "LibTmux.Snapshot#v:captureInterval", + "LibTmux.Snapshot#t:CaptureInterval" + ], + "title": "Complete observations" + }, + { + "members": [ + "LibTmux.Snapshot#t:Session", + "LibTmux.Snapshot#t:Window", + "LibTmux.Snapshot#t:Pane", + "LibTmux.Snapshot#t:WindowLink", + "LibTmux.Snapshot#t:PaneOccurrence", + "LibTmux.Snapshot#t:Client", + "LibTmux.Snapshot#t:ClientAttachment" + ], + "title": "Physical and contextual values" + }, + { + "members": [ + "LibTmux.Snapshot#t:Generation", + "LibTmux.Snapshot#t:SessionRef", + "LibTmux.Snapshot#t:WindowRef", + "LibTmux.Snapshot#t:PaneRef", + "LibTmux.Snapshot#v:sessionId", + "LibTmux.Snapshot#v:windowId", + "LibTmux.Snapshot#v:paneId" + ], + "title": "Target identity" + }, + { + "members": [ + "LibTmux.Snapshot#v:sessions", + "LibTmux.Snapshot#v:windows", + "LibTmux.Snapshot#v:panes", + "LibTmux.Snapshot#v:windowLinks", + "LibTmux.Snapshot#v:paneOccurrences", + "LibTmux.Snapshot#v:clients" + ], + "title": "Ordered sources" + }, + { + "members": [ + "LibTmux.Snapshot#t:LookupError", + "LibTmux.Snapshot#v:lookupSession", + "LibTmux.Snapshot#v:lookupWindow", + "LibTmux.Snapshot#v:lookupPane", + "LibTmux.Snapshot#v:linksForSession", + "LibTmux.Snapshot#v:panesForWindow", + "LibTmux.Snapshot#v:lookupSessionId", + "LibTmux.Snapshot#v:lookupWindowId", + "LibTmux.Snapshot#v:lookupPaneId" + ], + "title": "Indexed navigation" + }, + { + "members": [ + "LibTmux.Snapshot#t:TmuxText", + "LibTmux.Snapshot#v:labelFromBytes", + "LibTmux.Snapshot#v:labelBytes", + "LibTmux.Snapshot#v:labelText" + ], + "title": "Lossless labels" + } + ], + "name": "LibTmux.Snapshot", + "reexports": [] + }, + { + "groups": [ + { + "members": [ + "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "LibTmux.Snapshot.Fixture#v:fixtureOrigin", + "LibTmux.Snapshot.Fixture#v:fixtureGeneration", + "LibTmux.Snapshot.Fixture#v:sessionRef", + "LibTmux.Snapshot.Fixture#v:windowRef", + "LibTmux.Snapshot.Fixture#v:paneRef" + ], + "title": "Offline identity" + }, + { + "members": [ + "LibTmux.Snapshot.Fixture#t:Fixture", + "LibTmux.Snapshot.Fixture#t:AttachedClient", + "LibTmux.Snapshot.Fixture#v:emptyFixture" + ], + "title": "Complete fixture inputs" + }, + { + "members": [ + "LibTmux.Snapshot.Fixture#t:FixtureError", + "LibTmux.Snapshot.Fixture#v:validateFixture" + ], + "title": "Validation" + } + ], + "name": "LibTmux.Snapshot.Fixture", + "reexports": [] + }, + { + "groups": [ + { + "members": [ + "LibTmux.Value#t:Dimension", + "LibTmux.Value#t:WindowIndex", + "LibTmux.Value#t:PaneIndex" + ], + "title": "Checked types" + }, + { + "members": [ + "LibTmux.Value#t:ValueError", + "LibTmux.Value#v:mkDimension", + "LibTmux.Value#v:mkWindowIndex", + "LibTmux.Value#v:mkPaneIndex" + ], + "title": "Validate input" + }, + { + "members": [ + "LibTmux.Value#v:dimensionValue", + "LibTmux.Value#v:windowIndexValue", + "LibTmux.Value#v:paneIndexValue" + ], + "title": "Read numeric values" + } + ], + "name": "LibTmux.Value", + "reexports": [] + }, + { + "groups": [ + { + "members": [ + "LibTmux.Version#t:TmuxVersion", + "LibTmux.Version#t:VersionError" + ], + "title": "Release identity and errors" + }, + { + "members": [ + "LibTmux.Version#v:parseVersion", + "LibTmux.Version#v:renderVersion" + ], + "title": "Parse and render" + }, + { + "members": [ + "LibTmux.Version#v:requireSupported" + ], + "title": "Admit a release" + } + ], + "name": "LibTmux.Version", + "reexports": [] + } + ], + "nativeProvenance": { + "exporter": { + "build": { + "cabal": "3.18.2.0", + "compiler": "ghc-9.14.1", + "platform": "x86_64-linux", + "unit": "libtmux-haskell-0.1.0.0-inplace" + }, + "interfaceStream": "stderr", + "name": "Haddock public interface export", + "nativeArtifacts": [ + { + "path": "LibTmux-Id.html", + "sha256": "cf7102eba62a0e9b02e7ea7acefb85d1822a4d192a1fceb680246ed42bd10d45" + }, + { + "path": "LibTmux-Server.html", + "sha256": "dffb9e9de1f8b804cc58a4073ff528466a27a00f64acc42e77e971d31e4252df" + }, + { + "path": "LibTmux-Snapshot-Fixture.html", + "sha256": "9d0939a019c99f33119619f0c424a87fea6e87abbd0a8ade758d78e05ae53a7c" + }, + { + "path": "LibTmux-Snapshot.html", + "sha256": "0647d8b3cf241416148d4424f59d06a9d3055e0b5ed748c1b5d927c3627799e7" + }, + { + "path": "LibTmux-Value.html", + "sha256": "4160151534c27a8c787c9ab36fa6dcbf740fc193a7a3553935172be72111ff1d" + }, + { + "path": "LibTmux-Version.html", + "sha256": "3461a42be3733565d16ab18cf3b729e41eab6ef20e87c90b2ca10fa993999510" + }, + { + "path": "LibTmux.html", + "sha256": "50286b083988017f17f4f642f3e9a449ebd7b0d1c40e8901d608162d8a2a9874" + }, + { + "path": "interface.haddock", + "sha256": "c585e474bb23d35720f887c8f8e8e998e07497aed41df60c0099bbac346c563b" + }, + { + "path": "interface.json", + "sha256": "b772b4f12af6dca8c43cbd285e073590d678377b009d163e506ac88d7eed1d6c" + }, + { + "path": "src/LibTmux.Id.html", + "sha256": "8c4b6c3dcd593c8c9055f5404b0310e44187c04d4f0645896f922fdf1325b640" + }, + { + "path": "src/LibTmux.Internal.Capture.html", + "sha256": "06aa6e87ddfc559b5d27217da2f0093894e5a09af58d02bd6eaf1f1bb7a0394f" + }, + { + "path": "src/LibTmux.Internal.Graph.html", + "sha256": "a220110c58d96b54e573cbc8e947b5d968f89ff687a663af559f8632acf639d9" + }, + { + "path": "src/LibTmux.Internal.Runtime.html", + "sha256": "01493bc4966ab1430cc19ad682df7f5c65d29244591b3882aabde67798be494b" + }, + { + "path": "src/LibTmux.Internal.Scheduler.html", + "sha256": "bd46798c81b0157ac7b5c05b19b29618af2ffe474b4e72c0f94d103c42a66706" + }, + { + "path": "src/LibTmux.Internal.Scope.html", + "sha256": "01bca35dc542d6ab745c54299cab165b51616b34060d8269bc3b76d5afbc70ee" + }, + { + "path": "src/LibTmux.Internal.TmuxText.html", + "sha256": "d5fc335aa27441f073c6de0ec0a9e1f42f2077849eb6b32133e456e74da6fbb9" + }, + { + "path": "src/LibTmux.Server.html", + "sha256": "8dbd1e548d73f3f5b7b3dd9a86fcc288be41cf7adb5e6e750e5b78defd81a735" + }, + { + "path": "src/LibTmux.Snapshot.Fixture.html", + "sha256": "910237c3c400a82ba364e6acb39cf19bae5d3e924d2ae3f029db4502c63d6e31" + }, + { + "path": "src/LibTmux.Snapshot.html", + "sha256": "67585c9e512ff7db82ebc177828d836850fe7174d0cabcdff89461077704c53b" + }, + { + "path": "src/LibTmux.Value.html", + "sha256": "3fe10fda74459b53b0a70eb88070de9f2286c11d2709d82982174abb1be1046c" + }, + { + "path": "src/LibTmux.Version.html", + "sha256": "8a150a947c7859a749983557f6934ad1b25acb24b1494428be0c248de088a9e8" + }, + { + "path": "src/LibTmux.html", + "sha256": "7c82c1c31de769d9c23f6f81fcd3f6fac6c855d1afe0ec382e224e1bba482704" + } + ], + "path": "packages/api-model/scripts/export-haskell.py", + "repository": "libtmux/docs", + "revision": "d3b092d1a704eac029d3191a261e57fe10f00d8c", + "sha256": "0079c973d4584659df1d05eb6a9c453905c685ca8a05be9aa70d5021f7758aa6", + "version": 2 + }, + "files": [ + { + "path": ".tool-versions", + "sha256": "13c8a19b336b86a161f4d5ea74347960e884e2c0887d399fe752d84eecfd35e7" + }, + { + "path": "cabal.project", + "sha256": "54c2c3398926d9c54f77321f313a5d21462ac17bf9c50300951eee4c4f973493" + }, + { + "path": "libtmux-haskell.cabal", + "sha256": "12ab43213290d89c15d694f3735d312f6dfe75904ee7f1d42c0783e7dac1cdbc" + }, + { + "path": "src/LibTmux.hs", + "sha256": "d9dcb17fc4f7a7aecda31b48f2eb2286ee9637e4c85d997716431a882f5a1529" + }, + { + "path": "src/LibTmux/Id.hs", + "sha256": "3456edf88bf412e8769e5c96cc5d35b7b118ea3bd3786f167c9002f9804fb3b7" + }, + { + "path": "src/LibTmux/Server.hs", + "sha256": "bb22fe587ecbc6c41b4be65d5c41fc9cf3dc6134e1cbbd840aa3b2fc05e05a24" + }, + { + "path": "src/LibTmux/Snapshot.hs", + "sha256": "cddfee4e757f1dd4b35ee9f099fa796c86213ea7ff50a4727ddf198d26aaa2a1" + }, + { + "path": "src/LibTmux/Snapshot/Fixture.hs", + "sha256": "b1b53369587d2ea963a97ba2b34ce963233130c4e47581292510613e7819a919" + }, + { + "path": "src/LibTmux/Value.hs", + "sha256": "e199c3d0bbf08a159daa35bb4ae9a5d2ad4761117d375f292dd8b250bb459e55" + }, + { + "path": "src/LibTmux/Version.hs", + "sha256": "cf4e4d94a113a95ffb7b650cffbd0b4f702608627db84b7c7bf7630b83e4dfa7" + }, + { + "path": "internal/LibTmux/Internal/Capture.hs", + "sha256": "2d64c8e56a6abfa704ab0644bebc3590f5a1bd0cf5a952571be65ebc6d9aec5a" + }, + { + "path": "internal/LibTmux/Internal/Graph.hs", + "sha256": "1f0097798f1cfa5e1837006fcfb1c33ba1b089c8e9ea1aa2e503382ad1eae14f" + }, + { + "path": "internal/LibTmux/Internal/Runtime.hs", + "sha256": "f0d28b32a5ebf5271bc20cf3fa7f76c5ff051da15978acfcc9f7347442ff6565" + }, + { + "path": "internal/LibTmux/Internal/Scheduler.hs", + "sha256": "d97dd8c431a84c41ab947baac096e757cf498ebb0747b0e311fa7a73eee927b1" + }, + { + "path": "internal/LibTmux/Internal/Scope.hs", + "sha256": "82ca0084d522d2b704a2b5ecde0a2ab05ca209f0ecb42976d65f637b596c3208" + }, + { + "path": "internal/LibTmux/Internal/TmuxText.hs", + "sha256": "766344310c5151417ab8fadc36d3a8940c051dde9fa7a2ac379dead984afacba" + } + ] + }, + "package": { + "exposedModules": [ + "LibTmux", + "LibTmux.Id", + "LibTmux.Server", + "LibTmux.Snapshot", + "LibTmux.Snapshot.Fixture", + "LibTmux.Value", + "LibTmux.Version" + ], + "name": "libtmux-haskell", + "version": "0.1.0.0" + }, + "port": "haskell", + "profile": "observations/1", + "repo": "libtmux/libtmux-haskell", + "revision": "b9960257139c630985fced6d14ac59ba6870df02", + "schema": "libtmux.haskell-api/2", + "symbols": [ + { + "apiScope": "exported", + "definingModule": "LibTmux", + "doc": { + "body": ":obj:`LibTmux.Server ` documents ownership and failure recovery. Typed IDs,\n checked dimensions and supported releases have their own pure modules.", + "summary": "Capture tmux state in IO and process detached observations with ordinary\n Haskell collections. Start with :obj:`withServer ` and :obj:`capture `; navigation and\n field access from :obj:`LibTmux.Snapshot ` perform no external operations." + }, + "id": "LibTmux", + "kind": "module", + "modifiers": [], + "name": "LibTmux", + "nativeLocation": { + "module": "LibTmux" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "body": "Parsing and rendering are pure. An ID carries no endpoint, server lifetime\n or liveness evidence. Render an ID for external text; use its numeric\n accessor when an application needs the mathematical value.\n\nStart with :obj:`parseSessionId `, :obj:`parseWindowId ` or :obj:`parsePaneId `. Each type's\n documentation links its parser and renderer. Contextual numeric indices\n belong to :obj:`LibTmux.Value `.\n\n\n\n```haskell\n>>> :set -XOverloadedStrings\n>>> fmap renderWindowId (parseWindowId \"@17\")\nRight \"@17\"\n>>> either (const \"rejected\") renderPaneId (parsePaneId \"@17\")\n\"rejected\"\n```", + "summary": "Distinct session, physical-window and physical-pane IDs." + }, + "id": "LibTmux.Id", + "kind": "module", + "modifiers": [], + "name": "LibTmux.Id", + "nativeLocation": { + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux/Id.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "body": "A :obj:`Server ` represents one adoption of one endpoint. :obj:`withServer ` owns its\n socket pin, native command clients and cleanup workers. Closing this scope\n releases those resources; it does not send `kill-server`. The tmux noun\n `Client` refers to detached observations in :obj:`LibTmux.Snapshot `.\n :obj:`withRuntime ` and :obj:`withServerIn ` give several handles shared resource limits\n and independent Server scopes.\n\n:obj:`capture ` returns fully decoded, validated values. Field access and graph\n navigation are pure. Captures use an observation interval, not an atomic\n transaction over tmux and operating-system state.\n\nOperational failures use :obj:`TmuxException `. :obj:`tryTmux ` catches that type only.\n Cancellation retains its original exception class. If bounded cleanup\n cannot finish, :obj:`cleanupRecoveries ` retrieves the owning recovery scope\n from the exception context. A failed callback remains the primary failure.", + "summary": "Observe an existing tmux daemon through an owned Server handle." + }, + "id": "LibTmux.Server", + "kind": "module", + "modifiers": [], + "name": "LibTmux.Server", + "nativeLocation": { + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux/Server.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "body": ":obj:`LibTmux.Server ` acquires a :obj:`Snapshot ` in IO. Every operation in this\n module reads owned Haskell values, including after the Server closes.\n Use ordinary lists, comprehensions and folds for application predicates.\n\n:obj:`Window ` and :obj:`Pane ` are physical entities. A :obj:`WindowLink ` identifies an\n observed session*index*window binding; :obj:`PaneOccurrence ` retains that\n context. :obj:`paneOccurrences ` therefore preserves repeated appearances while\n :obj:`panes ` lists each physical pane once.\n\nReferences compare identity within one Server generation. A lookup reads\n the supplied snapshot, including a newer snapshot from that same Server.\n Independent Server scopes have different generations. Resolve an ID again\n with :obj:`lookupPaneId ` when deliberately selecting a newly observed entity.\n\nObservation fields are exported for record dot and local updates. Editing\n a record does not change a snapshot's indexes or establish provenance.\n :obj:`LibTmux.Snapshot.Fixture ` constructs validated offline snapshots;\n :obj:`snapshotOrigin ` distinguishes them from observations acquired through IO.", + "summary": "Detached tmux observations and pure navigation." + }, + "id": "LibTmux.Snapshot", + "kind": "module", + "modifiers": [], + "name": "LibTmux.Snapshot", + "nativeLocation": { + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "body": "No operation in this module contacts tmux. Named fixture references can\n model successive observations; they never equal a live Server generation.\n Snapshot and live-reference constructors remain hidden.\n Validation checks graph and metadata laws; wire decoding, tmux normalization\n and transport limits belong to acquisition rather than fixture construction.\n\nStart with :obj:`fixtureOrigin ` and :obj:`emptyFixture `, construct ordinary observation\n records using this module's reference builders, then call :obj:`validateFixture `.", + "summary": "Build validated detached snapshots for pure application tests." + }, + "id": "LibTmux.Snapshot.Fixture", + "kind": "module", + "modifiers": [], + "name": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "body": "Construction and access are pure. Window-link indices and pane indices\n have distinct types; neither substitutes for an entity ID. A constructor\n checks the mathematical domain, while command-specific limits belong at\n the operation boundary. Use :obj:`mkDimension `, :obj:`mkWindowIndex ` and :obj:`mkPaneIndex `\n to validate input; their accessors return mathematical integers. Entity\n identifiers belong to :obj:`LibTmux.Id `.\n\n\n\n```haskell\n>>> fmap dimensionValue (mkDimension 120)\nRight 120\n>>> mkDimension 0\nLeft (NonPositiveDimension 0)\n```", + "summary": "Positive dimensions and nonnegative contextual indices." + }, + "id": "LibTmux.Value", + "kind": "module", + "modifiers": [], + "name": "LibTmux.Value", + "nativeLocation": { + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux/Value.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Version", + "doc": { + "body": "These functions consume supplied text. They neither execute `tmux -V`\n nor contact a server. Admission checks the inclusive 3.3a through 3.8 range;\n individual features still need capability and conformance checks.\n\nUse :obj:`parseVersion ` for input, :obj:`requireSupported ` for supported-range\n admission and :obj:`renderVersion ` for canonical output.\n\n\n\n```haskell\n>>> :set -XOverloadedStrings\n>>> fmap renderVersion (parseVersion \"tmux 3.3a\\n\" >>= requireSupported)\nRight \"3.3a\"\n```", + "summary": "Parse stable tmux releases and check the supported release range." + }, + "id": "LibTmux.Version", + "kind": "module", + "modifiers": [], + "name": "LibTmux.Version", + "nativeLocation": { + "module": "LibTmux.Version" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux/Version.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "A session's unsigned 32-bit tmux identifier, written with a `$` prefix.\n Parse with :obj:`parseSessionId `; render with :obj:`renderSessionId `." + }, + "id": "LibTmux.Id#t:SessionId", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`SessionId `", + "raw": "instance NFData SessionId", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 47, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`SessionId `", + "raw": "instance Eq SessionId", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 46, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`SessionId `", + "raw": "instance Ord SessionId", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 46, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`SessionId `", + "raw": "instance Show SessionId", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 46, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "SessionId", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "t:SessionId", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#t:SessionId", + "qualifiedName": "LibTmux.Id.SessionId", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "SessionId" + } + ], + "params": [], + "raw": "data SessionId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 45, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "A physical window's identifier, independent of its session links.\n Parse with :obj:`parseWindowId `; render with :obj:`renderWindowId `." + }, + "id": "LibTmux.Id#t:WindowId", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`WindowId `", + "raw": "instance NFData WindowId", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 53, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`WindowId `", + "raw": "instance Eq WindowId", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 52, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`WindowId `", + "raw": "instance Ord WindowId", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 52, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`WindowId `", + "raw": "instance Show WindowId", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 52, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "WindowId", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "t:WindowId", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#t:WindowId", + "qualifiedName": "LibTmux.Id.WindowId", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "WindowId" + } + ], + "params": [], + "raw": "data WindowId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 51, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "A physical pane's identifier, written with a `%` prefix.\n Parse with :obj:`parsePaneId `; render with :obj:`renderPaneId `." + }, + "id": "LibTmux.Id#t:PaneId", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`PaneId `", + "raw": "instance NFData PaneId", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 59, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`PaneId `", + "raw": "instance Eq PaneId", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 58, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`PaneId `", + "raw": "instance Ord PaneId", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 58, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`PaneId `", + "raw": "instance Show PaneId", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 58, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "PaneId", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "t:PaneId", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#t:PaneId", + "qualifiedName": "LibTmux.Id.PaneId", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "PaneId" + } + ], + "params": [], + "raw": "data PaneId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 57, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Invalid canonical syntax, entity prefix or native unsigned range.\n Diagnostics retain at most 64 characters of input." + }, + "id": "LibTmux.Id#t:IdError", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`IdError `", + "raw": "instance Eq IdError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Id.html#t:IdError", + "target": "LibTmux.Id#t:IdError", + "text": "IdError" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 67, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`IdError `", + "raw": "instance Show IdError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Id.html#t:IdError", + "target": "LibTmux.Id#t:IdError", + "text": "IdError" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 67, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "IdError", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "t:IdError", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#t:IdError", + "qualifiedName": "LibTmux.Id.IdError", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "IdError" + } + ], + "params": [], + "raw": "data IdError" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 63, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": null, + "id": "LibTmux.Id#v:InvalidId", + "kind": "function", + "modifiers": [], + "name": "InvalidId", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:InvalidId", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id#t:IdError", + "product": "core", + "publicId": "LibTmux.Id#v:InvalidId", + "qualifiedName": "LibTmux.Id.InvalidId", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "InvalidId" + } + ], + "params": [], + "raw": "InvalidId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 63, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Required entity prefix." + }, + "id": "LibTmux.Id#v:IdError.expectedPrefix", + "kind": "property", + "modifiers": [], + "name": "expectedPrefix", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:expectedPrefix", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id#t:IdError", + "product": "core", + "publicId": "LibTmux.Id#v:IdError.expectedPrefix", + "qualifiedName": "LibTmux.Id.expectedPrefix", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "expectedPrefix" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Char.html#t:Char", + "text": "Char" + } + ], + "params": [], + "raw": "expectedPrefix :: !Char" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 64, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Bounded copy of the invalid input." + }, + "id": "LibTmux.Id#v:IdError.input", + "kind": "property", + "modifiers": [], + "name": "input", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:input", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id#t:IdError", + "product": "core", + "publicId": "LibTmux.Id#v:IdError.input", + "qualifiedName": "LibTmux.Id.input", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "input" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "input :: !Text" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 65, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Parse `$0` through `$4294967295`. No whitespace or leading zeroes." + }, + "id": "LibTmux.Id#v:parseSessionId", + "kind": "function", + "modifiers": [], + "name": "parseSessionId", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:parseSessionId", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#v:parseSessionId", + "qualifiedName": "LibTmux.Id.parseSessionId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "parseSessionId" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Id.html#t:IdError", + "target": "LibTmux.Id#t:IdError", + "text": "IdError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + } + ], + "params": [], + "raw": "parseSessionId :: Text -> Either IdError SessionId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 71, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Parse a canonical `@number` identifying a physical window." + }, + "id": "LibTmux.Id#v:parseWindowId", + "kind": "function", + "modifiers": [], + "name": "parseWindowId", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:parseWindowId", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#v:parseWindowId", + "qualifiedName": "LibTmux.Id.parseWindowId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "parseWindowId" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Id.html#t:IdError", + "target": "LibTmux.Id#t:IdError", + "text": "IdError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + } + ], + "params": [], + "raw": "parseWindowId :: Text -> Either IdError WindowId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 75, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Parse a canonical `%number` identifying a physical pane." + }, + "id": "LibTmux.Id#v:parsePaneId", + "kind": "function", + "modifiers": [], + "name": "parsePaneId", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:parsePaneId", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#v:parsePaneId", + "qualifiedName": "LibTmux.Id.parsePaneId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "parsePaneId" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Id.html#t:IdError", + "target": "LibTmux.Id#t:IdError", + "text": "IdError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + } + ], + "params": [], + "raw": "parsePaneId :: Text -> Either IdError PaneId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 79, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Render the session prefix and decimal ID." + }, + "id": "LibTmux.Id#v:renderSessionId", + "kind": "function", + "modifiers": [], + "name": "renderSessionId", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:renderSessionId", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#v:renderSessionId", + "qualifiedName": "LibTmux.Id.renderSessionId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "renderSessionId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "renderSessionId :: SessionId -> Text" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 83, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Render the physical window prefix and decimal ID." + }, + "id": "LibTmux.Id#v:renderWindowId", + "kind": "function", + "modifiers": [], + "name": "renderWindowId", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:renderWindowId", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#v:renderWindowId", + "qualifiedName": "LibTmux.Id.renderWindowId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "renderWindowId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "renderWindowId :: WindowId -> Text" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 87, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Render the physical pane prefix and decimal ID." + }, + "id": "LibTmux.Id#v:renderPaneId", + "kind": "function", + "modifiers": [], + "name": "renderPaneId", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:renderPaneId", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#v:renderPaneId", + "qualifiedName": "LibTmux.Id.renderPaneId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "renderPaneId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "renderPaneId :: PaneId -> Text" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 91, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Read the numeric session ID without narrowing conversion." + }, + "id": "LibTmux.Id#v:sessionIdValue", + "kind": "function", + "modifiers": [], + "name": "sessionIdValue", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:sessionIdValue", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#v:sessionIdValue", + "qualifiedName": "LibTmux.Id.sessionIdValue", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "sessionIdValue" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "sessionIdValue :: SessionId -> Integer" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 95, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Read the numeric physical window ID." + }, + "id": "LibTmux.Id#v:windowIdValue", + "kind": "function", + "modifiers": [], + "name": "windowIdValue", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:windowIdValue", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#v:windowIdValue", + "qualifiedName": "LibTmux.Id.windowIdValue", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windowIdValue" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "windowIdValue :: WindowId -> Integer" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 99, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Read the numeric physical pane ID." + }, + "id": "LibTmux.Id#v:paneIdValue", + "kind": "function", + "modifiers": [], + "name": "paneIdValue", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:paneIdValue", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#v:paneIdValue", + "qualifiedName": "LibTmux.Id.paneIdValue", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "paneIdValue" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "paneIdValue :: PaneId -> Integer" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 103, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "One pinned endpoint and connection generation. The constructor is hidden.\n Retaining this value after :obj:`withServer ` or :obj:`withServerIn ` keeps no admission open." + }, + "id": "LibTmux.Server#t:Server", + "instances": [], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "Server", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:Server", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:Server", + "qualifiedName": "LibTmux.Server.Server", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Server" + } + ], + "params": [], + "raw": "data Server" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 74, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Pure configuration, checked when :obj:`withServer ` or :obj:`withServerIn ` opens the handle.\n Paths retain POSIX bytes; no text decoding or shell interpretation occurs." + }, + "id": "LibTmux.Server#t:ServerConfig", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`ServerConfig `", + "raw": "instance Eq ServerConfig", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Server.html#t:ServerConfig", + "target": "LibTmux.Server#t:ServerConfig", + "text": "ServerConfig" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 125, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`ServerConfig `", + "raw": "instance Show ServerConfig", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Server.html#t:ServerConfig", + "target": "LibTmux.Server#t:ServerConfig", + "text": "ServerConfig" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 125, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "ServerConfig", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:ServerConfig", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:ServerConfig", + "qualifiedName": "LibTmux.Server.ServerConfig", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "ServerConfig" + } + ], + "params": [], + "raw": "data ServerConfig" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 119, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": null, + "id": "LibTmux.Server#v:ServerConfig", + "kind": "function", + "modifiers": [], + "name": "ServerConfig", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:ServerConfig", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:ServerConfig", + "product": "core", + "publicId": "LibTmux.Server#v:ServerConfig", + "qualifiedName": "LibTmux.Server.ServerConfig", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "ServerConfig" + } + ], + "params": [], + "raw": "ServerConfig" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 119, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Existing tmux socket, with an absolute trusted path." + }, + "id": "LibTmux.Server#v:ServerConfig.socketPath", + "kind": "property", + "modifiers": [], + "name": "socketPath", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:socketPath", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:ServerConfig", + "product": "core", + "publicId": "LibTmux.Server#v:ServerConfig.socketPath", + "qualifiedName": "LibTmux.Server.socketPath", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "socketPath" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath", + "text": "PosixPath" + } + ], + "params": [], + "raw": "socketPath :: !PosixPath" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 120, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Executable path or a program resolved once through PATH." + }, + "id": "LibTmux.Server#v:ServerConfig.executable", + "kind": "property", + "modifiers": [], + "name": "executable", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:executable", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:ServerConfig", + "product": "core", + "publicId": "LibTmux.Server#v:ServerConfig.executable", + "qualifiedName": "LibTmux.Server.executable", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "executable" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath", + "text": "PosixPath" + } + ], + "params": [], + "raw": "executable :: !PosixPath" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 121, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Writable trusted directory on the socket's filesystem." + }, + "id": "LibTmux.Server#v:ServerConfig.pinDirectory", + "kind": "property", + "modifiers": [], + "name": "pinDirectory", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:pinDirectory", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:ServerConfig", + "product": "core", + "publicId": "LibTmux.Server#v:ServerConfig.pinDirectory", + "qualifiedName": "LibTmux.Server.pinDirectory", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "pinDirectory" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath", + "text": "PosixPath" + } + ], + "params": [], + "raw": "pinDirectory :: !PosixPath" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 122, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Capture deadline in seconds, greater than zero and at most ten." + }, + "id": "LibTmux.Server#v:ServerConfig.captureTimeout", + "kind": "property", + "modifiers": [], + "name": "captureTimeout", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:captureTimeout", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:ServerConfig", + "product": "core", + "publicId": "LibTmux.Server#v:ServerConfig.captureTimeout", + "qualifiedName": "LibTmux.Server.captureTimeout", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "captureTimeout" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/time-1.15/docs/Data-Time-Clock.html#t:NominalDiffTime", + "text": "NominalDiffTime" + } + ], + "params": [], + "raw": "captureTimeout :: !NominalDiffTime" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 123, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Configure an existing socket, resolving `tmux` through PATH when opened.\n The private pin uses the socket's parent directory. The capture timeout is\n two seconds; callers can change it before opening a Server scope." + }, + "id": "LibTmux.Server#v:serverConfig", + "kind": "function", + "modifiers": [], + "name": "serverConfig", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:serverConfig", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:serverConfig", + "qualifiedName": "LibTmux.Server.serverConfig", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "serverConfig" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath", + "text": "PosixPath" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Server.html#t:ServerConfig", + "target": "LibTmux.Server#t:ServerConfig", + "text": "ServerConfig" + } + ], + "params": [], + "raw": "serverConfig :: PosixPath -> ServerConfig" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 131, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Open one handle, run the callback, then perform bounded owned cleanup.\n Cleanup never replaces a callback exception. Incomplete cleanup raises\n :obj:`CleanupFailed ` after success, or annotates the original callback failure\n with a reachable :obj:`CleanupRecovery `. No daemon shutdown is requested." + }, + "id": "LibTmux.Server#v:withServer", + "kind": "function", + "modifiers": [], + "name": "withServer", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:withServer", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:withServer", + "qualifiedName": "LibTmux.Server.withServer", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "withServer" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:ServerConfig", + "target": "LibTmux.Server#t:ServerConfig", + "text": "ServerConfig" + }, + { + "text": " -> (" + }, + { + "href": "LibTmux-Server.html#t:Server", + "target": "LibTmux.Server#t:Server", + "text": "Server" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " a) -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " a" + } + ], + "params": [], + "raw": "withServer :: ServerConfig -> (Server -> IO a) -> IO a" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 138, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Acquire the complete baseline graph, metadata and attached clients.\n Returned values own their data and remain usable after :obj:`withServer ` exits.\n Capacity and acquisition failure are errors; they never become empty lists." + }, + "id": "LibTmux.Server#v:capture", + "kind": "function", + "modifiers": [], + "name": "capture", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:capture", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:capture", + "qualifiedName": "LibTmux.Server.capture", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "capture" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:Server", + "target": "LibTmux.Server#t:Server", + "text": "Server" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + } + ], + "params": [], + "raw": "capture :: Server -> IO Snapshot" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 157, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "The handle's opaque generation, available without contacting tmux." + }, + "id": "LibTmux.Server#v:serverGeneration", + "kind": "function", + "modifiers": [], + "name": "serverGeneration", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:serverGeneration", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:serverGeneration", + "qualifiedName": "LibTmux.Server.serverGeneration", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "serverGeneration" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:Server", + "target": "LibTmux.Server#t:Server", + "text": "Server" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:Generation", + "target": "LibTmux.Snapshot#t:Generation", + "text": "Generation" + } + ], + "params": [], + "raw": "serverGeneration :: Server -> Generation" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 167, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Shared resource limits and cleanup ownership for Server handles. Create\n one with :obj:`withRuntime `, then adopt endpoints through :obj:`withServerIn `.\n Detached :obj:`Snapshot ` values retain no Runtime." + }, + "id": "LibTmux.Server#t:Runtime", + "instances": [], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "Runtime", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:Runtime", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:Runtime", + "qualifiedName": "LibTmux.Server.Runtime", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Runtime" + } + ], + "params": [], + "raw": "data Runtime" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 79, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "body": "Callback failures and cancellation keep their original exception class.\n Incomplete cleanup retains a :obj:`CleanupRecovery ` in the exception context;\n use :obj:`tryTmux ` and :obj:`cleanupRecoveries ` to keep that responsibility reachable.", + "summary": "Own a Runtime for the callback and perform bounded cleanup afterward.\n Closing it retires every adopted handle; application-owned threads remain\n the application's responsibility. Late adoption fails with :obj:`RuntimeClosed `.\n The daemon remains running." + }, + "id": "LibTmux.Server#v:withRuntime", + "kind": "function", + "modifiers": [], + "name": "withRuntime", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:withRuntime", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:withRuntime", + "qualifiedName": "LibTmux.Server.withRuntime", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "withRuntime" + }, + { + "text": " :: (" + }, + { + "href": "LibTmux-Server.html#t:Runtime", + "target": "LibTmux.Server#t:Runtime", + "text": "Runtime" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " a) -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " a" + } + ], + "params": [], + "raw": "withRuntime :: (Runtime -> IO a) -> IO a" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 90, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "body": "Failed adoption can retain a :obj:`CleanupRecovery ` before a :obj:`Server ` exists.\n Inspection, retry and waiting through that owner stay scoped to the failed\n adoption. Cleanup preserves application exceptions, incoming masking state\n and cancellation; known acquisition failures use :obj:`TmuxException `.", + "summary": "Adopt one endpoint within an existing Runtime and close only that handle\n after the callback. Other handles remain admitted under the shared limits;\n each adoption has its own :obj:`serverGeneration `. Use :obj:`withServer ` for one handle." + }, + "id": "LibTmux.Server#v:withServerIn", + "kind": "function", + "modifiers": [], + "name": "withServerIn", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:withServerIn", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:withServerIn", + "qualifiedName": "LibTmux.Server.withServerIn", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "withServerIn" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:Runtime", + "target": "LibTmux.Server#t:Runtime", + "text": "Runtime" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Server.html#t:ServerConfig", + "target": "LibTmux.Server#t:ServerConfig", + "text": "ServerConfig" + }, + { + "text": " -> (" + }, + { + "href": "LibTmux-Server.html#t:Server", + "target": "LibTmux.Server#t:Server", + "text": "Server" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " a) -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " a" + } + ], + "params": [], + "raw": "withServerIn :: Runtime -> ServerConfig -> (Server -> IO a) -> IO a" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 103, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Library operational failures. Context-preserving catching retains any\n cleanup owners; the original application or cancellation exception keeps\n its class when the callback itself failed." + }, + "id": "LibTmux.Server#t:TmuxException", + "instances": [ + { + "doc": null, + "markdown": "instance [Exception](https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:Exception) :obj:`TmuxException `", + "raw": "instance Exception TmuxException", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:Exception", + "text": "Exception" + }, + { + "href": "LibTmux-Server.html#t:TmuxException", + "target": "LibTmux.Server#t:TmuxException", + "text": "TmuxException" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 29, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`TmuxException `", + "raw": "instance Show TmuxException", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Server.html#t:TmuxException", + "target": "LibTmux.Server#t:TmuxException", + "text": "TmuxException" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 28, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "TmuxException", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:TmuxException", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:TmuxException", + "qualifiedName": "LibTmux.Server.TmuxException", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "TmuxException" + } + ], + "params": [], + "raw": "data TmuxException" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 21, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Admission through the retained Server handle has closed." + }, + "id": "LibTmux.Server#v:ServerClosed", + "kind": "function", + "modifiers": [], + "name": "ServerClosed", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:ServerClosed", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:TmuxException", + "product": "core", + "publicId": "LibTmux.Server#v:ServerClosed", + "qualifiedName": "LibTmux.Server.ServerClosed", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "ServerClosed" + } + ], + "params": [], + "raw": "ServerClosed" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 22, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Admission through the retained Runtime has closed." + }, + "id": "LibTmux.Server#v:RuntimeClosed", + "kind": "function", + "modifiers": [], + "name": "RuntimeClosed", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:RuntimeClosed", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:TmuxException", + "product": "core", + "publicId": "LibTmux.Server#v:RuntimeClosed", + "qualifiedName": "LibTmux.Server.RuntimeClosed", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "RuntimeClosed" + } + ], + "params": [], + "raw": "RuntimeClosed" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 23, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Configuration failed before acquisition." + }, + "id": "LibTmux.Server#v:InvalidConfiguration", + "kind": "function", + "modifiers": [], + "name": "InvalidConfiguration", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:InvalidConfiguration", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:TmuxException", + "product": "core", + "publicId": "LibTmux.Server#v:InvalidConfiguration", + "qualifiedName": "LibTmux.Server.InvalidConfiguration", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "InvalidConfiguration" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "InvalidConfiguration !Text" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 24, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Acquired metadata failed final validation." + }, + "id": "LibTmux.Server#v:InvalidObservation", + "kind": "function", + "modifiers": [], + "name": "InvalidObservation", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:InvalidObservation", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:TmuxException", + "product": "core", + "publicId": "LibTmux.Server#v:InvalidObservation", + "qualifiedName": "LibTmux.Server.InvalidObservation", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "InvalidObservation" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "InvalidObservation !Text" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 25, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Known backend failure with its original cause." + }, + "id": "LibTmux.Server#v:OperationFailed", + "kind": "function", + "modifiers": [], + "name": "OperationFailed", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:OperationFailed", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:TmuxException", + "product": "core", + "publicId": "LibTmux.Server#v:OperationFailed", + "qualifiedName": "LibTmux.Server.OperationFailed", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "OperationFailed" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:SomeException", + "text": "SomeException" + } + ], + "params": [], + "raw": "OperationFailed !SomeException" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 26, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Cleanup remained incomplete or its worker could not start." + }, + "id": "LibTmux.Server#v:CleanupFailed", + "kind": "function", + "modifiers": [], + "name": "CleanupFailed", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:CleanupFailed", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:TmuxException", + "product": "core", + "publicId": "LibTmux.Server#v:CleanupFailed", + "qualifiedName": "LibTmux.Server.CleanupFailed", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "CleanupFailed" + }, + { + "text": " !" + }, + { + "href": "LibTmux-Server.html#t:CleanupStatus", + "target": "LibTmux.Server#t:CleanupStatus", + "text": "CleanupStatus" + }, + { + "text": " !(" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe", + "text": "Maybe" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:SomeException", + "text": "SomeException" + }, + { + "text": ")" + } + ], + "params": [], + "raw": "CleanupFailed !CleanupStatus !(Maybe SomeException)" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 27, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Catch library failures with their exception context. Retain this value\n when handling an error so cleanup and capture owners stay reachable.\n Application exceptions and asynchronous cancellation propagate." + }, + "id": "LibTmux.Server#v:tryTmux", + "kind": "function", + "modifiers": [], + "name": "tryTmux", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:tryTmux", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:tryTmux", + "qualifiedName": "LibTmux.Server.tryTmux", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "tryTmux" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " a -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " (" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " (" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:ExceptionWithContext", + "text": "ExceptionWithContext" + }, + { + "text": " " + }, + { + "href": "LibTmux-Server.html#t:TmuxException", + "target": "LibTmux.Server#t:TmuxException", + "text": "TmuxException" + }, + { + "text": ") a)" + } + ], + "params": [], + "raw": "tryTmux :: IO a -> IO (Either (ExceptionWithContext TmuxException) a)" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 173, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Reachable responsibility after an incomplete or failed scope release.\n Retaining this value keeps its selected cleanup target and Runtime reachable." + }, + "id": "LibTmux.Server#t:CleanupRecovery", + "instances": [ + { + "doc": null, + "markdown": "instance [ExceptionAnnotation](https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception-Annotation.html#t:ExceptionAnnotation) :obj:`CleanupRecovery `", + "raw": "instance ExceptionAnnotation CleanupRecovery", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception-Annotation.html#t:ExceptionAnnotation", + "text": "ExceptionAnnotation" + }, + { + "href": "LibTmux-Server.html#t:CleanupRecovery", + "target": "LibTmux.Server#t:CleanupRecovery", + "text": "CleanupRecovery" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 49, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`CleanupRecovery `", + "raw": "instance Show CleanupRecovery", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Server.html#t:CleanupRecovery", + "target": "LibTmux.Server#t:CleanupRecovery", + "text": "CleanupRecovery" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 47, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "CleanupRecovery", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:CleanupRecovery", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:CleanupRecovery", + "qualifiedName": "LibTmux.Server.CleanupRecovery", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "CleanupRecovery" + } + ], + "params": [], + "raw": "data CleanupRecovery" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 46, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Local observations of the selected physical and logical responsibility.\n Each inspection returns new metadata; it performs no tmux operation." + }, + "id": "LibTmux.Server#t:CleanupStatus", + "instances": [ + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`CleanupStatus `", + "raw": "instance Show CleanupStatus", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Server.html#t:CleanupStatus", + "target": "LibTmux.Server#t:CleanupStatus", + "text": "CleanupStatus" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 40, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "CleanupStatus", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:CleanupStatus", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:CleanupStatus", + "qualifiedName": "LibTmux.Server.CleanupStatus", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "CleanupStatus" + } + ], + "params": [], + "raw": "data CleanupStatus" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 33, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": null, + "id": "LibTmux.Server#v:CleanupStatus", + "kind": "function", + "modifiers": [], + "name": "CleanupStatus", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:CleanupStatus", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:CleanupStatus", + "product": "core", + "publicId": "LibTmux.Server#v:CleanupStatus", + "qualifiedName": "LibTmux.Server.CleanupStatus", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "CleanupStatus" + } + ], + "params": [], + "raw": "CleanupStatus" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 33, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "All physical owners, read workers and logical responsibility have retired." + }, + "id": "LibTmux.Server#v:CleanupStatus.complete", + "kind": "property", + "modifiers": [], + "name": "complete", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:complete", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:CleanupStatus", + "product": "core", + "publicId": "LibTmux.Server#v:CleanupStatus.complete", + "qualifiedName": "LibTmux.Server.complete", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "complete" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool", + "text": "Bool" + } + ], + "params": [], + "raw": "complete :: !Bool" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 34, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Server handles still awaiting physical retirement." + }, + "id": "LibTmux.Server#v:CleanupStatus.pendingHandles", + "kind": "property", + "modifiers": [], + "name": "pendingHandles", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:pendingHandles", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:CleanupStatus", + "product": "core", + "publicId": "LibTmux.Server#v:CleanupStatus.pendingHandles", + "qualifiedName": "LibTmux.Server.pendingHandles", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "pendingHandles" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Int.html#t:Int", + "text": "Int" + } + ], + "params": [], + "raw": "pendingHandles :: !Int" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 35, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Decoder or recovery workers retaining read envelopes." + }, + "id": "LibTmux.Server#v:CleanupStatus.pendingReads", + "kind": "property", + "modifiers": [], + "name": "pendingReads", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:pendingReads", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:CleanupStatus", + "product": "core", + "publicId": "LibTmux.Server#v:CleanupStatus.pendingReads", + "qualifiedName": "LibTmux.Server.pendingReads", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "pendingReads" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Int.html#t:Int", + "text": "Int" + } + ], + "params": [], + "raw": "pendingReads :: !Int" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 36, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Retained logical operations with their observed status." + }, + "id": "LibTmux.Server#v:CleanupStatus.unresolved", + "kind": "property", + "modifiers": [], + "name": "unresolved", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:unresolved", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:CleanupStatus", + "product": "core", + "publicId": "LibTmux.Server#v:CleanupStatus.unresolved", + "qualifiedName": "LibTmux.Server.unresolved", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "unresolved" + }, + { + "text": " :: ![(" + }, + { + "href": "LibTmux-Server.html#t:Operation", + "target": "LibTmux.Server#t:Operation", + "text": "Operation" + }, + { + "text": ", " + }, + { + "href": "LibTmux-Server.html#t:Status", + "target": "LibTmux.Server#t:Status", + "text": "Status" + }, + { + "text": ")]" + } + ], + "params": [], + "raw": "unresolved :: ![(Operation, Status)]" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 37, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Currently observed pin, worker or cleanup-request failures." + }, + "id": "LibTmux.Server#v:CleanupStatus.failures", + "kind": "property", + "modifiers": [], + "name": "failures", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:failures", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:CleanupStatus", + "product": "core", + "publicId": "LibTmux.Server#v:CleanupStatus.failures", + "qualifiedName": "LibTmux.Server.failures", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "failures" + }, + { + "text": " :: ![" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:SomeException", + "text": "SomeException" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "failures :: ![SomeException]" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 38, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Cleanup owners retained by a failed or cancelled scope. The context\n comes from :obj:`tryTmux ` or [tryWithContext](https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#v:tryWithContext). Inspection performs no tmux IO.\n Nested scopes can contribute overlapping owners; inspect and resume each\n retained responsibility through :obj:`inspectCleanup ` and :obj:`resumeCleanup `." + }, + "id": "LibTmux.Server#v:cleanupRecoveries", + "kind": "function", + "modifiers": [], + "name": "cleanupRecoveries", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:cleanupRecoveries", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:cleanupRecoveries", + "qualifiedName": "LibTmux.Server.cleanupRecoveries", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "cleanupRecoveries" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception-Context.html#t:ExceptionContext", + "text": "ExceptionContext" + }, + { + "text": " -> [" + }, + { + "href": "LibTmux-Server.html#t:CleanupRecovery", + "target": "LibTmux.Server#t:CleanupRecovery", + "text": "CleanupRecovery" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "cleanupRecoveries :: ExceptionContext -> [CleanupRecovery]" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 180, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Exception that interrupted the original cleanup attempt, when there was\n one. Pending ownership alone need not have an associated exception." + }, + "id": "LibTmux.Server#v:cleanupFailure", + "kind": "function", + "modifiers": [], + "name": "cleanupFailure", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:cleanupFailure", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:cleanupFailure", + "qualifiedName": "LibTmux.Server.cleanupFailure", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "cleanupFailure" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:CleanupRecovery", + "target": "LibTmux.Server#t:CleanupRecovery", + "text": "CleanupRecovery" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe", + "text": "Maybe" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:SomeException", + "text": "SomeException" + } + ], + "params": [], + "raw": "cleanupFailure :: CleanupRecovery -> Maybe SomeException" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 91, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "The cleanup metadata recorded when this recovery owner was attached." + }, + "id": "LibTmux.Server#v:cleanupObservation", + "kind": "function", + "modifiers": [], + "name": "cleanupObservation", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:cleanupObservation", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:cleanupObservation", + "qualifiedName": "LibTmux.Server.cleanupObservation", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "cleanupObservation" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:CleanupRecovery", + "target": "LibTmux.Server#t:CleanupRecovery", + "text": "CleanupRecovery" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Server.html#t:CleanupStatus", + "target": "LibTmux.Server#t:CleanupStatus", + "text": "CleanupStatus" + } + ], + "params": [], + "raw": "cleanupObservation :: CleanupRecovery -> CleanupStatus" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 95, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Inspect current owned cleanup and logical uncertainty without tmux IO." + }, + "id": "LibTmux.Server#v:inspectCleanup", + "kind": "function", + "modifiers": [], + "name": "inspectCleanup", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:inspectCleanup", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:inspectCleanup", + "qualifiedName": "LibTmux.Server.inspectCleanup", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "inspectCleanup" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:CleanupRecovery", + "target": "LibTmux.Server#t:CleanupRecovery", + "text": "CleanupRecovery" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " " + }, + { + "href": "LibTmux-Server.html#t:CleanupStatus", + "target": "LibTmux.Server#t:CleanupStatus", + "text": "CleanupStatus" + } + ], + "params": [], + "raw": "inspectCleanup :: CleanupRecovery -> IO CleanupStatus" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 99, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Retry bounded owned cleanup. An incomplete result retains this owner;\n the operation does not retry a tmux command or release logical uncertainty." + }, + "id": "LibTmux.Server#v:resumeCleanup", + "kind": "function", + "modifiers": [], + "name": "resumeCleanup", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:resumeCleanup", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:resumeCleanup", + "qualifiedName": "LibTmux.Server.resumeCleanup", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "resumeCleanup" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:CleanupRecovery", + "target": "LibTmux.Server#t:CleanupRecovery", + "text": "CleanupRecovery" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " " + }, + { + "href": "LibTmux-Server.html#t:CleanupStatus", + "target": "LibTmux.Server#t:CleanupStatus", + "text": "CleanupStatus" + } + ], + "params": [], + "raw": "resumeCleanup :: CleanupRecovery -> IO CleanupStatus" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 104, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Wait for this target's physical cleanup, then inspect its logical debt.\n The wait has no deadline.\n Cancellation or failure preserves an annotated cleanup owner. Use\n :obj:`resumeCleanup ` when the caller requires a bounded attempt." + }, + "id": "LibTmux.Server#v:awaitCleanup", + "kind": "function", + "modifiers": [], + "name": "awaitCleanup", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:awaitCleanup", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:awaitCleanup", + "qualifiedName": "LibTmux.Server.awaitCleanup", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "awaitCleanup" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:CleanupRecovery", + "target": "LibTmux.Server#t:CleanupRecovery", + "text": "CleanupRecovery" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " " + }, + { + "href": "LibTmux-Server.html#t:CleanupStatus", + "target": "LibTmux.Server#t:CleanupStatus", + "text": "CleanupStatus" + } + ], + "params": [], + "raw": "awaitCleanup :: CleanupRecovery -> IO CleanupStatus" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 112, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Relinquish one logical operation from this cleanup scope. This releases\n no native resources and does not prove that daemon-side work completed." + }, + "id": "LibTmux.Server#v:detachUnresolved", + "kind": "function", + "modifiers": [], + "name": "detachUnresolved", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:detachUnresolved", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:detachUnresolved", + "qualifiedName": "LibTmux.Server.detachUnresolved", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "detachUnresolved" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:CleanupRecovery", + "target": "LibTmux.Server#t:CleanupRecovery", + "text": "CleanupRecovery" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Server.html#t:Operation", + "target": "LibTmux.Server#t:Operation", + "text": "Operation" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool", + "text": "Bool" + } + ], + "params": [], + "raw": "detachUnresolved :: CleanupRecovery -> Operation -> IO Bool" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 185, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Capture", + "doc": { + "summary": "A reachable owner for one failed or cancelled capture. The receipt holds\n metadata only; the Runtime retains any remaining native and logical owners." + }, + "id": "LibTmux.Server#t:CaptureRecovery", + "instances": [ + { + "doc": null, + "markdown": "instance [ExceptionAnnotation](https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception-Annotation.html#t:ExceptionAnnotation) :obj:`CaptureRecovery `", + "raw": "instance ExceptionAnnotation CaptureRecovery", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception-Annotation.html#t:ExceptionAnnotation", + "text": "ExceptionAnnotation" + }, + { + "href": "LibTmux-Server.html#t:CaptureRecovery", + "target": "LibTmux.Server#t:CaptureRecovery", + "text": "CaptureRecovery" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Capture.hs", + "line": 53, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`CaptureRecovery `", + "raw": "instance Show CaptureRecovery", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Server.html#t:CaptureRecovery", + "target": "LibTmux.Server#t:CaptureRecovery", + "text": "CaptureRecovery" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Capture.hs", + "line": 50, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "CaptureRecovery", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:CaptureRecovery", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:CaptureRecovery", + "qualifiedName": "LibTmux.Server.CaptureRecovery", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "CaptureRecovery" + } + ], + "params": [], + "raw": "data CaptureRecovery" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Capture.hs", + "line": 49, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Capture owners retained in an exception context, including cancellation." + }, + "id": "LibTmux.Server#v:captureRecoveries", + "kind": "function", + "modifiers": [], + "name": "captureRecoveries", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:captureRecoveries", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:captureRecoveries", + "qualifiedName": "LibTmux.Server.captureRecoveries", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "captureRecoveries" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception-Context.html#t:ExceptionContext", + "text": "ExceptionContext" + }, + { + "text": " -> [" + }, + { + "href": "LibTmux-Server.html#t:CaptureRecovery", + "target": "LibTmux.Server#t:CaptureRecovery", + "text": "CaptureRecovery" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "captureRecoveries :: ExceptionContext -> [CaptureRecovery]" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 189, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Metadata-only operation identity for the failed capture." + }, + "id": "LibTmux.Server#v:recoveryOperation", + "kind": "function", + "modifiers": [], + "name": "recoveryOperation", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:recoveryOperation", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:recoveryOperation", + "qualifiedName": "LibTmux.Server.recoveryOperation", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "recoveryOperation" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:CaptureRecovery", + "target": "LibTmux.Server#t:CaptureRecovery", + "text": "CaptureRecovery" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Server.html#t:Operation", + "target": "LibTmux.Server#t:Operation", + "text": "Operation" + } + ], + "params": [], + "raw": "recoveryOperation :: CaptureRecovery -> Operation" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 193, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Correlate the failed capture with its Server generation." + }, + "id": "LibTmux.Server#v:recoveryGeneration", + "kind": "function", + "modifiers": [], + "name": "recoveryGeneration", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:recoveryGeneration", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:recoveryGeneration", + "qualifiedName": "LibTmux.Server.recoveryGeneration", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "recoveryGeneration" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:CaptureRecovery", + "target": "LibTmux.Server#t:CaptureRecovery", + "text": "CaptureRecovery" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:Generation", + "target": "LibTmux.Snapshot#t:Generation", + "text": "Generation" + } + ], + "params": [], + "raw": "recoveryGeneration :: CaptureRecovery -> Generation" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 197, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Runtime", + "doc": { + "summary": "Logical responsibility and this read's physical owners, observed together.\n A released native child does not establish a daemon-side command outcome." + }, + "id": "LibTmux.Server#t:ReadRecovery", + "instances": [ + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`ReadRecovery `", + "raw": "instance Show ReadRecovery", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Server.html#t:ReadRecovery", + "target": "LibTmux.Server#t:ReadRecovery", + "text": "ReadRecovery" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Runtime.hs", + "line": 106, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "ReadRecovery", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:ReadRecovery", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:ReadRecovery", + "qualifiedName": "LibTmux.Server.ReadRecovery", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "ReadRecovery" + } + ], + "params": [], + "raw": "data ReadRecovery" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Runtime.hs", + "line": 100, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Runtime", + "doc": null, + "id": "LibTmux.Server#v:ReadRecovery", + "kind": "function", + "modifiers": [], + "name": "ReadRecovery", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:ReadRecovery", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:ReadRecovery", + "product": "core", + "publicId": "LibTmux.Server#v:ReadRecovery", + "qualifiedName": "LibTmux.Server.ReadRecovery", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "ReadRecovery" + } + ], + "params": [], + "raw": "ReadRecovery" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Runtime.hs", + "line": 100, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Runtime", + "doc": { + "summary": "Logical progress, original result and retained responsibility." + }, + "id": "LibTmux.Server#v:ReadRecovery.logical", + "kind": "property", + "modifiers": [], + "name": "logical", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:logical", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:ReadRecovery", + "product": "core", + "publicId": "LibTmux.Server#v:ReadRecovery.logical", + "qualifiedName": "LibTmux.Server.logical", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "logical" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Server.html#t:Status", + "target": "LibTmux.Server#t:Status", + "text": "Status" + } + ], + "params": [], + "raw": "logical :: !Status" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Runtime.hs", + "line": 101, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Runtime", + "doc": { + "summary": "A decoder or recovery worker still owns this read." + }, + "id": "LibTmux.Server#v:ReadRecovery.workerOwned", + "kind": "property", + "modifiers": [], + "name": "workerOwned", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:workerOwned", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:ReadRecovery", + "product": "core", + "publicId": "LibTmux.Server#v:ReadRecovery.workerOwned", + "qualifiedName": "LibTmux.Server.workerOwned", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "workerOwned" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool", + "text": "Bool" + } + ], + "params": [], + "raw": "workerOwned :: !Bool" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Runtime.hs", + "line": 102, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Runtime", + "doc": { + "summary": "Retained decoder or recovery failure." + }, + "id": "LibTmux.Server#v:ReadRecovery.workerFailure", + "kind": "property", + "modifiers": [], + "name": "workerFailure", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:workerFailure", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:ReadRecovery", + "product": "core", + "publicId": "LibTmux.Server#v:ReadRecovery.workerFailure", + "qualifiedName": "LibTmux.Server.workerFailure", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "workerFailure" + }, + { + "text": " :: !(" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe", + "text": "Maybe" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:SomeException", + "text": "SomeException" + }, + { + "text": ")" + } + ], + "params": [], + "raw": "workerFailure :: !(Maybe SomeException)" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Runtime.hs", + "line": 103, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Runtime", + "doc": { + "summary": "A native child or its cleanup remains owned." + }, + "id": "LibTmux.Server#v:ReadRecovery.nativeOwned", + "kind": "property", + "modifiers": [], + "name": "nativeOwned", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:nativeOwned", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:ReadRecovery", + "product": "core", + "publicId": "LibTmux.Server#v:ReadRecovery.nativeOwned", + "qualifiedName": "LibTmux.Server.nativeOwned", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "nativeOwned" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool", + "text": "Bool" + } + ], + "params": [], + "raw": "nativeOwned :: !Bool" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Runtime.hs", + "line": 104, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Runtime", + "doc": { + "summary": "Retained native cleanup failure." + }, + "id": "LibTmux.Server#v:ReadRecovery.nativeFailure", + "kind": "property", + "modifiers": [], + "name": "nativeFailure", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:nativeFailure", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:ReadRecovery", + "product": "core", + "publicId": "LibTmux.Server#v:ReadRecovery.nativeFailure", + "qualifiedName": "LibTmux.Server.nativeFailure", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "nativeFailure" + }, + { + "text": " :: !(" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe", + "text": "Maybe" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:SomeException", + "text": "SomeException" + }, + { + "text": ")" + } + ], + "params": [], + "raw": "nativeFailure :: !(Maybe SomeException)" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Runtime.hs", + "line": 105, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Observe logical outcome, decoder ownership and native cleanup locally.\n This reads runtime metadata and performs no tmux command." + }, + "id": "LibTmux.Server#v:inspectCaptureRecovery", + "kind": "function", + "modifiers": [], + "name": "inspectCaptureRecovery", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:inspectCaptureRecovery", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:inspectCaptureRecovery", + "qualifiedName": "LibTmux.Server.inspectCaptureRecovery", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "inspectCaptureRecovery" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:CaptureRecovery", + "target": "LibTmux.Server#t:CaptureRecovery", + "text": "CaptureRecovery" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " " + }, + { + "href": "LibTmux-Server.html#t:ReadRecovery", + "target": "LibTmux.Server#t:ReadRecovery", + "text": "ReadRecovery" + } + ], + "params": [], + "raw": "inspectCaptureRecovery :: CaptureRecovery -> IO ReadRecovery" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 202, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Resume existing cleanup without dispatching the capture again." + }, + "id": "LibTmux.Server#v:resumeCaptureRecovery", + "kind": "function", + "modifiers": [], + "name": "resumeCaptureRecovery", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:resumeCaptureRecovery", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:resumeCaptureRecovery", + "qualifiedName": "LibTmux.Server.resumeCaptureRecovery", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "resumeCaptureRecovery" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:CaptureRecovery", + "target": "LibTmux.Server#t:CaptureRecovery", + "text": "CaptureRecovery" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " ()" + } + ], + "params": [], + "raw": "resumeCaptureRecovery :: CaptureRecovery -> IO ()" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 206, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Explicitly detach logical uncertainty while preserving native ownership." + }, + "id": "LibTmux.Server#v:detachCaptureRecovery", + "kind": "function", + "modifiers": [], + "name": "detachCaptureRecovery", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:detachCaptureRecovery", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:detachCaptureRecovery", + "qualifiedName": "LibTmux.Server.detachCaptureRecovery", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "detachCaptureRecovery" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:CaptureRecovery", + "target": "LibTmux.Server#t:CaptureRecovery", + "text": "CaptureRecovery" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool", + "text": "Bool" + } + ], + "params": [], + "raw": "detachCaptureRecovery :: CaptureRecovery -> IO Bool" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 210, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "Metadata-only operation identity, readable after responsibility retires.\n Its owning scope controls advancement and explicit detachment." + }, + "id": "LibTmux.Server#t:Operation", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Operation `", + "raw": "instance Eq Operation", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Server.html#t:Operation", + "target": "LibTmux.Server#t:Operation", + "text": "Operation" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 45, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Operation `", + "raw": "instance Show Operation", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Server.html#t:Operation", + "target": "LibTmux.Server#t:Operation", + "text": "Operation" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 47, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "Operation", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:Operation", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:Operation", + "qualifiedName": "LibTmux.Server.Operation", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Operation" + } + ], + "params": [], + "raw": "data Operation" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 44, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "Progress, published result and responsibility are independent observations.\n A retained uncertain operation still consumes admission and its lane permit." + }, + "id": "LibTmux.Server#t:Status", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Status `", + "raw": "instance Eq Status", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Server.html#t:Status", + "target": "LibTmux.Server#t:Status", + "text": "Status" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 87, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Status `", + "raw": "instance Show Status", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Server.html#t:Status", + "target": "LibTmux.Server#t:Status", + "text": "Status" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 87, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "Status", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:Status", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:Status", + "qualifiedName": "LibTmux.Server.Status", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Status" + } + ], + "params": [], + "raw": "data Status" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 82, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": null, + "id": "LibTmux.Server#v:Status", + "kind": "function", + "modifiers": [], + "name": "Status", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:Status", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Status", + "product": "core", + "publicId": "LibTmux.Server#v:Status", + "qualifiedName": "LibTmux.Server.Status", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "Status" + } + ], + "params": [], + "raw": "Status" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 82, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "Last proven progress." + }, + "id": "LibTmux.Server#v:Status.stage", + "kind": "property", + "modifiers": [], + "name": "stage", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:stage", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Status", + "product": "core", + "publicId": "LibTmux.Server#v:Status.stage", + "qualifiedName": "LibTmux.Server.stage", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "stage" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Server.html#t:Stage", + "target": "LibTmux.Server#t:Stage", + "text": "Stage" + } + ], + "params": [], + "raw": "stage :: !Stage" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 83, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "First published caller result, when available." + }, + "id": "LibTmux.Server#v:Status.outcome", + "kind": "property", + "modifiers": [], + "name": "outcome", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:outcome", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Status", + "product": "core", + "publicId": "LibTmux.Server#v:Status.outcome", + "qualifiedName": "LibTmux.Server.outcome", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "outcome" + }, + { + "text": " :: !(" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe", + "text": "Maybe" + }, + { + "text": " " + }, + { + "href": "LibTmux-Server.html#t:Outcome", + "target": "LibTmux.Server#t:Outcome", + "text": "Outcome" + }, + { + "text": ")" + } + ], + "params": [], + "raw": "outcome :: !(Maybe Outcome)" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 84, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "Whether the scope still retains logical responsibility." + }, + "id": "LibTmux.Server#v:Status.retained", + "kind": "property", + "modifiers": [], + "name": "retained", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:retained", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Status", + "product": "core", + "publicId": "LibTmux.Server#v:Status.retained", + "qualifiedName": "LibTmux.Server.retained", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "retained" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool", + "text": "Bool" + } + ], + "params": [], + "raw": "retained :: !Bool" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 85, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "Last observed progress. Publishing an uncertain :obj:`Outcome ` does not\n advance this stage or establish :obj:`OperationComplete `." + }, + "id": "LibTmux.Server#t:Stage", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Stage `", + "raw": "instance Eq Stage", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Server.html#t:Stage", + "target": "LibTmux.Server#t:Stage", + "text": "Stage" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 68, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Stage `", + "raw": "instance Show Stage", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Server.html#t:Stage", + "target": "LibTmux.Server#t:Stage", + "text": "Stage" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 68, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "Stage", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:Stage", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:Stage", + "qualifiedName": "LibTmux.Server.Stage", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Stage" + } + ], + "params": [], + "raw": "data Stage" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 67, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": null, + "id": "LibTmux.Server#v:Queued", + "kind": "function", + "modifiers": [], + "name": "Queued", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:Queued", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Stage", + "product": "core", + "publicId": "LibTmux.Server#v:Queued", + "qualifiedName": "LibTmux.Server.Queued", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "Queued" + } + ], + "params": [], + "raw": "Queued" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 67, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": null, + "id": "LibTmux.Server#v:Dispatching", + "kind": "function", + "modifiers": [], + "name": "Dispatching", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:Dispatching", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Stage", + "product": "core", + "publicId": "LibTmux.Server#v:Dispatching", + "qualifiedName": "LibTmux.Server.Dispatching", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "Dispatching" + } + ], + "params": [], + "raw": "Dispatching" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 67, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": null, + "id": "LibTmux.Server#v:Dispatched", + "kind": "function", + "modifiers": [], + "name": "Dispatched", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:Dispatched", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Stage", + "product": "core", + "publicId": "LibTmux.Server#v:Dispatched", + "qualifiedName": "LibTmux.Server.Dispatched", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "Dispatched" + } + ], + "params": [], + "raw": "Dispatched" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 67, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": null, + "id": "LibTmux.Server#v:ResponseClosed", + "kind": "function", + "modifiers": [], + "name": "ResponseClosed", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:ResponseClosed", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Stage", + "product": "core", + "publicId": "LibTmux.Server#v:ResponseClosed", + "qualifiedName": "LibTmux.Server.ResponseClosed", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "ResponseClosed" + } + ], + "params": [], + "raw": "ResponseClosed" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 67, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": null, + "id": "LibTmux.Server#v:OperationComplete", + "kind": "function", + "modifiers": [], + "name": "OperationComplete", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:OperationComplete", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Stage", + "product": "core", + "publicId": "LibTmux.Server#v:OperationComplete", + "qualifiedName": "LibTmux.Server.OperationComplete", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "OperationComplete" + } + ], + "params": [], + "raw": "OperationComplete" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 67, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "First caller result. Later evidence can retire responsibility without\n rewriting :obj:`OutcomeUnknown ` or :obj:`ConnectionRetired `." + }, + "id": "LibTmux.Server#t:Outcome", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Outcome `", + "raw": "instance Eq Outcome", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Server.html#t:Outcome", + "target": "LibTmux.Server#t:Outcome", + "text": "Outcome" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 78, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Outcome `", + "raw": "instance Show Outcome", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Server.html#t:Outcome", + "target": "LibTmux.Server#t:Outcome", + "text": "Outcome" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 78, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "Outcome", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:Outcome", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:Outcome", + "qualifiedName": "LibTmux.Server.Outcome", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Outcome" + } + ], + "params": [], + "raw": "data Outcome" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 72, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "Validated successful response and completion proof." + }, + "id": "LibTmux.Server#v:Succeeded", + "kind": "function", + "modifiers": [], + "name": "Succeeded", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:Succeeded", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Outcome", + "product": "core", + "publicId": "LibTmux.Server#v:Succeeded", + "qualifiedName": "LibTmux.Server.Succeeded", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "Succeeded" + } + ], + "params": [], + "raw": "Succeeded" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 73, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "Validated command failure." + }, + "id": "LibTmux.Server#v:Failed", + "kind": "function", + "modifiers": [], + "name": "Failed", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:Failed", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Outcome", + "product": "core", + "publicId": "LibTmux.Server#v:Failed", + "qualifiedName": "LibTmux.Server.Failed", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "Failed" + } + ], + "params": [], + "raw": "Failed" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 74, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "Proof that the operation was never dispatched." + }, + "id": "LibTmux.Server#v:NotDispatched", + "kind": "function", + "modifiers": [], + "name": "NotDispatched", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:NotDispatched", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Outcome", + "product": "core", + "publicId": "LibTmux.Server#v:NotDispatched", + "qualifiedName": "LibTmux.Server.NotDispatched", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "NotDispatched" + } + ], + "params": [], + "raw": "NotDispatched" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 75, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "Dispatch may have happened; completion remains uncertain." + }, + "id": "LibTmux.Server#v:OutcomeUnknown", + "kind": "function", + "modifiers": [], + "name": "OutcomeUnknown", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:OutcomeUnknown", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Outcome", + "product": "core", + "publicId": "LibTmux.Server#v:OutcomeUnknown", + "qualifiedName": "LibTmux.Server.OutcomeUnknown", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "OutcomeUnknown" + } + ], + "params": [], + "raw": "OutcomeUnknown" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 76, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "The connection retired while responsibility remained." + }, + "id": "LibTmux.Server#v:ConnectionRetired", + "kind": "function", + "modifiers": [], + "name": "ConnectionRetired", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:ConnectionRetired", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Outcome", + "product": "core", + "publicId": "LibTmux.Server#v:ConnectionRetired", + "qualifiedName": "LibTmux.Server.ConnectionRetired", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "ConnectionRetired" + } + ], + "params": [], + "raw": "ConnectionRetired" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 77, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Read retained operation metadata, including after its physical cleanup." + }, + "id": "LibTmux.Server#v:operationStatus", + "kind": "function", + "modifiers": [], + "name": "operationStatus", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:operationStatus", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:operationStatus", + "qualifiedName": "LibTmux.Server.operationStatus", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "operationStatus" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:Operation", + "target": "LibTmux.Server#t:Operation", + "text": "Operation" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " " + }, + { + "href": "LibTmux-Server.html#t:Status", + "target": "LibTmux.Server#t:Status", + "text": "Status" + } + ], + "params": [], + "raw": "operationStatus :: Operation -> IO Status" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 214, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Validated metadata, physical graph and attached-client observations.\n Construction checks every join and forces owned values. List processing\n and indexed lookup remain pure after the operational Server closes." + }, + "id": "LibTmux.Snapshot#t:Snapshot", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`Snapshot `", + "raw": "instance NFData Snapshot", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 187, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Snapshot `", + "raw": "instance Eq Snapshot", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 186, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Snapshot `", + "raw": "instance Show Snapshot", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 186, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "Snapshot", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:Snapshot", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:Snapshot", + "qualifiedName": "LibTmux.Snapshot.Snapshot", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Snapshot" + } + ], + "params": [], + "raw": "data Snapshot" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 185, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Reported daemon metadata within one adopted generation. PID and start\n time are observations; they do not grant signal authority or durable identity." + }, + "id": "LibTmux.Snapshot#t:ServerInfo", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`ServerInfo `", + "raw": "instance NFData ServerInfo", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:ServerInfo", + "target": "LibTmux.Snapshot#t:ServerInfo", + "text": "ServerInfo" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 143, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`ServerInfo `", + "raw": "instance Eq ServerInfo", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:ServerInfo", + "target": "LibTmux.Snapshot#t:ServerInfo", + "text": "ServerInfo" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 142, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`ServerInfo `", + "raw": "instance Show ServerInfo", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:ServerInfo", + "target": "LibTmux.Snapshot#t:ServerInfo", + "text": "ServerInfo" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 142, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "ServerInfo", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:ServerInfo", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:ServerInfo", + "qualifiedName": "LibTmux.Snapshot.ServerInfo", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "ServerInfo" + } + ], + "params": [], + "raw": "data ServerInfo" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 135, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": null, + "id": "LibTmux.Snapshot#v:ServerInfo", + "kind": "function", + "modifiers": [], + "name": "ServerInfo", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:ServerInfo", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:ServerInfo", + "product": "core", + "publicId": "LibTmux.Snapshot#v:ServerInfo", + "qualifiedName": "LibTmux.Snapshot.ServerInfo", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "ServerInfo" + } + ], + "params": [], + "raw": "ServerInfo" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 135, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Connection identity shared by all references in this snapshot." + }, + "id": "LibTmux.Snapshot#v:ServerInfo.generation", + "kind": "property", + "modifiers": [], + "name": "generation", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:generation", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:ServerInfo", + "product": "core", + "publicId": "LibTmux.Snapshot#v:ServerInfo.generation", + "qualifiedName": "LibTmux.Snapshot.generation", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "generation" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:Generation", + "target": "LibTmux.Snapshot#t:Generation", + "text": "Generation" + } + ], + "params": [], + "raw": "generation :: !Generation" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Positive daemon process ID reported by tmux." + }, + "id": "LibTmux.Snapshot#v:ServerInfo.pid", + "kind": "property", + "modifiers": [], + "name": "pid", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:pid", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:ServerInfo", + "product": "core", + "publicId": "LibTmux.Snapshot#v:ServerInfo.pid", + "qualifiedName": "LibTmux.Snapshot.pid", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "pid" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "pid :: !Integer" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Daemon start time in whole seconds since the Unix epoch." + }, + "id": "LibTmux.Snapshot#v:ServerInfo.startedAt", + "kind": "property", + "modifiers": [], + "name": "startedAt", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:startedAt", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:ServerInfo", + "product": "core", + "publicId": "LibTmux.Snapshot#v:ServerInfo.startedAt", + "qualifiedName": "LibTmux.Snapshot.startedAt", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "startedAt" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "startedAt :: !Integer" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 138, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Stable release admitted by :obj:`LibTmux.Version `." + }, + "id": "LibTmux.Snapshot#v:ServerInfo.version", + "kind": "property", + "modifiers": [], + "name": "version", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:version", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:ServerInfo", + "product": "core", + "publicId": "LibTmux.Snapshot#v:ServerInfo.version", + "qualifiedName": "LibTmux.Snapshot.version", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "version" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + } + ], + "params": [], + "raw": "version :: !TmuxVersion" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 139, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Reported endpoint path, preserved as POSIX bytes." + }, + "id": "LibTmux.Snapshot#v:ServerInfo.socketPath", + "kind": "property", + "modifiers": [], + "name": "socketPath", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:socketPath", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:ServerInfo", + "product": "core", + "publicId": "LibTmux.Snapshot#v:ServerInfo.socketPath", + "qualifiedName": "LibTmux.Snapshot.socketPath", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "socketPath" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath", + "text": "PosixPath" + } + ], + "params": [], + "raw": "socketPath :: !PosixPath" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 140, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Where the validated values were obtained. A server capture does not\n establish current liveness. Offline namespaces carry no targeting authority." + }, + "id": "LibTmux.Snapshot#t:SnapshotOrigin", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`SnapshotOrigin `", + "raw": "instance Eq SnapshotOrigin", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:SnapshotOrigin", + "target": "LibTmux.Snapshot#t:SnapshotOrigin", + "text": "SnapshotOrigin" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 60, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`SnapshotOrigin `", + "raw": "instance Ord SnapshotOrigin", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Snapshot.html#t:SnapshotOrigin", + "target": "LibTmux.Snapshot#t:SnapshotOrigin", + "text": "SnapshotOrigin" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 60, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`SnapshotOrigin `", + "raw": "instance Show SnapshotOrigin", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:SnapshotOrigin", + "target": "LibTmux.Snapshot#t:SnapshotOrigin", + "text": "SnapshotOrigin" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 60, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "SnapshotOrigin", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:SnapshotOrigin", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:SnapshotOrigin", + "qualifiedName": "LibTmux.Snapshot.SnapshotOrigin", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "SnapshotOrigin" + } + ], + "params": [], + "raw": "data SnapshotOrigin" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 57, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Acquired through an operational Server handle." + }, + "id": "LibTmux.Snapshot#v:AcquiredFromTmux", + "kind": "function", + "modifiers": [], + "name": "AcquiredFromTmux", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:AcquiredFromTmux", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:SnapshotOrigin", + "product": "core", + "publicId": "LibTmux.Snapshot#v:AcquiredFromTmux", + "qualifiedName": "LibTmux.Snapshot.AcquiredFromTmux", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "AcquiredFromTmux" + } + ], + "params": [], + "raw": "AcquiredFromTmux" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 58, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Constructed and validated in a named fixture namespace." + }, + "id": "LibTmux.Snapshot#v:DefinedOffline", + "kind": "function", + "modifiers": [], + "name": "DefinedOffline", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:DefinedOffline", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:SnapshotOrigin", + "product": "core", + "publicId": "LibTmux.Snapshot#v:DefinedOffline", + "qualifiedName": "LibTmux.Snapshot.DefinedOffline", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "DefinedOffline" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "DefinedOffline !Text" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 59, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Inspect provenance without contacting tmux. See\n :obj:`LibTmux.Snapshot.Fixture ` for validated offline construction." + }, + "id": "LibTmux.Snapshot#v:snapshotOrigin", + "kind": "function", + "modifiers": [], + "name": "snapshotOrigin", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:snapshotOrigin", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:snapshotOrigin", + "qualifiedName": "LibTmux.Snapshot.snapshotOrigin", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "snapshotOrigin" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:SnapshotOrigin", + "target": "LibTmux.Snapshot#t:SnapshotOrigin", + "text": "SnapshotOrigin" + } + ], + "params": [], + "raw": "snapshotOrigin :: Snapshot -> SnapshotOrigin" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 65, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Daemon metadata captured with this graph." + }, + "id": "LibTmux.Snapshot#v:serverInfo", + "kind": "function", + "modifiers": [], + "name": "serverInfo", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:serverInfo", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:serverInfo", + "qualifiedName": "LibTmux.Snapshot.serverInfo", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "serverInfo" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:ServerInfo", + "target": "LibTmux.Snapshot#t:ServerInfo", + "text": "ServerInfo" + } + ], + "params": [], + "raw": "serverInfo :: Snapshot -> ServerInfo" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 192, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Acquisition bounds attached to a live capture. An unstamped decoded\n profile stays private; an offline fixture has no external capture interval." + }, + "id": "LibTmux.Snapshot#v:captureInterval", + "kind": "function", + "modifiers": [], + "name": "captureInterval", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:captureInterval", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:captureInterval", + "qualifiedName": "LibTmux.Snapshot.captureInterval", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "captureInterval" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe", + "text": "Maybe" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:CaptureInterval", + "target": "LibTmux.Snapshot#t:CaptureInterval", + "text": "CaptureInterval" + } + ], + "params": [], + "raw": "captureInterval :: Snapshot -> Maybe CaptureInterval" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 214, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Monotonic process-clock bounds around acquisition. These values describe\n an interval and do not promise an atomic observation or a wall-clock epoch." + }, + "id": "LibTmux.Snapshot#t:CaptureInterval", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`CaptureInterval `", + "raw": "instance NFData CaptureInterval", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:CaptureInterval", + "target": "LibTmux.Snapshot#t:CaptureInterval", + "text": "CaptureInterval" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 208, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`CaptureInterval `", + "raw": "instance Eq CaptureInterval", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:CaptureInterval", + "target": "LibTmux.Snapshot#t:CaptureInterval", + "text": "CaptureInterval" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 207, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`CaptureInterval `", + "raw": "instance Show CaptureInterval", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:CaptureInterval", + "target": "LibTmux.Snapshot#t:CaptureInterval", + "text": "CaptureInterval" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 207, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "CaptureInterval", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:CaptureInterval", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:CaptureInterval", + "qualifiedName": "LibTmux.Snapshot.CaptureInterval", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "CaptureInterval" + } + ], + "params": [], + "raw": "data CaptureInterval" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 203, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": null, + "id": "LibTmux.Snapshot#v:CaptureInterval", + "kind": "function", + "modifiers": [], + "name": "CaptureInterval", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:CaptureInterval", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:CaptureInterval", + "product": "core", + "publicId": "LibTmux.Snapshot#v:CaptureInterval", + "qualifiedName": "LibTmux.Snapshot.CaptureInterval", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "CaptureInterval" + } + ], + "params": [], + "raw": "CaptureInterval" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 203, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Monotonic time sampled before acquisition." + }, + "id": "LibTmux.Snapshot#v:CaptureInterval.startedNanoseconds", + "kind": "property", + "modifiers": [], + "name": "startedNanoseconds", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:startedNanoseconds", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:CaptureInterval", + "product": "core", + "publicId": "LibTmux.Snapshot#v:CaptureInterval.startedNanoseconds", + "qualifiedName": "LibTmux.Snapshot.startedNanoseconds", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "startedNanoseconds" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Word.html#t:Word64", + "text": "Word64" + } + ], + "params": [], + "raw": "startedNanoseconds :: !Word64" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 204, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Monotonic time after decoding and forcing." + }, + "id": "LibTmux.Snapshot#v:CaptureInterval.finishedNanoseconds", + "kind": "property", + "modifiers": [], + "name": "finishedNanoseconds", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:finishedNanoseconds", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:CaptureInterval", + "product": "core", + "publicId": "LibTmux.Snapshot#v:CaptureInterval.finishedNanoseconds", + "qualifiedName": "LibTmux.Snapshot.finishedNanoseconds", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "finishedNanoseconds" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Word.html#t:Word64", + "text": "Word64" + } + ], + "params": [], + "raw": "finishedNanoseconds :: !Word64" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 205, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Detached physical session. Navigate its appearances through :obj:`WindowLink `." + }, + "id": "LibTmux.Snapshot#t:Session", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`Session `", + "raw": "instance NFData Session", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 79, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Session `", + "raw": "instance Eq Session", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 78, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Session `", + "raw": "instance Show Session", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 78, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "Session", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:Session", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:Session", + "qualifiedName": "LibTmux.Snapshot.Session", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Session" + } + ], + "params": [], + "raw": "data Session" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 73, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": null, + "id": "LibTmux.Snapshot#v:Session", + "kind": "function", + "modifiers": [], + "name": "Session", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:Session", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Session", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Session", + "qualifiedName": "LibTmux.Snapshot.Session", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "Session" + } + ], + "params": [], + "raw": "Session" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 73, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Target identity in the observation's generation." + }, + "id": "LibTmux.Snapshot#v:Session.ref", + "kind": "property", + "modifiers": [], + "name": "ref", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:ref", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Session", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Session.ref", + "qualifiedName": "LibTmux.Snapshot.ref", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "ref" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:SessionRef", + "target": "LibTmux.Snapshot#t:SessionRef", + "text": "SessionRef" + } + ], + "params": [], + "raw": "ref :: !SessionRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Session name as reported and decoded by tmux." + }, + "id": "LibTmux.Snapshot#v:Session.name", + "kind": "property", + "modifiers": [], + "name": "name", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:name", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Session", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Session.name", + "qualifiedName": "LibTmux.Snapshot.name", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "name" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "name :: !Text" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Nonnegative reported count, independent of the captured client listing." + }, + "id": "LibTmux.Snapshot#v:Session.attached", + "kind": "property", + "modifiers": [], + "name": "attached", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:attached", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Session", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Session.attached", + "qualifiedName": "LibTmux.Snapshot.attached", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "attached" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "attached :: !Integer" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 76, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Detached physical window, independent of its session and index appearances." + }, + "id": "LibTmux.Snapshot#t:Window", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`Window `", + "raw": "instance NFData Window", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 90, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Window `", + "raw": "instance Eq Window", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 89, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Window `", + "raw": "instance Show Window", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 89, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "Window", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:Window", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:Window", + "qualifiedName": "LibTmux.Snapshot.Window", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Window" + } + ], + "params": [], + "raw": "data Window" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 83, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": null, + "id": "LibTmux.Snapshot#v:Window", + "kind": "function", + "modifiers": [], + "name": "Window", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:Window", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Window", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Window", + "qualifiedName": "LibTmux.Snapshot.Window", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "Window" + } + ], + "params": [], + "raw": "Window" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 83, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Shared identity across this snapshot's window links." + }, + "id": "LibTmux.Snapshot#v:Window.ref", + "kind": "property", + "modifiers": [], + "name": "ref", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:ref", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Window", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Window.ref", + "qualifiedName": "LibTmux.Snapshot.ref", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "ref" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + } + ], + "params": [], + "raw": "ref :: !WindowRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Reported bytes, including non-text names on older tmux." + }, + "id": "LibTmux.Snapshot#v:Window.name", + "kind": "property", + "modifiers": [], + "name": "name", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:name", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Window", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Window.name", + "qualifiedName": "LibTmux.Snapshot.name", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "name" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:TmuxText", + "target": "LibTmux.Snapshot#t:TmuxText", + "text": "TmuxText" + } + ], + "params": [], + "raw": "name :: !TmuxText" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Positive terminal width in cells." + }, + "id": "LibTmux.Snapshot#v:Window.width", + "kind": "property", + "modifiers": [], + "name": "width", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:width", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Window", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Window.width", + "qualifiedName": "LibTmux.Snapshot.width", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "width" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + } + ], + "params": [], + "raw": "width :: !Dimension" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Positive terminal height in cells." + }, + "id": "LibTmux.Snapshot#v:Window.height", + "kind": "property", + "modifiers": [], + "name": "height", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:height", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Window", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Window.height", + "qualifiedName": "LibTmux.Snapshot.height", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "height" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + } + ], + "params": [], + "raw": "height :: !Dimension" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Detached physical pane. Its window can appear in several session contexts;\n :obj:`PaneOccurrence ` preserves an appearance without duplicating physical identity." + }, + "id": "LibTmux.Snapshot#t:Pane", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`Pane `", + "raw": "instance NFData Pane", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 108, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Pane `", + "raw": "instance Eq Pane", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 107, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Pane `", + "raw": "instance Show Pane", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 107, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "Pane", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:Pane", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:Pane", + "qualifiedName": "LibTmux.Snapshot.Pane", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Pane" + } + ], + "params": [], + "raw": "data Pane" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 95, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": null, + "id": "LibTmux.Snapshot#v:Pane", + "kind": "function", + "modifiers": [], + "name": "Pane", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:Pane", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Pane", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Pane", + "qualifiedName": "LibTmux.Snapshot.Pane", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "Pane" + } + ], + "params": [], + "raw": "Pane" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 95, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Pane identity in the observation's generation." + }, + "id": "LibTmux.Snapshot#v:Pane.ref", + "kind": "property", + "modifiers": [], + "name": "ref", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:ref", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Pane", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Pane.ref", + "qualifiedName": "LibTmux.Snapshot.ref", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "ref" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:PaneRef", + "target": "LibTmux.Snapshot#t:PaneRef", + "text": "PaneRef" + } + ], + "params": [], + "raw": "ref :: !PaneRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Containing physical window, resolved against a snapshot." + }, + "id": "LibTmux.Snapshot#v:Pane.window", + "kind": "property", + "modifiers": [], + "name": "window", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:window", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Pane", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Pane.window", + "qualifiedName": "LibTmux.Snapshot.window", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "window" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + } + ], + "params": [], + "raw": "window :: !WindowRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Nonnegative pane index within that window." + }, + "id": "LibTmux.Snapshot#v:Pane.index", + "kind": "property", + "modifiers": [], + "name": "index", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:index", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Pane", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Pane.index", + "qualifiedName": "LibTmux.Snapshot.index", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "index" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Value.html#t:PaneIndex", + "target": "LibTmux.Value#t:PaneIndex", + "text": "PaneIndex" + } + ], + "params": [], + "raw": "index :: !PaneIndex" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Positive terminal width in cells." + }, + "id": "LibTmux.Snapshot#v:Pane.width", + "kind": "property", + "modifiers": [], + "name": "width", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:width", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Pane", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Pane.width", + "qualifiedName": "LibTmux.Snapshot.width", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "width" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + } + ], + "params": [], + "raw": "width :: !Dimension" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Positive terminal height in cells." + }, + "id": "LibTmux.Snapshot#v:Pane.height", + "kind": "property", + "modifiers": [], + "name": "height", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:height", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Pane", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Pane.height", + "qualifiedName": "LibTmux.Snapshot.height", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "height" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + } + ], + "params": [], + "raw": "height :: !Dimension" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "The window's active pane, rather than a separate client focus." + }, + "id": "LibTmux.Snapshot#v:Pane.active", + "kind": "property", + "modifiers": [], + "name": "active", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:active", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Pane", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Pane.active", + "qualifiedName": "LibTmux.Snapshot.active", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "active" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool", + "text": "Bool" + } + ], + "params": [], + "raw": "active :: !Bool" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Whether tmux reports the pane process as dead." + }, + "id": "LibTmux.Snapshot#v:Pane.dead", + "kind": "property", + "modifiers": [], + "name": "dead", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:dead", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Pane", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Pane.dead", + "qualifiedName": "LibTmux.Snapshot.dead", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "dead" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool", + "text": "Bool" + } + ], + "params": [], + "raw": "dead :: !Bool" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 102, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Valid UTF-8 pane title reported by tmux." + }, + "id": "LibTmux.Snapshot#v:Pane.title", + "kind": "property", + "modifiers": [], + "name": "title", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:title", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Pane", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Pane.title", + "qualifiedName": "LibTmux.Snapshot.title", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "title" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "title :: !Text" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 103, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Reported process name; tmux may normalize it." + }, + "id": "LibTmux.Snapshot#v:Pane.currentCommand", + "kind": "property", + "modifiers": [], + "name": "currentCommand", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:currentCommand", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Pane", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Pane.currentCommand", + "qualifiedName": "LibTmux.Snapshot.currentCommand", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "currentCommand" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixString", + "text": "PosixString" + } + ], + "params": [], + "raw": "currentCommand :: !PosixString" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 104, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Endpoint data, without local path interpretation." + }, + "id": "LibTmux.Snapshot#v:Pane.currentPath", + "kind": "property", + "modifiers": [], + "name": "currentPath", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:currentPath", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Pane", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Pane.currentPath", + "qualifiedName": "LibTmux.Snapshot.currentPath", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "currentPath" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath", + "text": "PosixPath" + } + ], + "params": [], + "raw": "currentPath :: !PosixPath" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 105, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "One observed session*index*window binding. Indices are reusable positions;\n this value describes captured context. The same window may appear repeatedly." + }, + "id": "LibTmux.Snapshot#t:WindowLink", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`WindowLink `", + "raw": "instance NFData WindowLink", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 121, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`WindowLink `", + "raw": "instance Eq WindowLink", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 120, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`WindowLink `", + "raw": "instance Show WindowLink", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 120, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "WindowLink", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:WindowLink", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:WindowLink", + "qualifiedName": "LibTmux.Snapshot.WindowLink", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "WindowLink" + } + ], + "params": [], + "raw": "data WindowLink" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 114, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": null, + "id": "LibTmux.Snapshot#v:WindowLink", + "kind": "function", + "modifiers": [], + "name": "WindowLink", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:WindowLink", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:WindowLink", + "product": "core", + "publicId": "LibTmux.Snapshot#v:WindowLink", + "qualifiedName": "LibTmux.Snapshot.WindowLink", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "WindowLink" + } + ], + "params": [], + "raw": "WindowLink" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 114, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Session containing this appearance." + }, + "id": "LibTmux.Snapshot#v:WindowLink.session", + "kind": "property", + "modifiers": [], + "name": "session", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:session", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:WindowLink", + "product": "core", + "publicId": "LibTmux.Snapshot#v:WindowLink.session", + "qualifiedName": "LibTmux.Snapshot.session", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "session" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:SessionRef", + "target": "LibTmux.Snapshot#t:SessionRef", + "text": "SessionRef" + } + ], + "params": [], + "raw": "session :: !SessionRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Position of this link within the session." + }, + "id": "LibTmux.Snapshot#v:WindowLink.index", + "kind": "property", + "modifiers": [], + "name": "index", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:index", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:WindowLink", + "product": "core", + "publicId": "LibTmux.Snapshot#v:WindowLink.index", + "qualifiedName": "LibTmux.Snapshot.index", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "index" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Value.html#t:WindowIndex", + "target": "LibTmux.Value#t:WindowIndex", + "text": "WindowIndex" + } + ], + "params": [], + "raw": "index :: !WindowIndex" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Physical window shared by its appearances." + }, + "id": "LibTmux.Snapshot#v:WindowLink.window", + "kind": "property", + "modifiers": [], + "name": "window", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:window", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:WindowLink", + "product": "core", + "publicId": "LibTmux.Snapshot#v:WindowLink.window", + "qualifiedName": "LibTmux.Snapshot.window", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "window" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + } + ], + "params": [], + "raw": "window :: !WindowRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Whether this is the session's selected window link." + }, + "id": "LibTmux.Snapshot#v:WindowLink.active", + "kind": "property", + "modifiers": [], + "name": "active", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:active", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:WindowLink", + "product": "core", + "publicId": "LibTmux.Snapshot#v:WindowLink.active", + "qualifiedName": "LibTmux.Snapshot.active", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "active" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool", + "text": "Bool" + } + ], + "params": [], + "raw": "active :: !Bool" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "A physical pane together with one contextual window appearance." + }, + "id": "LibTmux.Snapshot#t:PaneOccurrence", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`PaneOccurrence `", + "raw": "instance NFData PaneOccurrence", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:PaneOccurrence", + "target": "LibTmux.Snapshot#t:PaneOccurrence", + "text": "PaneOccurrence" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 130, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`PaneOccurrence `", + "raw": "instance Eq PaneOccurrence", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:PaneOccurrence", + "target": "LibTmux.Snapshot#t:PaneOccurrence", + "text": "PaneOccurrence" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 129, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`PaneOccurrence `", + "raw": "instance Show PaneOccurrence", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:PaneOccurrence", + "target": "LibTmux.Snapshot#t:PaneOccurrence", + "text": "PaneOccurrence" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 129, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "PaneOccurrence", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:PaneOccurrence", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:PaneOccurrence", + "qualifiedName": "LibTmux.Snapshot.PaneOccurrence", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "PaneOccurrence" + } + ], + "params": [], + "raw": "data PaneOccurrence" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 125, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": null, + "id": "LibTmux.Snapshot#v:PaneOccurrence", + "kind": "function", + "modifiers": [], + "name": "PaneOccurrence", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:PaneOccurrence", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:PaneOccurrence", + "product": "core", + "publicId": "LibTmux.Snapshot#v:PaneOccurrence", + "qualifiedName": "LibTmux.Snapshot.PaneOccurrence", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "PaneOccurrence" + } + ], + "params": [], + "raw": "PaneOccurrence" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 125, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Captured physical pane value." + }, + "id": "LibTmux.Snapshot#v:PaneOccurrence.pane", + "kind": "property", + "modifiers": [], + "name": "pane", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:pane", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:PaneOccurrence", + "product": "core", + "publicId": "LibTmux.Snapshot#v:PaneOccurrence.pane", + "qualifiedName": "LibTmux.Snapshot.pane", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "pane" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + } + ], + "params": [], + "raw": "pane :: !Pane" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Session and index context through which it appears." + }, + "id": "LibTmux.Snapshot#v:PaneOccurrence.link", + "kind": "property", + "modifiers": [], + "name": "link", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:link", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:PaneOccurrence", + "product": "core", + "publicId": "LibTmux.Snapshot#v:PaneOccurrence.link", + "qualifiedName": "LibTmux.Snapshot.link", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "link" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + } + ], + "params": [], + "raw": "link :: !WindowLink" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 127, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "A detached client observation, not an operational connection or live ref.\n The live profile lists attached clients; an offline value may be unattached." + }, + "id": "LibTmux.Snapshot#t:Client", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`Client `", + "raw": "instance NFData Client", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:Client", + "target": "LibTmux.Snapshot#t:Client", + "text": "Client" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 168, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Client `", + "raw": "instance Eq Client", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:Client", + "target": "LibTmux.Snapshot#t:Client", + "text": "Client" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 167, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Client `", + "raw": "instance Show Client", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:Client", + "target": "LibTmux.Snapshot#t:Client", + "text": "Client" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 167, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "Client", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:Client", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:Client", + "qualifiedName": "LibTmux.Snapshot.Client", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Client" + } + ], + "params": [], + "raw": "data Client" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 161, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": null, + "id": "LibTmux.Snapshot#v:Client", + "kind": "function", + "modifiers": [], + "name": "Client", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:Client", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Client", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Client", + "qualifiedName": "LibTmux.Snapshot.Client", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "Client" + } + ], + "params": [], + "raw": "Client" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 161, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Reported client-name bytes; names may be reused." + }, + "id": "LibTmux.Snapshot#v:Client.name", + "kind": "property", + "modifiers": [], + "name": "name", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:name", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Client", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Client.name", + "qualifiedName": "LibTmux.Snapshot.name", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "name" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixString", + "text": "PosixString" + } + ], + "params": [], + "raw": "name :: !PosixString" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Reported positive client process ID." + }, + "id": "LibTmux.Snapshot#v:Client.pid", + "kind": "property", + "modifiers": [], + "name": "pid", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:pid", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Client", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Client.pid", + "qualifiedName": "LibTmux.Snapshot.pid", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "pid" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "pid :: !Integer" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Reported terminal path, when present." + }, + "id": "LibTmux.Snapshot#v:Client.tty", + "kind": "property", + "modifiers": [], + "name": "tty", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:tty", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Client", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Client.tty", + "qualifiedName": "LibTmux.Snapshot.tty", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "tty" + }, + { + "text": " :: !(" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe", + "text": "Maybe" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath", + "text": "PosixPath" + }, + { + "text": ")" + } + ], + "params": [], + "raw": "tty :: !(Maybe PosixPath)" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Attachment values resolved within this capture." + }, + "id": "LibTmux.Snapshot#v:Client.attachment", + "kind": "property", + "modifiers": [], + "name": "attachment", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:attachment", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Client", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Client.attachment", + "qualifiedName": "LibTmux.Snapshot.attachment", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "attachment" + }, + { + "text": " :: !(" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe", + "text": "Maybe" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:ClientAttachment", + "target": "LibTmux.Snapshot#t:ClientAttachment", + "text": "ClientAttachment" + }, + { + "text": ")" + } + ], + "params": [], + "raw": "attachment :: !(Maybe ClientAttachment)" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 165, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "An attachment contains this capture's values. It never resolves a retained\n client name against a later capture. The pane is the session window's global\n active pane, not an independent client focus; its link retains session context." + }, + "id": "LibTmux.Snapshot#t:ClientAttachment", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`ClientAttachment `", + "raw": "instance NFData ClientAttachment", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:ClientAttachment", + "target": "LibTmux.Snapshot#t:ClientAttachment", + "text": "ClientAttachment" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 156, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`ClientAttachment `", + "raw": "instance Eq ClientAttachment", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:ClientAttachment", + "target": "LibTmux.Snapshot#t:ClientAttachment", + "text": "ClientAttachment" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 155, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`ClientAttachment `", + "raw": "instance Show ClientAttachment", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:ClientAttachment", + "target": "LibTmux.Snapshot#t:ClientAttachment", + "text": "ClientAttachment" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 155, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "ClientAttachment", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:ClientAttachment", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:ClientAttachment", + "qualifiedName": "LibTmux.Snapshot.ClientAttachment", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "ClientAttachment" + } + ], + "params": [], + "raw": "data ClientAttachment" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 150, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": null, + "id": "LibTmux.Snapshot#v:ClientAttachment", + "kind": "function", + "modifiers": [], + "name": "ClientAttachment", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:ClientAttachment", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:ClientAttachment", + "product": "core", + "publicId": "LibTmux.Snapshot#v:ClientAttachment", + "qualifiedName": "LibTmux.Snapshot.ClientAttachment", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "ClientAttachment" + } + ], + "params": [], + "raw": "ClientAttachment" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 150, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Captured attachment session." + }, + "id": "LibTmux.Snapshot#v:ClientAttachment.session", + "kind": "property", + "modifiers": [], + "name": "session", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:session", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:ClientAttachment", + "product": "core", + "publicId": "LibTmux.Snapshot#v:ClientAttachment.session", + "qualifiedName": "LibTmux.Snapshot.session", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "session" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + } + ], + "params": [], + "raw": "session :: !Session" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Captured physical selected window." + }, + "id": "LibTmux.Snapshot#v:ClientAttachment.window", + "kind": "property", + "modifiers": [], + "name": "window", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:window", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:ClientAttachment", + "product": "core", + "publicId": "LibTmux.Snapshot#v:ClientAttachment.window", + "qualifiedName": "LibTmux.Snapshot.window", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "window" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + } + ], + "params": [], + "raw": "window :: !Window" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Selected pane with its session/window-link context." + }, + "id": "LibTmux.Snapshot#v:ClientAttachment.pane", + "kind": "property", + "modifiers": [], + "name": "pane", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:pane", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:ClientAttachment", + "product": "core", + "publicId": "LibTmux.Snapshot#v:ClientAttachment.pane", + "qualifiedName": "LibTmux.Snapshot.pane", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "pane" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:PaneOccurrence", + "target": "LibTmux.Snapshot#t:PaneOccurrence", + "text": "PaneOccurrence" + } + ], + "params": [], + "raw": "pane :: !PaneOccurrence" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Opaque connection or offline-fixture identity. Independent Server handles\n receive distinct tokens; named fixtures never equal an adopted endpoint." + }, + "id": "LibTmux.Snapshot#t:Generation", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`Generation `", + "raw": "instance NFData Generation", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:Generation", + "target": "LibTmux.Snapshot#t:Generation", + "text": "Generation" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 47, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Generation `", + "raw": "instance Eq Generation", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:Generation", + "target": "LibTmux.Snapshot#t:Generation", + "text": "Generation" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 46, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`Generation `", + "raw": "instance Ord Generation", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Snapshot.html#t:Generation", + "target": "LibTmux.Snapshot#t:Generation", + "text": "Generation" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 46, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Generation `", + "raw": "instance Show Generation", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:Generation", + "target": "LibTmux.Snapshot#t:Generation", + "text": "Generation" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 46, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "Generation", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:Generation", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:Generation", + "qualifiedName": "LibTmux.Snapshot.Generation", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Generation" + } + ], + "params": [], + "raw": "data Generation" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 44, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Session targeting identity within a :obj:`Generation `. Compare observations\n separately when their captured field values matter." + }, + "id": "LibTmux.Snapshot#t:SessionRef", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`SessionRef `", + "raw": "instance NFData SessionRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:SessionRef", + "target": "LibTmux.Snapshot#t:SessionRef", + "text": "SessionRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 55, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`SessionRef `", + "raw": "instance Eq SessionRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:SessionRef", + "target": "LibTmux.Snapshot#t:SessionRef", + "text": "SessionRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 54, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`SessionRef `", + "raw": "instance Ord SessionRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Snapshot.html#t:SessionRef", + "target": "LibTmux.Snapshot#t:SessionRef", + "text": "SessionRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 54, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`SessionRef `", + "raw": "instance Show SessionRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:SessionRef", + "target": "LibTmux.Snapshot#t:SessionRef", + "text": "SessionRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 54, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "SessionRef", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:SessionRef", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:SessionRef", + "qualifiedName": "LibTmux.Snapshot.SessionRef", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "SessionRef" + } + ], + "params": [], + "raw": "data SessionRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 53, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Physical window targeting identity within a :obj:`Generation `. A window can\n have several :obj:`WindowLink ` appearances." + }, + "id": "LibTmux.Snapshot#t:WindowRef", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`WindowRef `", + "raw": "instance NFData WindowRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 62, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`WindowRef `", + "raw": "instance Eq WindowRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 61, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`WindowRef `", + "raw": "instance Ord WindowRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 61, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`WindowRef `", + "raw": "instance Show WindowRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 61, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "WindowRef", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:WindowRef", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:WindowRef", + "qualifiedName": "LibTmux.Snapshot.WindowRef", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "WindowRef" + } + ], + "params": [], + "raw": "data WindowRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 60, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Physical pane targeting identity within a :obj:`Generation `. This carries\n identity, while the supplied :obj:`Snapshot ` determines the observed values." + }, + "id": "LibTmux.Snapshot#t:PaneRef", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`PaneRef `", + "raw": "instance NFData PaneRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:PaneRef", + "target": "LibTmux.Snapshot#t:PaneRef", + "text": "PaneRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 69, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`PaneRef `", + "raw": "instance Eq PaneRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:PaneRef", + "target": "LibTmux.Snapshot#t:PaneRef", + "text": "PaneRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 68, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`PaneRef `", + "raw": "instance Ord PaneRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Snapshot.html#t:PaneRef", + "target": "LibTmux.Snapshot#t:PaneRef", + "text": "PaneRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 68, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`PaneRef `", + "raw": "instance Show PaneRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:PaneRef", + "target": "LibTmux.Snapshot#t:PaneRef", + "text": "PaneRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 68, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "PaneRef", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:PaneRef", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:PaneRef", + "qualifiedName": "LibTmux.Snapshot.PaneRef", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "PaneRef" + } + ], + "params": [], + "raw": "data PaneRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 67, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Native session ID, without the reference's generation guarantee." + }, + "id": "LibTmux.Snapshot#v:sessionId", + "kind": "function", + "modifiers": [], + "name": "sessionId", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:sessionId", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:sessionId", + "qualifiedName": "LibTmux.Snapshot.sessionId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "sessionId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:SessionRef", + "target": "LibTmux.Snapshot#t:SessionRef", + "text": "SessionRef" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + } + ], + "params": [], + "raw": "sessionId :: SessionRef -> SessionId" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 71, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Native physical window ID. Window-link indices are separate values." + }, + "id": "LibTmux.Snapshot#v:windowId", + "kind": "function", + "modifiers": [], + "name": "windowId", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:windowId", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:windowId", + "qualifiedName": "LibTmux.Snapshot.windowId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windowId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + } + ], + "params": [], + "raw": "windowId :: WindowRef -> WindowId" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 75, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Native pane ID. Comparing IDs alone does not compare Server identity." + }, + "id": "LibTmux.Snapshot#v:paneId", + "kind": "function", + "modifiers": [], + "name": "paneId", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:paneId", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:paneId", + "qualifiedName": "LibTmux.Snapshot.paneId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "paneId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:PaneRef", + "target": "LibTmux.Snapshot#t:PaneRef", + "text": "PaneRef" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + } + ], + "params": [], + "raw": "paneId :: PaneRef -> PaneId" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 79, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Physical sessions in numeric ID order." + }, + "id": "LibTmux.Snapshot#v:sessions", + "kind": "function", + "modifiers": [], + "name": "sessions", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:sessions", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:sessions", + "qualifiedName": "LibTmux.Snapshot.sessions", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "sessions" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> [" + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "sessions :: Snapshot -> [Session]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 83, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Physical windows in numeric ID order, independent of their links." + }, + "id": "LibTmux.Snapshot#v:windows", + "kind": "function", + "modifiers": [], + "name": "windows", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:windows", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:windows", + "qualifiedName": "LibTmux.Snapshot.windows", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windows" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> [" + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "windows :: Snapshot -> [Window]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 87, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Physical panes in numeric ID order. Use :obj:`paneOccurrences ` for link context." + }, + "id": "LibTmux.Snapshot#v:panes", + "kind": "function", + "modifiers": [], + "name": "panes", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:panes", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:panes", + "qualifiedName": "LibTmux.Snapshot.panes", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "panes" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> [" + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "panes :: Snapshot -> [Pane]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 91, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Window appearances in session ID and window-index order." + }, + "id": "LibTmux.Snapshot#v:windowLinks", + "kind": "function", + "modifiers": [], + "name": "windowLinks", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:windowLinks", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:windowLinks", + "qualifiedName": "LibTmux.Snapshot.windowLinks", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windowLinks" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> [" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "windowLinks :: Snapshot -> [WindowLink]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 95, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Every pane appearance, ordered by link and then pane index." + }, + "id": "LibTmux.Snapshot#v:paneOccurrences", + "kind": "function", + "modifiers": [], + "name": "paneOccurrences", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:paneOccurrences", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:paneOccurrences", + "qualifiedName": "LibTmux.Snapshot.paneOccurrences", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "paneOccurrences" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> [" + }, + { + "href": "LibTmux-Snapshot.html#t:PaneOccurrence", + "target": "LibTmux.Snapshot#t:PaneOccurrence", + "text": "PaneOccurrence" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "paneOccurrences :: Snapshot -> [PaneOccurrence]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 99, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Captured attached clients in reported-name and PID order. Names may repeat." + }, + "id": "LibTmux.Snapshot#v:clients", + "kind": "function", + "modifiers": [], + "name": "clients", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:clients", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:clients", + "qualifiedName": "LibTmux.Snapshot.clients", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "clients" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> [" + }, + { + "href": "LibTmux-Snapshot.html#t:Client", + "target": "LibTmux.Snapshot#t:Client", + "text": "Client" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "clients :: Snapshot -> [Client]" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 199, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "A reference that cannot resolve in the supplied immutable snapshot.\n Missing entities are distinct from a successfully observed empty relation." + }, + "id": "LibTmux.Snapshot#t:LookupError", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`LookupError `", + "raw": "instance Eq LookupError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:LookupError", + "target": "LibTmux.Snapshot#t:LookupError", + "text": "LookupError" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 245, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`LookupError `", + "raw": "instance Show LookupError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:LookupError", + "target": "LibTmux.Snapshot#t:LookupError", + "text": "LookupError" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 245, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "LookupError", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:LookupError", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:LookupError", + "qualifiedName": "LibTmux.Snapshot.LookupError", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "LookupError" + } + ], + "params": [], + "raw": "data LookupError" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 240, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "The reference belongs to another connection generation." + }, + "id": "LibTmux.Snapshot#v:ForeignGeneration", + "kind": "function", + "modifiers": [], + "name": "ForeignGeneration", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:ForeignGeneration", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:LookupError", + "product": "core", + "publicId": "LibTmux.Snapshot#v:ForeignGeneration", + "qualifiedName": "LibTmux.Snapshot.ForeignGeneration", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "ForeignGeneration" + } + ], + "params": [], + "raw": "ForeignGeneration" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 241, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "No session with this identity was captured." + }, + "id": "LibTmux.Snapshot#v:MissingSession", + "kind": "function", + "modifiers": [], + "name": "MissingSession", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:MissingSession", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:LookupError", + "product": "core", + "publicId": "LibTmux.Snapshot#v:MissingSession", + "qualifiedName": "LibTmux.Snapshot.MissingSession", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "MissingSession" + }, + { + "text": " !" + }, + { + "href": "LibTmux-Snapshot.html#t:SessionRef", + "target": "LibTmux.Snapshot#t:SessionRef", + "text": "SessionRef" + } + ], + "params": [], + "raw": "MissingSession !SessionRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 242, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "No physical window with this identity was captured." + }, + "id": "LibTmux.Snapshot#v:MissingWindow", + "kind": "function", + "modifiers": [], + "name": "MissingWindow", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:MissingWindow", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:LookupError", + "product": "core", + "publicId": "LibTmux.Snapshot#v:MissingWindow", + "qualifiedName": "LibTmux.Snapshot.MissingWindow", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "MissingWindow" + }, + { + "text": " !" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + } + ], + "params": [], + "raw": "MissingWindow !WindowRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 243, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "No physical pane with this identity was captured." + }, + "id": "LibTmux.Snapshot#v:MissingPane", + "kind": "function", + "modifiers": [], + "name": "MissingPane", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:MissingPane", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:LookupError", + "product": "core", + "publicId": "LibTmux.Snapshot#v:MissingPane", + "qualifiedName": "LibTmux.Snapshot.MissingPane", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "MissingPane" + }, + { + "text": " !" + }, + { + "href": "LibTmux-Snapshot.html#t:PaneRef", + "target": "LibTmux.Snapshot#t:PaneRef", + "text": "PaneRef" + } + ], + "params": [], + "raw": "MissingPane !PaneRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 244, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Resolve a session in this snapshot. Missing and foreign refs are errors." + }, + "id": "LibTmux.Snapshot#v:lookupSession", + "kind": "function", + "modifiers": [], + "name": "lookupSession", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:lookupSession", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:lookupSession", + "qualifiedName": "LibTmux.Snapshot.lookupSession", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "lookupSession" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:SessionRef", + "target": "LibTmux.Snapshot#t:SessionRef", + "text": "SessionRef" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:LookupError", + "target": "LibTmux.Snapshot#t:LookupError", + "text": "LookupError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + } + ], + "params": [], + "raw": "lookupSession :: Snapshot -> SessionRef -> Either LookupError Session" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 103, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Resolve the supplied generation's physical window in this snapshot." + }, + "id": "LibTmux.Snapshot#v:lookupWindow", + "kind": "function", + "modifiers": [], + "name": "lookupWindow", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:lookupWindow", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:lookupWindow", + "qualifiedName": "LibTmux.Snapshot.lookupWindow", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "lookupWindow" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:LookupError", + "target": "LibTmux.Snapshot#t:LookupError", + "text": "LookupError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + } + ], + "params": [], + "raw": "lookupWindow :: Snapshot -> WindowRef -> Either LookupError Window" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 107, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Resolve the supplied generation's physical pane in this snapshot." + }, + "id": "LibTmux.Snapshot#v:lookupPane", + "kind": "function", + "modifiers": [], + "name": "lookupPane", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:lookupPane", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:lookupPane", + "qualifiedName": "LibTmux.Snapshot.lookupPane", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "lookupPane" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:PaneRef", + "target": "LibTmux.Snapshot#t:PaneRef", + "text": "PaneRef" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:LookupError", + "target": "LibTmux.Snapshot#t:LookupError", + "text": "LookupError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + } + ], + "params": [], + "raw": "lookupPane :: Snapshot -> PaneRef -> Either LookupError Pane" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 111, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "A session's window links in window-index order, preserving repeated windows." + }, + "id": "LibTmux.Snapshot#v:linksForSession", + "kind": "function", + "modifiers": [], + "name": "linksForSession", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:linksForSession", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:linksForSession", + "qualifiedName": "LibTmux.Snapshot.linksForSession", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "linksForSession" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:SessionRef", + "target": "LibTmux.Snapshot#t:SessionRef", + "text": "SessionRef" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:LookupError", + "target": "LibTmux.Snapshot#t:LookupError", + "text": "LookupError" + }, + { + "text": " [" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "linksForSession :: Snapshot -> SessionRef -> Either LookupError [WindowLink]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 115, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "A physical window's panes in pane-index order, then numeric ID order." + }, + "id": "LibTmux.Snapshot#v:panesForWindow", + "kind": "function", + "modifiers": [], + "name": "panesForWindow", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:panesForWindow", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:panesForWindow", + "qualifiedName": "LibTmux.Snapshot.panesForWindow", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "panesForWindow" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:LookupError", + "target": "LibTmux.Snapshot#t:LookupError", + "text": "LookupError" + }, + { + "text": " [" + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "panesForWindow :: Snapshot -> WindowRef -> Either LookupError [Pane]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 119, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Select the session currently observed under an ID in this snapshot.\n This creates no continuity guarantee with a previously opened Server." + }, + "id": "LibTmux.Snapshot#v:lookupSessionId", + "kind": "function", + "modifiers": [], + "name": "lookupSessionId", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:lookupSessionId", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:lookupSessionId", + "qualifiedName": "LibTmux.Snapshot.lookupSessionId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "lookupSessionId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:LookupError", + "target": "LibTmux.Snapshot#t:LookupError", + "text": "LookupError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + } + ], + "params": [], + "raw": "lookupSessionId :: Snapshot -> SessionId -> Either LookupError Session" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 124, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Select the physical window observed under an ID in this snapshot." + }, + "id": "LibTmux.Snapshot#v:lookupWindowId", + "kind": "function", + "modifiers": [], + "name": "lookupWindowId", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:lookupWindowId", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:lookupWindowId", + "qualifiedName": "LibTmux.Snapshot.lookupWindowId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "lookupWindowId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:LookupError", + "target": "LibTmux.Snapshot#t:LookupError", + "text": "LookupError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + } + ], + "params": [], + "raw": "lookupWindowId :: Snapshot -> WindowId -> Either LookupError Window" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 128, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Select the pane observed under an ID in this snapshot." + }, + "id": "LibTmux.Snapshot#v:lookupPaneId", + "kind": "function", + "modifiers": [], + "name": "lookupPaneId", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:lookupPaneId", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:lookupPaneId", + "qualifiedName": "LibTmux.Snapshot.lookupPaneId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "lookupPaneId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:LookupError", + "target": "LibTmux.Snapshot#t:LookupError", + "text": "LookupError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + } + ], + "params": [], + "raw": "lookupPaneId :: Snapshot -> PaneId -> Either LookupError Pane" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 132, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.TmuxText", + "doc": { + "summary": "A lossless reported label. Equality and ordering compare bytes.\n String literals use UTF-8; byte constructors also admit non-text data.\n Conversion functions are exposed in :obj:`LibTmux.Snapshot `." + }, + "id": "LibTmux.Snapshot#t:TmuxText", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`TmuxText `", + "raw": "instance NFData TmuxText", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:TmuxText", + "target": "LibTmux.Snapshot#t:TmuxText", + "text": "TmuxText" + } + ], + "source": { + "file": "internal/LibTmux/Internal/TmuxText.hs", + "line": 24, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`TmuxText `", + "raw": "instance Eq TmuxText", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:TmuxText", + "target": "LibTmux.Snapshot#t:TmuxText", + "text": "TmuxText" + } + ], + "source": { + "file": "internal/LibTmux/Internal/TmuxText.hs", + "line": 22, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`TmuxText `", + "raw": "instance Ord TmuxText", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Snapshot.html#t:TmuxText", + "target": "LibTmux.Snapshot#t:TmuxText", + "text": "TmuxText" + } + ], + "source": { + "file": "internal/LibTmux/Internal/TmuxText.hs", + "line": 22, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [IsString](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-String.html#t:IsString) :obj:`TmuxText `", + "raw": "instance IsString TmuxText", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-String.html#t:IsString", + "text": "IsString" + }, + { + "href": "LibTmux-Snapshot.html#t:TmuxText", + "target": "LibTmux.Snapshot#t:TmuxText", + "text": "TmuxText" + } + ], + "source": { + "file": "internal/LibTmux/Internal/TmuxText.hs", + "line": 27, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`TmuxText `", + "raw": "instance Show TmuxText", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:TmuxText", + "target": "LibTmux.Snapshot#t:TmuxText", + "text": "TmuxText" + } + ], + "source": { + "file": "internal/LibTmux/Internal/TmuxText.hs", + "line": 22, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "TmuxText", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:TmuxText", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:TmuxText", + "qualifiedName": "LibTmux.Snapshot.TmuxText", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "TmuxText" + } + ], + "params": [], + "raw": "data TmuxText" + } + ], + "source": { + "file": "internal/LibTmux/Internal/TmuxText.hs", + "line": 21, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Copy bytes into an owned label. This performs no encoding replacement." + }, + "id": "LibTmux.Snapshot#v:labelFromBytes", + "kind": "function", + "modifiers": [], + "name": "labelFromBytes", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:labelFromBytes", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:labelFromBytes", + "qualifiedName": "LibTmux.Snapshot.labelFromBytes", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "labelFromBytes" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/bytestring-0.12.2.0/docs/Data-ByteString.html#t:ByteString", + "text": "ByteString" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:TmuxText", + "target": "LibTmux.Snapshot#t:TmuxText", + "text": "TmuxText" + } + ], + "params": [], + "raw": "labelFromBytes :: ByteString -> TmuxText" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 136, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Exact bytes reported by tmux, after transport decoding." + }, + "id": "LibTmux.Snapshot#v:labelBytes", + "kind": "function", + "modifiers": [], + "name": "labelBytes", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:labelBytes", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:labelBytes", + "qualifiedName": "LibTmux.Snapshot.labelBytes", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "labelBytes" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:TmuxText", + "target": "LibTmux.Snapshot#t:TmuxText", + "text": "TmuxText" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/bytestring-0.12.2.0/docs/Data-ByteString.html#t:ByteString", + "text": "ByteString" + } + ], + "params": [], + "raw": "labelBytes :: TmuxText -> ByteString" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 140, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Decode a label as UTF-8, retaining byte access on failure." + }, + "id": "LibTmux.Snapshot#v:labelText", + "kind": "function", + "modifiers": [], + "name": "labelText", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:labelText", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:labelText", + "qualifiedName": "LibTmux.Snapshot.labelText", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "labelText" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:TmuxText", + "target": "LibTmux.Snapshot#t:TmuxText", + "text": "TmuxText" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text-Encoding-Error.html#t:UnicodeException", + "text": "UnicodeException" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "labelText :: TmuxText -> Either UnicodeException Text" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 144, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "A named offline namespace. Equal names deliberately compare equal, so\n tests can model successive observations. This cannot represent a Server." + }, + "id": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`FixtureOrigin `", + "raw": "instance Eq FixtureOrigin", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureOrigin", + "target": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "text": "FixtureOrigin" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 38, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`FixtureOrigin `", + "raw": "instance Ord FixtureOrigin", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureOrigin", + "target": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "text": "FixtureOrigin" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 38, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`FixtureOrigin `", + "raw": "instance Show FixtureOrigin", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureOrigin", + "target": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "text": "FixtureOrigin" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 38, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "FixtureOrigin", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "t:FixtureOrigin", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "qualifiedName": "LibTmux.Snapshot.Fixture.FixtureOrigin", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "FixtureOrigin" + } + ], + "params": [], + "raw": "data FixtureOrigin" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 37, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Select a pure fixture namespace. No endpoint lookup or random IO occurs." + }, + "id": "LibTmux.Snapshot.Fixture#v:fixtureOrigin", + "kind": "function", + "modifiers": [], + "name": "fixtureOrigin", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:fixtureOrigin", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:fixtureOrigin", + "qualifiedName": "LibTmux.Snapshot.Fixture.fixtureOrigin", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "fixtureOrigin" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureOrigin", + "target": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "text": "FixtureOrigin" + } + ], + "params": [], + "raw": "fixtureOrigin :: Text -> FixtureOrigin" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 42, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "The offline generation for :obj:`Fixture ` metadata. Replacing it with a connection\n generation causes :obj:`validateFixture ` to reject the metadata." + }, + "id": "LibTmux.Snapshot.Fixture#v:fixtureGeneration", + "kind": "function", + "modifiers": [], + "name": "fixtureGeneration", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:fixtureGeneration", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:fixtureGeneration", + "qualifiedName": "LibTmux.Snapshot.Fixture.fixtureGeneration", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "fixtureGeneration" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureOrigin", + "target": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "text": "FixtureOrigin" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:Generation", + "target": "LibTmux.Snapshot#t:Generation", + "text": "Generation" + } + ], + "params": [], + "raw": "fixtureGeneration :: FixtureOrigin -> Generation" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 47, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Construct a session reference that belongs only to this offline origin." + }, + "id": "LibTmux.Snapshot.Fixture#v:sessionRef", + "kind": "function", + "modifiers": [], + "name": "sessionRef", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:sessionRef", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:sessionRef", + "qualifiedName": "LibTmux.Snapshot.Fixture.sessionRef", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "sessionRef" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureOrigin", + "target": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "text": "FixtureOrigin" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:SessionRef", + "target": "LibTmux.Snapshot#t:SessionRef", + "text": "SessionRef" + } + ], + "params": [], + "raw": "sessionRef :: FixtureOrigin -> SessionId -> SessionRef" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 51, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Construct a physical window reference without granting live authority." + }, + "id": "LibTmux.Snapshot.Fixture#v:windowRef", + "kind": "function", + "modifiers": [], + "name": "windowRef", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:windowRef", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:windowRef", + "qualifiedName": "LibTmux.Snapshot.Fixture.windowRef", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windowRef" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureOrigin", + "target": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "text": "FixtureOrigin" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + } + ], + "params": [], + "raw": "windowRef :: FixtureOrigin -> WindowId -> WindowRef" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 55, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Construct a pane reference without consulting or targeting a daemon." + }, + "id": "LibTmux.Snapshot.Fixture#v:paneRef", + "kind": "function", + "modifiers": [], + "name": "paneRef", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:paneRef", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:paneRef", + "qualifiedName": "LibTmux.Snapshot.Fixture.paneRef", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "paneRef" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureOrigin", + "target": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "text": "FixtureOrigin" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:PaneRef", + "target": "LibTmux.Snapshot#t:PaneRef", + "text": "PaneRef" + } + ], + "params": [], + "raw": "paneRef :: FixtureOrigin -> PaneId -> PaneRef" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 59, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Ordinary finite inputs. Validation applies the captured graph's laws;\n record construction or updates alone do not establish those laws." + }, + "id": "LibTmux.Snapshot.Fixture#t:Fixture", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Fixture `", + "raw": "instance Eq Fixture", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:Fixture", + "target": "LibTmux.Snapshot.Fixture#t:Fixture", + "text": "Fixture" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 71, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Fixture `", + "raw": "instance Show Fixture", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:Fixture", + "target": "LibTmux.Snapshot.Fixture#t:Fixture", + "text": "Fixture" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 71, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "Fixture", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "t:Fixture", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#t:Fixture", + "qualifiedName": "LibTmux.Snapshot.Fixture.Fixture", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Fixture" + } + ], + "params": [], + "raw": "data Fixture" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 63, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": null, + "id": "LibTmux.Snapshot.Fixture#v:Fixture", + "kind": "function", + "modifiers": [], + "name": "Fixture", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:Fixture", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:Fixture", + "qualifiedName": "LibTmux.Snapshot.Fixture.Fixture", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "Fixture" + } + ], + "params": [], + "raw": "Fixture" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 63, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Synthetic metadata in the supplied offline generation." + }, + "id": "LibTmux.Snapshot.Fixture#v:Fixture.info", + "kind": "property", + "modifiers": [], + "name": "info", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:info", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:Fixture.info", + "qualifiedName": "LibTmux.Snapshot.Fixture.info", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "info" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:ServerInfo", + "target": "LibTmux.Snapshot#t:ServerInfo", + "text": "ServerInfo" + } + ], + "params": [], + "raw": "info :: !ServerInfo" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 64, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Physical sessions, with references from this origin." + }, + "id": "LibTmux.Snapshot.Fixture#v:Fixture.sessions", + "kind": "property", + "modifiers": [], + "name": "sessions", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:sessions", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:Fixture.sessions", + "qualifiedName": "LibTmux.Snapshot.Fixture.sessions", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "sessions" + }, + { + "text": " :: ![" + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "sessions :: ![Session]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 65, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Physical windows, independent of contextual appearances." + }, + "id": "LibTmux.Snapshot.Fixture#v:Fixture.windows", + "kind": "property", + "modifiers": [], + "name": "windows", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:windows", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:Fixture.windows", + "qualifiedName": "LibTmux.Snapshot.Fixture.windows", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windows" + }, + { + "text": " :: ![" + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "windows :: ![Window]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 66, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Physical panes with their containing window references." + }, + "id": "LibTmux.Snapshot.Fixture#v:Fixture.panes", + "kind": "property", + "modifiers": [], + "name": "panes", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:panes", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:Fixture.panes", + "qualifiedName": "LibTmux.Snapshot.Fixture.panes", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "panes" + }, + { + "text": " :: ![" + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "panes :: ![Pane]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 67, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Session*index*window appearances, including active selections." + }, + "id": "LibTmux.Snapshot.Fixture#v:Fixture.windowLinks", + "kind": "property", + "modifiers": [], + "name": "windowLinks", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:windowLinks", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:Fixture.windowLinks", + "qualifiedName": "LibTmux.Snapshot.Fixture.windowLinks", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windowLinks" + }, + { + "text": " :: ![" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "windowLinks :: ![WindowLink]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 68, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Complete attached-client listing for this fixture." + }, + "id": "LibTmux.Snapshot.Fixture#v:Fixture.clients", + "kind": "property", + "modifiers": [], + "name": "clients", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:clients", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:Fixture.clients", + "qualifiedName": "LibTmux.Snapshot.Fixture.clients", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "clients" + }, + { + "text": " :: ![" + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:AttachedClient", + "target": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "text": "AttachedClient" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "clients :: ![AttachedClient]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 69, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "An attached client's native identity and context before graph validation.\n Validation resolves its values from the same snapshot; it never trusts a\n caller-supplied nested attachment record." + }, + "id": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`AttachedClient `", + "raw": "instance Eq AttachedClient", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:AttachedClient", + "target": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "text": "AttachedClient" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 85, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`AttachedClient `", + "raw": "instance Show AttachedClient", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:AttachedClient", + "target": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "text": "AttachedClient" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 85, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "AttachedClient", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "t:AttachedClient", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "qualifiedName": "LibTmux.Snapshot.Fixture.AttachedClient", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "AttachedClient" + } + ], + "params": [], + "raw": "data AttachedClient" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 76, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": null, + "id": "LibTmux.Snapshot.Fixture#v:AttachedClient", + "kind": "function", + "modifiers": [], + "name": "AttachedClient", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:AttachedClient", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:AttachedClient", + "qualifiedName": "LibTmux.Snapshot.Fixture.AttachedClient", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "AttachedClient" + } + ], + "params": [], + "raw": "AttachedClient" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 76, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Nonempty reported client-name bytes." + }, + "id": "LibTmux.Snapshot.Fixture#v:AttachedClient.name", + "kind": "property", + "modifiers": [], + "name": "name", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:name", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:AttachedClient.name", + "qualifiedName": "LibTmux.Snapshot.Fixture.name", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "name" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixString", + "text": "PosixString" + } + ], + "params": [], + "raw": "name :: !PosixString" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 77, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Positive synthetic client PID in the native PID range." + }, + "id": "LibTmux.Snapshot.Fixture#v:AttachedClient.pid", + "kind": "property", + "modifiers": [], + "name": "pid", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:pid", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:AttachedClient.pid", + "qualifiedName": "LibTmux.Snapshot.Fixture.pid", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "pid" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "pid :: !Integer" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 78, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Nonempty terminal path when provided." + }, + "id": "LibTmux.Snapshot.Fixture#v:AttachedClient.tty", + "kind": "property", + "modifiers": [], + "name": "tty", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:tty", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:AttachedClient.tty", + "qualifiedName": "LibTmux.Snapshot.Fixture.tty", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "tty" + }, + { + "text": " :: !(" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe", + "text": "Maybe" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath", + "text": "PosixPath" + }, + { + "text": ")" + } + ], + "params": [], + "raw": "tty :: !(Maybe PosixPath)" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 79, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Attachment session ID." + }, + "id": "LibTmux.Snapshot.Fixture#v:AttachedClient.session", + "kind": "property", + "modifiers": [], + "name": "session", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:session", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:AttachedClient.session", + "qualifiedName": "LibTmux.Snapshot.Fixture.session", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "session" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + } + ], + "params": [], + "raw": "session :: !SessionId" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 80, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Selected physical window ID." + }, + "id": "LibTmux.Snapshot.Fixture#v:AttachedClient.window", + "kind": "property", + "modifiers": [], + "name": "window", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:window", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:AttachedClient.window", + "qualifiedName": "LibTmux.Snapshot.Fixture.window", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "window" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + } + ], + "params": [], + "raw": "window :: !WindowId" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 81, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Selected window-link index in the attachment session." + }, + "id": "LibTmux.Snapshot.Fixture#v:AttachedClient.index", + "kind": "property", + "modifiers": [], + "name": "index", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:index", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:AttachedClient.index", + "qualifiedName": "LibTmux.Snapshot.Fixture.index", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "index" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Value.html#t:WindowIndex", + "target": "LibTmux.Value#t:WindowIndex", + "text": "WindowIndex" + } + ], + "params": [], + "raw": "index :: !WindowIndex" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 82, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "The selected physical pane, not an independent client focus." + }, + "id": "LibTmux.Snapshot.Fixture#v:AttachedClient.pane", + "kind": "property", + "modifiers": [], + "name": "pane", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:pane", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:AttachedClient.pane", + "qualifiedName": "LibTmux.Snapshot.Fixture.pane", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "pane" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + } + ], + "params": [], + "raw": "pane :: !PaneId" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 83, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Empty complete inputs with explicit synthetic metadata: PID 1, epoch 0\n and path `fixture:offline`. No process or socket exists by implication.\n The version and every edited field are checked by :obj:`validateFixture `." + }, + "id": "LibTmux.Snapshot.Fixture#v:emptyFixture", + "kind": "function", + "modifiers": [], + "name": "emptyFixture", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:emptyFixture", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:emptyFixture", + "qualifiedName": "LibTmux.Snapshot.Fixture.emptyFixture", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "emptyFixture" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureOrigin", + "target": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "text": "FixtureOrigin" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:Fixture", + "target": "LibTmux.Snapshot.Fixture#t:Fixture", + "text": "Fixture" + } + ], + "params": [], + "raw": "emptyFixture :: FixtureOrigin -> TmuxVersion -> Fixture" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 91, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "A failed graph or complete-snapshot validation, with domain\n context from the validator. Failed input never becomes an empty snapshot." + }, + "id": "LibTmux.Snapshot.Fixture#t:FixtureError", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`FixtureError `", + "raw": "instance Eq FixtureError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureError", + "target": "LibTmux.Snapshot.Fixture#t:FixtureError", + "text": "FixtureError" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 100, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`FixtureError `", + "raw": "instance Show FixtureError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureError", + "target": "LibTmux.Snapshot.Fixture#t:FixtureError", + "text": "FixtureError" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 100, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "FixtureError", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "t:FixtureError", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#t:FixtureError", + "qualifiedName": "LibTmux.Snapshot.Fixture.FixtureError", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "FixtureError" + } + ], + "params": [], + "raw": "data FixtureError" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 97, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Invalid references, multiplicity, attachment counts or selections." + }, + "id": "LibTmux.Snapshot.Fixture#v:InvalidGraph", + "kind": "function", + "modifiers": [], + "name": "InvalidGraph", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:InvalidGraph", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:FixtureError", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:InvalidGraph", + "qualifiedName": "LibTmux.Snapshot.Fixture.InvalidGraph", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "InvalidGraph" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "InvalidGraph !Text" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 98, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Invalid metadata or attached-client context." + }, + "id": "LibTmux.Snapshot.Fixture#v:InvalidSnapshot", + "kind": "function", + "modifiers": [], + "name": "InvalidSnapshot", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:InvalidSnapshot", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:FixtureError", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:InvalidSnapshot", + "qualifiedName": "LibTmux.Snapshot.Fixture.InvalidSnapshot", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "InvalidSnapshot" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "InvalidSnapshot !Text" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 99, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Validate and force owned values using the capture graph's invariants.\n Successful fixtures have no acquisition interval and carry offline\n provenance. Their references cannot equal references from a Server scope." + }, + "id": "LibTmux.Snapshot.Fixture#v:validateFixture", + "kind": "function", + "modifiers": [], + "name": "validateFixture", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:validateFixture", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:validateFixture", + "qualifiedName": "LibTmux.Snapshot.Fixture.validateFixture", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "validateFixture" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureOrigin", + "target": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "text": "FixtureOrigin" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:Fixture", + "target": "LibTmux.Snapshot.Fixture#t:Fixture", + "text": "Fixture" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureError", + "target": "LibTmux.Snapshot.Fixture#t:FixtureError", + "text": "FixtureError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + } + ], + "params": [], + "raw": "validateFixture :: FixtureOrigin -> Fixture -> Either FixtureError Snapshot" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 106, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "Positive cells, constructed with :obj:`mkDimension `. Command and field limits\n are checked separately. Compare dimensions directly or use :obj:`dimensionValue `\n with an integer literal." + }, + "id": "LibTmux.Value#t:Dimension", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`Dimension `", + "raw": "instance NFData Dimension", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 37, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Dimension `", + "raw": "instance Eq Dimension", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 36, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`Dimension `", + "raw": "instance Ord Dimension", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 36, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Dimension `", + "raw": "instance Show Dimension", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 36, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "Dimension", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "t:Dimension", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value", + "product": "core", + "publicId": "LibTmux.Value#t:Dimension", + "qualifiedName": "LibTmux.Value.Dimension", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Dimension" + } + ], + "params": [], + "raw": "data Dimension" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 35, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "Nonnegative index of a window link within a session, not a physical window ID.\n Construct with :obj:`mkWindowIndex `; read with :obj:`windowIndexValue `." + }, + "id": "LibTmux.Value#t:WindowIndex", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`WindowIndex `", + "raw": "instance NFData WindowIndex", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Value.html#t:WindowIndex", + "target": "LibTmux.Value#t:WindowIndex", + "text": "WindowIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 43, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`WindowIndex `", + "raw": "instance Eq WindowIndex", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Value.html#t:WindowIndex", + "target": "LibTmux.Value#t:WindowIndex", + "text": "WindowIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 42, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`WindowIndex `", + "raw": "instance Ord WindowIndex", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Value.html#t:WindowIndex", + "target": "LibTmux.Value#t:WindowIndex", + "text": "WindowIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 42, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`WindowIndex `", + "raw": "instance Show WindowIndex", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Value.html#t:WindowIndex", + "target": "LibTmux.Value#t:WindowIndex", + "text": "WindowIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 42, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "WindowIndex", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "t:WindowIndex", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value", + "product": "core", + "publicId": "LibTmux.Value#t:WindowIndex", + "qualifiedName": "LibTmux.Value.WindowIndex", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "WindowIndex" + } + ], + "params": [], + "raw": "data WindowIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 41, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "Nonnegative pane index within a window, not a pane ID.\n Construct with :obj:`mkPaneIndex `; read with :obj:`paneIndexValue `." + }, + "id": "LibTmux.Value#t:PaneIndex", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`PaneIndex `", + "raw": "instance NFData PaneIndex", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Value.html#t:PaneIndex", + "target": "LibTmux.Value#t:PaneIndex", + "text": "PaneIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 49, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`PaneIndex `", + "raw": "instance Eq PaneIndex", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Value.html#t:PaneIndex", + "target": "LibTmux.Value#t:PaneIndex", + "text": "PaneIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 48, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`PaneIndex `", + "raw": "instance Ord PaneIndex", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Value.html#t:PaneIndex", + "target": "LibTmux.Value#t:PaneIndex", + "text": "PaneIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 48, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`PaneIndex `", + "raw": "instance Show PaneIndex", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Value.html#t:PaneIndex", + "target": "LibTmux.Value#t:PaneIndex", + "text": "PaneIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 48, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "PaneIndex", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "t:PaneIndex", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value", + "product": "core", + "publicId": "LibTmux.Value#t:PaneIndex", + "qualifiedName": "LibTmux.Value.PaneIndex", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "PaneIndex" + } + ], + "params": [], + "raw": "data PaneIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 47, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "A scalar outside its mathematical domain." + }, + "id": "LibTmux.Value#t:ValueError", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`ValueError `", + "raw": "instance Eq ValueError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Value.html#t:ValueError", + "target": "LibTmux.Value#t:ValueError", + "text": "ValueError" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 55, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`ValueError `", + "raw": "instance Show ValueError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Value.html#t:ValueError", + "target": "LibTmux.Value#t:ValueError", + "text": "ValueError" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 55, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "ValueError", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "t:ValueError", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value", + "product": "core", + "publicId": "LibTmux.Value#t:ValueError", + "qualifiedName": "LibTmux.Value.ValueError", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "ValueError" + } + ], + "params": [], + "raw": "data ValueError" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 52, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "The supplied dimension was zero or negative." + }, + "id": "LibTmux.Value#v:NonPositiveDimension", + "kind": "function", + "modifiers": [], + "name": "NonPositiveDimension", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "v:NonPositiveDimension", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value#t:ValueError", + "product": "core", + "publicId": "LibTmux.Value#v:NonPositiveDimension", + "qualifiedName": "LibTmux.Value.NonPositiveDimension", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "NonPositiveDimension" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "NonPositiveDimension !Integer" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 53, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "The supplied contextual index was negative." + }, + "id": "LibTmux.Value#v:NegativeIndex", + "kind": "function", + "modifiers": [], + "name": "NegativeIndex", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "v:NegativeIndex", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value#t:ValueError", + "product": "core", + "publicId": "LibTmux.Value#v:NegativeIndex", + "qualifiedName": "LibTmux.Value.NegativeIndex", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "NegativeIndex" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "NegativeIndex !Integer" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 54, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "Construct a positive dimension without applying a command-specific maximum." + }, + "id": "LibTmux.Value#v:mkDimension", + "kind": "function", + "modifiers": [], + "name": "mkDimension", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "v:mkDimension", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value", + "product": "core", + "publicId": "LibTmux.Value#v:mkDimension", + "qualifiedName": "LibTmux.Value.mkDimension", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "mkDimension" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Value.html#t:ValueError", + "target": "LibTmux.Value#t:ValueError", + "text": "ValueError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + } + ], + "params": [], + "raw": "mkDimension :: Integer -> Either ValueError Dimension" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 59, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "Construct a nonnegative window-link index." + }, + "id": "LibTmux.Value#v:mkWindowIndex", + "kind": "function", + "modifiers": [], + "name": "mkWindowIndex", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "v:mkWindowIndex", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value", + "product": "core", + "publicId": "LibTmux.Value#v:mkWindowIndex", + "qualifiedName": "LibTmux.Value.mkWindowIndex", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "mkWindowIndex" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Value.html#t:ValueError", + "target": "LibTmux.Value#t:ValueError", + "text": "ValueError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Value.html#t:WindowIndex", + "target": "LibTmux.Value#t:WindowIndex", + "text": "WindowIndex" + } + ], + "params": [], + "raw": "mkWindowIndex :: Integer -> Either ValueError WindowIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 65, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "Construct a nonnegative pane index." + }, + "id": "LibTmux.Value#v:mkPaneIndex", + "kind": "function", + "modifiers": [], + "name": "mkPaneIndex", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "v:mkPaneIndex", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value", + "product": "core", + "publicId": "LibTmux.Value#v:mkPaneIndex", + "qualifiedName": "LibTmux.Value.mkPaneIndex", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "mkPaneIndex" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Value.html#t:ValueError", + "target": "LibTmux.Value#t:ValueError", + "text": "ValueError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Value.html#t:PaneIndex", + "target": "LibTmux.Value#t:PaneIndex", + "text": "PaneIndex" + } + ], + "params": [], + "raw": "mkPaneIndex :: Integer -> Either ValueError PaneIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 71, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "Read a dimension as a mathematical integer, without narrowing conversion." + }, + "id": "LibTmux.Value#v:dimensionValue", + "kind": "function", + "modifiers": [], + "name": "dimensionValue", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "v:dimensionValue", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value", + "product": "core", + "publicId": "LibTmux.Value#v:dimensionValue", + "qualifiedName": "LibTmux.Value.dimensionValue", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "dimensionValue" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "dimensionValue :: Dimension -> Integer" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 77, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "Read a window-link index as a mathematical integer." + }, + "id": "LibTmux.Value#v:windowIndexValue", + "kind": "function", + "modifiers": [], + "name": "windowIndexValue", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "v:windowIndexValue", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value", + "product": "core", + "publicId": "LibTmux.Value#v:windowIndexValue", + "qualifiedName": "LibTmux.Value.windowIndexValue", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windowIndexValue" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Value.html#t:WindowIndex", + "target": "LibTmux.Value#t:WindowIndex", + "text": "WindowIndex" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "windowIndexValue :: WindowIndex -> Integer" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 81, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "Read a pane index as a mathematical integer." + }, + "id": "LibTmux.Value#v:paneIndexValue", + "kind": "function", + "modifiers": [], + "name": "paneIndexValue", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "v:paneIndexValue", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value", + "product": "core", + "publicId": "LibTmux.Value#v:paneIndexValue", + "qualifiedName": "LibTmux.Value.paneIndexValue", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "paneIndexValue" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Value.html#t:PaneIndex", + "target": "LibTmux.Value#t:PaneIndex", + "text": "PaneIndex" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "paneIndexValue :: PaneIndex -> Integer" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 85, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Version", + "doc": { + "summary": "A stable release, constructed by :obj:`parseVersion ` and rendered by\n :obj:`renderVersion `. Ordering compares numeric components before the patch letter." + }, + "id": "LibTmux.Version#t:TmuxVersion", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`TmuxVersion `", + "raw": "instance Eq TmuxVersion", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 32, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`TmuxVersion `", + "raw": "instance Ord TmuxVersion", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 32, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`TmuxVersion `", + "raw": "instance Show TmuxVersion", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 32, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "TmuxVersion", + "namespace": "LibTmux.Version", + "nativeLocation": { + "anchor": "t:TmuxVersion", + "module": "LibTmux.Version" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Version", + "product": "core", + "publicId": "LibTmux.Version#t:TmuxVersion", + "qualifiedName": "LibTmux.Version.TmuxVersion", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "TmuxVersion" + } + ], + "params": [], + "raw": "data TmuxVersion" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 31, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Version", + "doc": { + "summary": "Invalid release syntax or a release outside the supported range." + }, + "id": "LibTmux.Version#t:VersionError", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`VersionError `", + "raw": "instance Eq VersionError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Version.html#t:VersionError", + "target": "LibTmux.Version#t:VersionError", + "text": "VersionError" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 38, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`VersionError `", + "raw": "instance Show VersionError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Version.html#t:VersionError", + "target": "LibTmux.Version#t:VersionError", + "text": "VersionError" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 38, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "VersionError", + "namespace": "LibTmux.Version", + "nativeLocation": { + "anchor": "t:VersionError", + "module": "LibTmux.Version" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Version", + "product": "core", + "publicId": "LibTmux.Version#t:VersionError", + "qualifiedName": "LibTmux.Version.VersionError", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "VersionError" + } + ], + "params": [], + "raw": "data VersionError" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 35, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Version", + "doc": { + "summary": "Bounded copy of input that is not a stable release." + }, + "id": "LibTmux.Version#v:MalformedVersion", + "kind": "function", + "modifiers": [], + "name": "MalformedVersion", + "namespace": "LibTmux.Version", + "nativeLocation": { + "anchor": "v:MalformedVersion", + "module": "LibTmux.Version" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Version#t:VersionError", + "product": "core", + "publicId": "LibTmux.Version#v:MalformedVersion", + "qualifiedName": "LibTmux.Version.MalformedVersion", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "MalformedVersion" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "MalformedVersion !Text" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 36, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Version", + "doc": { + "summary": "A stable release outside 3.3a through 3.8." + }, + "id": "LibTmux.Version#v:UnsupportedVersion", + "kind": "function", + "modifiers": [], + "name": "UnsupportedVersion", + "namespace": "LibTmux.Version", + "nativeLocation": { + "anchor": "v:UnsupportedVersion", + "module": "LibTmux.Version" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Version#t:VersionError", + "product": "core", + "publicId": "LibTmux.Version#v:UnsupportedVersion", + "qualifiedName": "LibTmux.Version.UnsupportedVersion", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "UnsupportedVersion" + }, + { + "text": " !" + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + } + ], + "params": [], + "raw": "UnsupportedVersion !TmuxVersion" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 37, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Version", + "doc": { + "summary": "Parse a stable release or the output of `tmux -V`, allowing one final LF.\n Development builds and trailing data are rejected rather than assigned\n capabilities from a guessed stable version. Diagnostics retain at most 64 chars." + }, + "id": "LibTmux.Version#v:parseVersion", + "kind": "function", + "modifiers": [], + "name": "parseVersion", + "namespace": "LibTmux.Version", + "nativeLocation": { + "anchor": "v:parseVersion", + "module": "LibTmux.Version" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Version", + "product": "core", + "publicId": "LibTmux.Version#v:parseVersion", + "qualifiedName": "LibTmux.Version.parseVersion", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "parseVersion" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Version.html#t:VersionError", + "target": "LibTmux.Version#t:VersionError", + "text": "VersionError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + } + ], + "params": [], + "raw": "parseVersion :: Text -> Either VersionError TmuxVersion" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 44, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Version", + "doc": { + "summary": "Render the canonical release without the executable name or newline." + }, + "id": "LibTmux.Version#v:renderVersion", + "kind": "function", + "modifiers": [], + "name": "renderVersion", + "namespace": "LibTmux.Version", + "nativeLocation": { + "anchor": "v:renderVersion", + "module": "LibTmux.Version" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Version", + "product": "core", + "publicId": "LibTmux.Version#v:renderVersion", + "qualifiedName": "LibTmux.Version.renderVersion", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "renderVersion" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "renderVersion :: TmuxVersion -> Text" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 73, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Version", + "doc": { + "summary": "Admit every stable release from 3.3a through 3.8, including intermediate\n releases. Versions outside that range fail. Individual features need their own\n capability checks; passing this check does not qualify an entire release." + }, + "id": "LibTmux.Version#v:requireSupported", + "kind": "function", + "modifiers": [], + "name": "requireSupported", + "namespace": "LibTmux.Version", + "nativeLocation": { + "anchor": "v:requireSupported", + "module": "LibTmux.Version" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Version", + "product": "core", + "publicId": "LibTmux.Version#v:requireSupported", + "qualifiedName": "LibTmux.Version.requireSupported", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "requireSupported" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Version.html#t:VersionError", + "target": "LibTmux.Version#t:VersionError", + "text": "VersionError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + } + ], + "params": [], + "raw": "requireSupported :: TmuxVersion -> Either VersionError TmuxVersion" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 80, + "revision": "b9960257139c630985fced6d14ac59ba6870df02" + } + } + ] +} diff --git a/packages/api-model/test/fixtures/haskell-observations-native/installed.json b/packages/api-model/test/fixtures/haskell-observations-native/installed.json new file mode 100644 index 000000000..5b31de213 --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-observations-native/installed.json @@ -0,0 +1,7659 @@ +{ + "package_info": "libtmux-haskell-0.1.0.0", + "link_env": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$IdError": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$InvalidId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$input": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$expectedPrefix": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$PaneId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$WindowId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$SessionId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseSessionId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseWindowId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parsePaneId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderSessionId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderWindowId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderPaneId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$sessionIdValue": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$windowIdValue": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$paneIdValue": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fEqIdError": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fShowIdError": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fEqPaneId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fOrdPaneId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fShowPaneId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fNFDataPaneId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fEqWindowId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fOrdWindowId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fShowWindowId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fNFDataWindowId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fEqSessionId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fOrdSessionId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fShowSessionId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fNFDataSessionId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Status": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$retained": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$outcome": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$stage": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Outcome": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Succeeded": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Failed": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$NotDispatched": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OutcomeUnknown": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ConnectionRetired": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Stage": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Queued": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Dispatching": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Dispatched": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ResponseClosed": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OperationComplete": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Operation": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$TmuxText": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$ValueError": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$NonPositiveDimension": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$NegativeIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$PaneIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$WindowIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$Dimension": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkDimension": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkWindowIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkPaneIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$dimensionValue": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$windowIndexValue": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$paneIndexValue": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fEqValueError": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fShowValueError": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fEqPaneIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fOrdPaneIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fShowPaneIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fNFDataPaneIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fEqWindowIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fOrdWindowIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fShowWindowIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fNFDataWindowIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fEqDimension": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fOrdDimension": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fShowDimension": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fNFDataDimension": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$VersionError": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$MalformedVersion": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$UnsupportedVersion": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$TmuxVersion": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$parseVersion": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$renderVersion": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$requireSupported": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$$fEqVersionError": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$$fShowVersionError": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$$fEqTmuxVersion": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$$fOrdTmuxVersion": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$$fShowTmuxVersion": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$LookupError": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ForeignGeneration": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingSession": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingWindow": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingPane": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$CaptureInterval": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$finishedNanoseconds": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedNanoseconds": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Snapshot": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Client": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attachment": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$tty": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pid": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientAttachment": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pane": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$session": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ServerInfo": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$socketPath": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$version": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedAt": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$generation": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneOccurrence": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$link": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$active": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$index": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Pane": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentPath": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentCommand": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$title": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$dead": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$height": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$width": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Window": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Session": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attached": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneRef": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowRef": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$SessionRef": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Generation": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$serverInfo": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$clients": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$captureInterval": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$SnapshotOrigin": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$AcquiredFromTmux": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$DefinedOffline": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$snapshotOrigin": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$sessionId": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windowId": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$paneId": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$sessions": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windows": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$panes": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windowLinks": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$paneOccurrences": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupSession": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupWindow": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupPane": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$linksForSession": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$panesForWindow": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupSessionId": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupWindowId": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupPaneId": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelFromBytes": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelBytes": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelText": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$$fEqSnapshotOrigin": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$$fOrdSnapshotOrigin": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$$fShowSnapshotOrigin": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$FixtureError": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$InvalidGraph": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$InvalidSnapshot": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$AttachedClient": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$pane": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$index": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$window": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$session": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$tty": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$pid": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$name": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$Fixture": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$clients": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windowLinks": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$panes": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windows": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$sessions": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$info": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$FixtureOrigin": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$fixtureOrigin": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$fixtureGeneration": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$sessionRef": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windowRef": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$paneRef": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$emptyFixture": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$validateFixture": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$$fEqFixtureError": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$$fShowFixtureError": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$$fEqFixture": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$$fShowFixture": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$$fEqAttachedClient": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$$fShowAttachedClient": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$$fEqFixtureOrigin": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$$fOrdFixtureOrigin": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$$fShowFixtureOrigin": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadRecovery": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeFailure": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeOwned": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerFailure": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerOwned": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$logical": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupRecovery": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupStatus": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$failures": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$unresolved": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingReads": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingHandles": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$complete": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$TmuxException": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$ServerClosed": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$RuntimeClosed": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidConfiguration": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidObservation": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$OperationFailed": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupFailed": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupFailure": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupObservation": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$inspectCleanup": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$resumeCleanup": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$awaitCleanup": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CaptureRecovery": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$ServerConfig": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$captureTimeout": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$pinDirectory": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$executable": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$socketPath": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$Runtime": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$Server": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withRuntime": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServerIn": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$serverConfig": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServer": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$capture": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$serverGeneration": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$tryTmux": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$cleanupRecoveries": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$detachUnresolved": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$captureRecoveries": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$recoveryOperation": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$recoveryGeneration": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$inspectCaptureRecovery": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$resumeCaptureRecovery": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$detachCaptureRecovery": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$operationStatus": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$$fEqServerConfig": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$$fShowServerConfig": "LibTmux.Server" + }, + "inst_ifaces": [ + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$IdError": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Invalid canonical syntax, entity prefix or native unsigned range.\n Diagnostics retain at most 64 characters of input." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$input": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Bounded copy of the invalid input." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$expectedPrefix": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Required entity prefix." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$PaneId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "A physical pane's identifier, written with a " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "%" + } + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " prefix.\n Parse with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parsePaneId" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "; render with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderPaneId" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$WindowId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "A physical window's identifier, independent of its session links.\n Parse with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseWindowId" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "; render with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderWindowId" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$SessionId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "A session's unsigned 32-bit tmux identifier, written with a " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "$" + } + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " prefix.\n Parse with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseSessionId" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "; render with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderSessionId" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseSessionId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Parse " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "$0" + } + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " through " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "$4294967295" + } + }, + "second": { + "tag": "DocString", + "string": ". No whitespace or leading zeroes." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseWindowId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Parse a canonical " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "@number" + } + }, + "second": { + "tag": "DocString", + "string": " identifying a physical window." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parsePaneId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Parse a canonical " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "%number" + } + }, + "second": { + "tag": "DocString", + "string": " identifying a physical pane." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderSessionId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Render the session prefix and decimal ID." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderWindowId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Render the physical window prefix and decimal ID." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderPaneId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Render the physical pane prefix and decimal ID." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$sessionIdValue": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Read the numeric session ID without narrowing conversion." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$windowIdValue": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Read the numeric physical window ID." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$paneIdValue": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Read the numeric physical pane ID." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$paneIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parsePaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseSessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseWindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderPaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderSessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderWindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$sessionIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$windowIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$IdError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$InvalidId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$expectedPrefix", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$input", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$PaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$SessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$WindowId" + ], + "visible_exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$SessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$WindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$PaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$IdError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$InvalidId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$expectedPrefix", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$input", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseSessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseWindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parsePaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderSessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderWindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderPaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$sessionIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$windowIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$paneIdValue" + ], + "options": [], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$LimitError": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Rejected admission. Exhaustion records resource, requested amount,\n current usage and limit. Failed reservations change no counters." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$Class": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Inspection can use protected capacity and borrow unused ordinary credits.\n The class describes admission, not a command's effects or completion." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$newBudget": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Start a context with eight clients, sixteen children and 128 MiB of\n pending payload reservations. Ordinary work leaves one child position and\n the supplied byte allowance for inspection. Oversized allowances throw\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$LimitError" + }, + "second": { + "tag": "DocString", + "string": "; zero protects only the child position." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$inspectionAllowance": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "The immutable byte allowance excluded from ordinary reservations." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$usage": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Observe all counters in one transaction; no external resources are read." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$closeAdmission": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Reject future reservations without releasing existing leases or waiting\n for cleanup. Owners must still call their corresponding release operation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$acquireClient": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Reserve one client until its pin cleanup succeeds. Release with\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$releaseClient" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "; closed/exhausted contexts throw " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$LimitError" + }, + "second": { + "tag": "DocString", + "string": " in STM." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$releaseClient": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Return a client credit once. Legal after " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$closeAdmission" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$acquireChild": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Reserve one child and its byte allowance atomically. Neither credit\n changes on failure. Retain until physical retirement; see " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$releaseChild" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$releaseChild": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Return the child and byte credits from " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$acquireChild" + }, + "second": { + "tag": "DocString", + "string": " once." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$acquireBytes": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Reserve retained payload capacity independently of a child. An internal\n consumer keeps this lease through decoding or charged ownership transfer.\n Release with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$releaseBytes" + }, + "second": { + "tag": "DocString", + "string": ". Zero bytes still require open admission." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$releaseBytes": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Return the byte credits from " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$acquireBytes" + }, + "second": { + "tag": "DocString", + "string": " once." + } + } + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$acquireBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$acquireChild", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$acquireClient", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$closeAdmission", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$inspectionAllowance", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$newBudget", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$releaseBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$releaseChild", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$releaseClient", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$usage", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$Budget", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$ByteLease", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$ChildLease", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$Class", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$Inspection", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$Ordinary", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$ClientLease", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$LimitError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$AdmissionClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$Exhausted", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$Resource", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$Children", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$Clients", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$OrdinaryChildren", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$OrdinaryPendingBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$PendingBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$Usage", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$Usage", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$accepting", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$children", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$clients", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$pendingBytes" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Entropy", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "CApiFFI", + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Entropy$freshToken32": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Copy exactly 32 OS-generated bytes. Errno and short reads fail explicitly." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Entropy$freshToken32", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Entropy$EntropyError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Entropy$ShortEntropy" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$escapedFieldFormat": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Expand a catalogue variable once, doubling its literal backslashes.\n The argument is a trusted variable name, without " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "#{...}" + } + }, + "second": { + "tag": "DocString", + "string": " delimiters." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$recordMarker": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "A record boundary whose initial " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "g" + } + }, + "second": { + "tag": "DocString", + "string": " is absent from encoded field bytes." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$escapedRecordFieldFormat": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Look up a trusted variable once, protecting slashes before escaping " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "g" + } + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ".\n Encoded values contain no literal " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "g" + } + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ", so cannot contain a " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$recordMarker" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$decodeEscapedRecordField": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Decode a record field after its exact tagged boundaries were consumed.\n An unescaped " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "g" + } + }, + "second": { + "tag": "DocString", + "string": " signals a producer/encoding mismatch, even without a nonce." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$decodeEscapedScalar": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Decode protected backslashes and tmux's octal, C-style and dollar escapes.\n Limits apply to decoded bytes; the process owner separately bounds stdout.\n Validate before allocation so an escaped payload needs only its output-sized\n buffer. The second traversal reads the same immutable validated bytes." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$decodeEscapedRecordField", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$decodeEscapedScalar", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$decodeScalar", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$escapedFieldFormat", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$escapedRecordFieldFormat", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$parseNonce", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$recordMarker", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$scalarFormat", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$FrameError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$AmbiguousScalarFrame", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$InvalidNonce", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$InvalidScalarEscape", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$InvalidScalarLimit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$NulInScalar", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$ReservedRecordByte", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$ScalarLimitExceeded", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$UnexpectedScalarFrame", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$Nonce" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$validate": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Bound list traversal as well as encoded bytes before entering native code." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$copySpec": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Detach retained slices after validation and before publishing to a worker." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$launchWith": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Marshal and decode during the call. The owner supplies the surrounding mask\n that spans this return and its own child/descriptor journal." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$waitWith": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Consume at most one status. The owner masks and immediately caches it." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$cFeatures", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$cRead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$cSignal", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$cSpawn", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$cWait", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$cWrite", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$chunkBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$close", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$copySpec", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$errno", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$launch", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$launchWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$missingFeatures", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$raise", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$readChunk", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$signalChild", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$spec", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$validate", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$vectorLimitBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$waitChild", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$waitWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$writeBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Child", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Child", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$errors", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$input", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$output", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$pidfd", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Exit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Exited", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Signaled", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$StatusLost", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Failure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$InvalidInput", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$LaunchRefused", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Feature", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$AtomicPidfdSpawn", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$ChildDirectory", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$CloseUnrelatedDescriptors", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$LaunchCall", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Phase", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Execute", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$FileActions", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$HostFeatures", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$HostSignalPolicy", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Pipes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$SpawnAttributes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Spec", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Spec", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$args", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$cwd", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$env", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$file", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Start", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Owned", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Refused", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$WaitCall" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Status": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Progress, published result and responsibility are independent observations.\n A retained uncertain operation still consumes admission and its lane permit." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$retained": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Whether the scope still retains logical responsibility." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$outcome": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "First published caller result, when available." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$stage": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Last proven progress." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Outcome": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "First caller result. Later evidence can retire responsibility without\n rewriting " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OutcomeUnknown" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " or " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ConnectionRetired" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Succeeded": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Validated successful response and completion proof." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Failed": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Validated command failure." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$NotDispatched": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Proof that the operation was never dispatched." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OutcomeUnknown": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Dispatch may have happened; completion remains uncertain." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ConnectionRetired": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "The connection retired while responsibility remained." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Stage": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Last observed progress. Publishing an uncertain " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Outcome" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " does not\n advance this stage or establish " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OperationComplete" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Operation": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Metadata-only operation identity, readable after responsibility retires.\n Its owning scope controls advancement and explicit detachment." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$AdmissionError": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Rejected admission or transition. " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$InvalidTransition" + }, + "second": { + "tag": "DocString", + "string": " records the\n required preceding stage followed by the actual stage. No state changes\n survive a rejected STM action." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Completion": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Operational completion evidence supplied by the Runtime after\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$markResponseClosed" + }, + "second": { + "tag": "DocString", + "string": ". This constructor does not obtain the evidence." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$markResponseClosed": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Record a closed response after " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$markDispatched" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ". This is distinct from\n operation completion: only " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$finish" + }, + "second": { + "tag": "DocString", + "string": " can record that stronger evidence." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Lane": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Internal classification. Unknown raw commands belong to " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Waiting" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ".\n Mutations serialize until proof or explicit " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$detachResponsibility" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$detachResponsibility": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Explicitly relinquish uncertain logical responsibility. Accept only\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OutcomeUnknown" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " or " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ConnectionRetired" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "; otherwise return " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$ghc-internal$GHC.Internal.Types$False" + }, + "second": { + "tag": "DocString", + "string": ". Keep\n the last stage/outcome, and close no native resource. Detaching a mutation\n permits the next mutation despite possible continuing external effects." + } + } + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Group": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Opaque metadata identifying one owner's operations. This retains no\n Runtime, endpoint, resource or scheduler. Groups share admission limits." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Scheduler": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "One bounded context. Detached " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Operation" + }, + "second": { + "tag": "DocString", + "string": " handles do not retain it." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$newGroup": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Allocate a fresh group without reserving admission or resources." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$newScheduler": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Create an independent context with 64 admission slots. Ordinary work\n may occupy 63; inspection can use the remaining capacity. Dispatch allows\n four waiting jobs, one mutation and four reads, reserving a read permit\n for inspection. These are selected bounds, not throughput measurements." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$admit": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Reserve logical responsibility before dispatch. Saturation or closure\n throws " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$AdmissionError" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " immediately. Retire queued work with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$cancelQueued" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ";\n active work requires evidence or explicit " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$detachResponsibility" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$cancelQueued": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Cancel only queued work, publishing " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$NotDispatched" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " and retiring its\n admission. Active or previously retired operations return " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$ghc-internal$GHC.Internal.Types$False" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$admitIn": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Reserve an operation in one group, under the scheduler's global limits.\n Group membership survives logical retirement for physical-owner selection.\n The token is forced before admission so metadata retains no caller thunk." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$status": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Read detached metadata without IO, including after " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$closeAdmission" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " or\n explicit " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$detachResponsibility" + }, + "second": { + "tag": "DocString", + "string": ". This does not inspect tmux." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$closeAdmission": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Close admission, settle queued work as " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$NotDispatched" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " and return all\n retained active handles for supervision. Wake blocked " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$claim" + }, + "second": { + "tag": "DocString", + "string": " transactions.\n Repeated close preserves active debt; it does not release native resources." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$outstanding": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Observe retained metadata in admission order, including uncertain work.\n The opaque handles remain bound to this context for explicit detach." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$outstandingIn": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Retained logical operations in one group, in admission order. Detached\n operations remain group members but no longer appear in this list." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$memberOf": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Match ownership metadata, including after completion or detachment.\n This does not establish logical or physical liveness." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$await": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Wait for the first published " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Outcome" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ". Cancelling this transaction\n changes neither admission nor responsibility; see " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$markUnknown" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$markUnknown": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Publish uncertainty for active work, retaining admission and its permit.\n Return " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$ghc-internal$GHC.Internal.Types$False" + }, + "second": { + "tag": "DocString", + "string": " if already published or retired. This does not cancel work." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$claim": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Claim the oldest eligible queued operation and its lane permit together.\n Saturated classes do not obstruct eligible inspection. Retry while open\n without eligible work; return " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$ghc-internal$GHC.Internal.Maybe$Nothing" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " only after " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$closeAdmission" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$markDispatched": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Record dispatch evidence after " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$claim" + }, + "second": { + "tag": "DocString", + "string": ". Repeating the same transition\n is harmless; a retired handle stays retired. This supplies no IO evidence." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$finish": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Record operation-specific completion after " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$markResponseClosed" + }, + "second": { + "tag": "DocString", + "string": " and\n release logical responsibility once. Preserve any earlier caller outcome.\n Physical children and buffers still need their independent cleanup." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$refuseBeforeBirth": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Retire a claimed operation only with proven pre-birth refusal. Preserve\n earlier uncertainty rather than rewriting its published outcome. This\n function requires " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Dispatching" + }, + "second": { + "tag": "DocString", + "string": "; it does not establish non-dispatch itself." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$connectionRetired": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Publish connection retirement for active work without releasing debt.\n A retired endpoint does not prove a server job stopped. Later " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$finish" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ",\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$refuseBeforeBirth" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " or explicit " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$detachResponsibility" + }, + "second": { + "tag": "DocString", + "string": " can retire it." + } + } + } + } + } + } + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$admit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$admitIn", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$await", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$cancelQueued", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$claim", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$closeAdmission", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$connectionRetired", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$detachResponsibility", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$finish", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$markDispatched", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$markResponseClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$markUnknown", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$memberOf", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$newGroup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$newScheduler", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$outstanding", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$outstandingIn", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$refuseBeforeBirth", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$status", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$AdmissionError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$AdmissionClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$AdmissionFull", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ForeignContext", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$InvalidTransition", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$KeyExhausted", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OrdinaryFull", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Completion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$CommandFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Success", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Group", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Lane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Inspection", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Mutation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ScalarRead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Waiting", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Operation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Outcome", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ConnectionRetired", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Failed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$NotDispatched", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OutcomeUnknown", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Succeeded", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Scheduler", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Stage", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Dispatched", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Dispatching", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OperationComplete", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Queued", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ResponseClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Status", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Status", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$outcome", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$retained", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$stage" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$TmuxText": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "A lossless reported label. Equality and ordering compare bytes.\n String literals use UTF-8; byte constructors also admit non-text data.\n Conversion functions are exposed in " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocModule", + "string": "LibTmux.Snapshot" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$fromBytes": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Copy reported bytes into an independently owned label without decoding." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$toBytes": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Return the exact reported bytes in a strict buffer." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$decodeUtf8": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Decode explicitly, retaining the original label on " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$text-2.1.3-075e$Data.Text.Encoding.Error$UnicodeException" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$decodeUtf8", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$fromBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$toBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$TmuxText" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$ValueError": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A scalar outside its mathematical domain." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$NonPositiveDimension": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "The supplied dimension was zero or negative." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$NegativeIndex": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "The supplied contextual index was negative." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$PaneIndex": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Nonnegative pane index within a window, not a pane ID.\n Construct with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkPaneIndex" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "; read with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$paneIndexValue" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$WindowIndex": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Nonnegative index of a window link within a session, not a physical window ID.\n Construct with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkWindowIndex" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "; read with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$windowIndexValue" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$Dimension": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Positive cells, constructed with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkDimension" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ". Command and field limits\n are checked separately. Compare dimensions directly or use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$dimensionValue" + }, + "second": { + "tag": "DocString", + "string": "\n with an integer literal." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkDimension": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Construct a positive dimension without applying a command-specific maximum." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkWindowIndex": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Construct a nonnegative window-link index." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkPaneIndex": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Construct a nonnegative pane index." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$dimensionValue": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Read a dimension as a mathematical integer, without narrowing conversion." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$windowIndexValue": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Read a window-link index as a mathematical integer." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$paneIndexValue": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Read a pane index as a mathematical integer." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$dimensionValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkDimension", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkPaneIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkWindowIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$paneIndexValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$windowIndexValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$Dimension", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$PaneIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$ValueError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$NegativeIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$NonPositiveDimension", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$WindowIndex" + ], + "visible_exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$Dimension", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$WindowIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$PaneIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$ValueError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$NegativeIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$NonPositiveDimension", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkDimension", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkWindowIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkPaneIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$dimensionValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$windowIndexValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$paneIndexValue" + ], + "options": [], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$VersionError": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Invalid release syntax or a release outside the supported range." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$MalformedVersion": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Bounded copy of input that is not a stable release." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$UnsupportedVersion": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A stable release outside 3.3a through 3.8." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$TmuxVersion": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "A stable release, constructed by " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$parseVersion" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " and rendered by\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$renderVersion" + }, + "second": { + "tag": "DocString", + "string": ". Ordering compares numeric components before the patch letter." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$parseVersion": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Parse a stable release or the output of " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "tmux -V" + } + }, + "second": { + "tag": "DocString", + "string": ", allowing one final LF.\n Development builds and trailing data are rejected rather than assigned\n capabilities from a guessed stable version. Diagnostics retain at most 64 chars." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$renderVersion": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Render the canonical release without the executable name or newline." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$requireSupported": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Admit every stable release from 3.3a through 3.8, including intermediate\n releases. Versions outside that range fail. Individual features need their own\n capability checks; passing this check does not qualify an entire release." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$parseVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$renderVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$requireSupported", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$TmuxVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$VersionError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$MalformedVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$UnsupportedVersion" + ], + "visible_exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$TmuxVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$VersionError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$MalformedVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$UnsupportedVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$parseVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$renderVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$requireSupported" + ], + "options": [], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$LookupError": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A reference that cannot resolve in the supplied immutable snapshot.\n Missing entities are distinct from a successfully observed empty relation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ForeignGeneration": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "The reference belongs to another connection generation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingSession": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "No session with this identity was captured." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingWindow": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "No physical window with this identity was captured." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingPane": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "No physical pane with this identity was captured." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$CaptureInterval": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Monotonic process-clock bounds around acquisition. These values describe\n an interval and do not promise an atomic observation or a wall-clock epoch." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$finishedNanoseconds": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Monotonic time after decoding and forcing." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedNanoseconds": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Monotonic time sampled before acquisition." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Snapshot": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Validated metadata, physical graph and attached-client observations.\n Construction checks every join and forces owned values. List processing\n and indexed lookup remain pure after the operational Server closes." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Client": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A detached client observation, not an operational connection or live ref.\n The live profile lists attached clients; an offline value may be unattached." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attachment": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Attachment values resolved within this capture." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$tty": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Reported terminal path, when present." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pid": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Positive daemon process ID reported by tmux." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Session name as reported and decoded by tmux." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientAttachment": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "An attachment contains this capture's values. It never resolves a retained\n client name against a later capture. The pane is the session window's global\n active pane, not an independent client focus; its link retains session context." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pane": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Captured physical pane value." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Containing physical window, resolved against a snapshot." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$session": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Session containing this appearance." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ServerInfo": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Reported daemon metadata within one adopted generation. PID and start\n time are observations; they do not grant signal authority or durable identity." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$socketPath": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Reported endpoint path, preserved as POSIX bytes." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$version": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Stable release admitted by " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocModule", + "string": "LibTmux.Version" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedAt": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Daemon start time in whole seconds since the Unix epoch." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$generation": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Connection identity shared by all references in this snapshot." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneOccurrence": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A physical pane together with one contextual window appearance." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$link": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Session and index context through which it appears." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "One observed session" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocEmphasis", + "document": { + "tag": "DocString", + "string": "index" + } + }, + "second": { + "tag": "DocString", + "string": "window binding. Indices are reusable positions;\n this value describes captured context. The same window may appear repeatedly." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$active": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "The window's active pane, rather than a separate client focus." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$index": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Nonnegative pane index within that window." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Pane": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Detached physical pane. Its window can appear in several session contexts;\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneOccurrence" + }, + "second": { + "tag": "DocString", + "string": " preserves an appearance without duplicating physical identity." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentPath": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Endpoint data, without local path interpretation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentCommand": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Reported process name; tmux may normalize it." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$title": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Valid UTF-8 pane title reported by tmux." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$dead": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Whether tmux reports the pane process as dead." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$height": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Positive terminal height in cells." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$width": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Positive terminal width in cells." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Target identity in the observation's generation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Window": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Detached physical window, independent of its session and index appearances." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Session": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Detached physical session. Navigate its appearances through " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attached": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Nonnegative reported count, independent of the captured client listing." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneRef": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Physical pane targeting identity within a " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Generation" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ". This carries\n identity, while the supplied " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Snapshot" + }, + "second": { + "tag": "DocString", + "string": " determines the observed values." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowRef": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Physical window targeting identity within a " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Generation" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ". A window can\n have several " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink" + }, + "second": { + "tag": "DocString", + "string": " appearances." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$SessionRef": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Session targeting identity within a " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Generation" + }, + "second": { + "tag": "DocString", + "string": ". Compare observations\n separately when their captured field values matter." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Generation": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Opaque connection or offline-fixture identity. Independent Server handles\n receive distinct tokens; named fixtures never equal an adopted endpoint." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$serverInfo": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Daemon metadata captured with this graph." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$clients": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Captured attached clients in reported-name and PID order. Names may repeat." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$captureInterval": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Acquisition bounds attached to a live capture. An unstamped decoded\n profile stays private; an offline fixture has no external capture interval." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$assembleSnapshot": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Resolve the attached listing against its captured graph. A detached Client\n keeps the resolved observations even after later selection or name reuse.\n Session attached counts and listing cardinality have different tmux rules;\n neither is reconstructed from the other." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$assembleEntityGraph", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$assembleSnapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$captureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$clients", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$entities", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$graphLinks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$graphOccurrences", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$graphPanes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$graphSessions", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$graphWindows", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$linksForSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$lookupPane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$lookupSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$lookupWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$panesForWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$serverInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$stampSnapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$CaptureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$CaptureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$finishedNanoseconds", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedNanoseconds", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Client", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Client", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$tty", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientInput", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientInput", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$tty", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$EndpointIdentity", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$EndpointIdentity", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$EntityGraph", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Generation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$FixtureGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Generation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$GraphError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ChangedClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ConflictingPane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ConflictingSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ConflictingWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$DuplicatePaneIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$DuplicateWindowSlot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$InvalidAttachedCount", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$InvalidCaptureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$InvalidClientMetadata", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$InvalidGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$InvalidPaneSelection", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$InvalidReference", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$InvalidServerInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$InvalidSessionSelection", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingClientLink", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$UnlinkedWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$LookupError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ForeignGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingPane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$active", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentCommand", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$dead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$height", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$title", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$width", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneOccurrence", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneOccurrence", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$link", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ServerInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ServerInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$generation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$socketPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedAt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attached", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$SessionRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$SessionRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$height", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$width", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$active", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowRef" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$SnapshotOrigin": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Where the validated values were obtained. A server capture does not\n establish current liveness. Offline namespaces carry no targeting authority." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$AcquiredFromTmux": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Acquired through an operational Server handle." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$DefinedOffline": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Constructed and validated in a named fixture namespace." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$snapshotOrigin": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Inspect provenance without contacting tmux. See\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocModule", + "string": "LibTmux.Snapshot.Fixture" + }, + "second": { + "tag": "DocString", + "string": " for validated offline construction." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$sessionId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Native session ID, without the reference's generation guarantee." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windowId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Native physical window ID. Window-link indices are separate values." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$paneId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Native pane ID. Comparing IDs alone does not compare Server identity." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$sessions": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Physical sessions in numeric ID order." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windows": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Physical windows in numeric ID order, independent of their links." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$panes": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Physical panes in numeric ID order. Use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$paneOccurrences" + }, + "second": { + "tag": "DocString", + "string": " for link context." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windowLinks": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Window appearances in session ID and window-index order." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$paneOccurrences": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Every pane appearance, ordered by link and then pane index." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupSession": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Resolve a session in this snapshot. Missing and foreign refs are errors." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupWindow": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Resolve the supplied generation's physical window in this snapshot." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupPane": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Resolve the supplied generation's physical pane in this snapshot." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$linksForSession": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A session's window links in window-index order, preserving repeated windows." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$panesForWindow": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A physical window's panes in pane-index order, then numeric ID order." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupSessionId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Select the session currently observed under an ID in this snapshot.\n This creates no continuity guarantee with a previously opened Server." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupWindowId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Select the physical window observed under an ID in this snapshot." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupPaneId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Select the pane observed under an ID in this snapshot." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelFromBytes": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Copy bytes into an owned label. This performs no encoding replacement." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelBytes": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Exact bytes reported by tmux, after transport decoding." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelText": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Decode a label as UTF-8, retaining byte access on failure." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$captureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$clients", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$serverInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelFromBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelText", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$linksForSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupPane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupPaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupSessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupWindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$paneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$paneOccurrences", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$panes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$panesForWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$sessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$sessions", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$snapshotOrigin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windowLinks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windows", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$CaptureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$CaptureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$finishedNanoseconds", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedNanoseconds", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Client", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Client", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$tty", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Generation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$LookupError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ForeignGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingPane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$active", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentCommand", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$dead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$height", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$title", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$width", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneOccurrence", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneOccurrence", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$link", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ServerInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ServerInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$generation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$socketPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedAt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attached", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$SessionRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$height", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$width", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$active", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$TmuxText", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$SnapshotOrigin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$AcquiredFromTmux", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$DefinedOffline" + ], + "visible_exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ServerInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ServerInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$generation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$socketPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedAt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$SnapshotOrigin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$AcquiredFromTmux", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$DefinedOffline", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$snapshotOrigin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$serverInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$captureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$CaptureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$CaptureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$finishedNanoseconds", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedNanoseconds", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attached", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$height", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$width", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$active", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentCommand", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$dead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$height", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$title", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$width", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$active", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneOccurrence", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneOccurrence", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$link", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Client", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Client", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$tty", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Generation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$SessionRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$sessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$paneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$sessions", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windows", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$panes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windowLinks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$paneOccurrences", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$clients", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$LookupError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ForeignGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingPane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupPane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$linksForSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$panesForWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupSessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupWindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupPaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$TmuxText", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelFromBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelText" + ], + "options": [], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$FixtureError": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A failed graph or complete-snapshot validation, with domain\n context from the validator. Failed input never becomes an empty snapshot." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$InvalidGraph": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Invalid references, multiplicity, attachment counts or selections." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$InvalidSnapshot": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Invalid metadata or attached-client context." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$AttachedClient": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "An attached client's native identity and context before graph validation.\n Validation resolves its values from the same snapshot; it never trusts a\n caller-supplied nested attachment record." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$pane": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "The selected physical pane, not an independent client focus." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$index": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Selected window-link index in the attachment session." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$window": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Selected physical window ID." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$session": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Attachment session ID." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$tty": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Nonempty terminal path when provided." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$pid": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Positive synthetic client PID in the native PID range." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$name": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Nonempty reported client-name bytes." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$Fixture": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Ordinary finite inputs. Validation applies the captured graph's laws;\n record construction or updates alone do not establish those laws." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$clients": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Complete attached-client listing for this fixture." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windowLinks": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Session" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocEmphasis", + "document": { + "tag": "DocString", + "string": "index" + } + }, + "second": { + "tag": "DocString", + "string": "window appearances, including active selections." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$panes": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Physical panes with their containing window references." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windows": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Physical windows, independent of contextual appearances." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$sessions": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Physical sessions, with references from this origin." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$info": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Synthetic metadata in the supplied offline generation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$FixtureOrigin": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A named offline namespace. Equal names deliberately compare equal, so\n tests can model successive observations. This cannot represent a Server." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$fixtureOrigin": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Select a pure fixture namespace. No endpoint lookup or random IO occurs." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$fixtureGeneration": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "The offline generation for " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$Fixture" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " metadata. Replacing it with a connection\n generation causes " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$validateFixture" + }, + "second": { + "tag": "DocString", + "string": " to reject the metadata." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$sessionRef": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Construct a session reference that belongs only to this offline origin." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windowRef": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Construct a physical window reference without granting live authority." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$paneRef": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Construct a pane reference without consulting or targeting a daemon." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$emptyFixture": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Empty complete inputs with explicit synthetic metadata: PID 1, epoch 0\n and path " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "fixture:offline" + } + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ". No process or socket exists by implication.\n The version and every edited field are checked by " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$validateFixture" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$validateFixture": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Validate and force owned values using the capture graph's invariants.\n Successful fixtures have no acquisition interval and carry offline\n provenance. Their references cannot equal references from a Server scope." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$emptyFixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$fixtureGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$fixtureOrigin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$paneRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$sessionRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$validateFixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windowRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$AttachedClient", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$AttachedClient", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$tty", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$clients", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$info", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$panes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$sessions", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windowLinks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windows", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$FixtureError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$InvalidGraph", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$InvalidSnapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$FixtureOrigin" + ], + "visible_exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$FixtureOrigin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$fixtureOrigin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$fixtureGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$sessionRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windowRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$paneRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$clients", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$info", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$panes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$sessions", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windowLinks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windows", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$AttachedClient", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$AttachedClient", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$tty", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$emptyFixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$FixtureError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$InvalidGraph", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$InvalidSnapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$validateFixture" + ], + "options": [], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": {}, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$acquirePin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$acquirePinWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$closePin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$newPinOwner", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$pinGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$pinPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$PinCheckpoint", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$BeforeEntropy", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$BeforeLink", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$BeforePublish", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$DirectoryRegistered", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$LinkRegistered", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$PinError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$PinAlreadyUsed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$SocketPinCleanupFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$SocketPinUnavailable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$PinOwner", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$PinReason", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$AliasTooLong", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$EntropyUnavailable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$FileSystemFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$IdentityChanged", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$InvalidPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$SocketNotWritable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$SocketOwnerMismatch", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$UntrustedDirectory", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$WrongSocketType", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$SocketPin" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$newPoolSTM": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Reserve the client and construct its owner in the caller's registration\n transaction. Failed registration rolls back every credit and TVar." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$submit": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Return a detached caller-owned " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Ticket" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ". Reserve shared child/byte credits\n before copying or forking; allocation failure rolls back both credits.\n Ordinary work leaves the pool's final position for inspection. A pool with\n capacity one therefore admits inspections only; Runtime pools use sixteen.\n Internal consumers precharge a separate parent envelope in\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocModule", + "string": "LibTmux.Internal.Budget" + }, + "second": { + "tag": "DocString", + "string": " for output retained after result publication." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$submitRegistered": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Register the consumer's binding in the native reservation transaction.\n A rejected STM action rolls back every binding and credit before fork." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$preservingFinally": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Keep an action failure primary and retain a simultaneous cleanup failure.\n A cleanup failure on its own remains a thrown exception." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$reap": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "One masked consume/cache transition serves normal waiting and cleanup." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$cleanup": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Close stream endpoints, terminate if still owned, then retain the reap." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$requestClose": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Stop admission and report pending work without waiting for native calls." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$resumeCleanup": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Resume one already registered child cleanup without closing admission or\n executing its command again. Failed worker allocation keeps the job owned." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$abort", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$abortAll", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$activeCount", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$await", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$awaitCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$both", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$childBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$cleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$completion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$defaultHooks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$finish", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$finishPin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$first", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$forkIn", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$inputLimitBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$inspectionBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$newPool", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$newPoolSTM", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$normalFork", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$preservingFinally", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$progress", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$readStream", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$reap", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$recover", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$report", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$requestClose", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$resumeCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$retainedBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$retire", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$retireAll", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$runJob", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$stop", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$streamLimitBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$submit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$submitRegistered", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$worker", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$CloseReport", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$CleanupComplete", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$CleanupIncomplete", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$PinCleanupFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$PoolOpen", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Completion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Completion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$errors", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$exit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$launchFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$output", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$signalFailureCount", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$signalFailures", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Fork", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Hooks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Hooks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$afterReap", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$afterStart", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$beforeSecondStream", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$launchNative", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$signalChild", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$waitNative", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$LaunchEvidence", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$LaunchRefused", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$NativeStarted", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$OwnerError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Aborted", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$PoolClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$ResourceLimit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Pool", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Pool", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$budget", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$capacity", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$clientLease", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$closing", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$forker", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$jobs", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$nextKey", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$pinBusy", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$pinOwner", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$pinResult", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Progress", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Progress", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$errorBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$outputBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Ticket", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Ticket", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$busy", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$cancelled", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$child", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$cleanupFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$counts", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$descriptors", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$exitCache", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$failure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$hooks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$key", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$launchEvidence", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$lease", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$result", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$signalErrorCount", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$signalErrors", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$signalLock" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$FieldError": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A bounded diagnostic identifies the field without retaining its input." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$WireType": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Checked wire domains. POSIX path and string share a representation but\n retain different descriptors; neither promises local filesystem semantics." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$Field": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Fields belong to physical rows or contextual links, never both implicitly." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$fieldKey": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Stable model-qualified key; independent of the Haskell constructor name." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$formatVariable": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Trusted tmux variable name, without format delimiters or caller input." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$wireType": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Type evidence for decoding and future typed query interpretation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$minimumTmux": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Minimum qualified profile, not the release that introduced each variable.\n Every field in this finite profile is available at the tmux 3.3a floor." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$project": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Read an owned observation. This never navigates a graph or contacts tmux." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$decodeField": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Validate decoded scalar bytes, retaining exact byte-bearing values.\n One MiB is the current scalar payload ceiling. Numeric ranges follow tmux\n storage domains; the public mathematical newtypes have separate constructors." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$decodeField", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$fieldKey", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$formatVariable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$minimumTmux", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$project", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$wireType", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$Field", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ClientName", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ClientPane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ClientPid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ClientSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ClientTty", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ClientWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ClientWindowIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$LinkActive", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$LinkIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$LinkSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$LinkWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PaneActive", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PaneCommand", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PaneDead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PaneHeight", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PaneIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PanePath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PaneTitle", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PaneWidth", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PaneWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ServerPid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ServerSocketPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ServerStartedAt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ServerVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$SessionAttached", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$SessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$SessionName", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$WindowHeight", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$WindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$WindowName", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$WindowWidth", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$FieldError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$FieldError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$FieldFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$InvalidEncoding", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$InvalidSyntax", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$UnexpectedNul", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ValueTooLarge", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$WireType", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$AttachedCountValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$BooleanValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$DimensionValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$EpochSecondsValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$LabelValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$NonEmptyPosixPathValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$NonEmptyPosixStringValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$OptionalPosixPathValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PaneIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PaneIndexValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PosixPathValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PosixStringValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ProcessIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$SessionIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$TextValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$VersionValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$WindowIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$WindowIndexValue" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Topology", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": {}, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Topology$decodeTopology", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Topology$topologyFormat", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Topology$TopologyError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Topology$MalformedTopology", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Topology$TopologyByteLimit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Topology$TopologyEntityLimit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Topology$TopologyGraphError" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$graphFormat": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Generate S" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocEmphasis", + "document": { + "tag": "DocString", + "string": "W" + } + }, + "second": { + "tag": "DocString", + "string": "P loops present in tmux 3.3. Physical rows repeat through\n linked windows; the decoder admits them only when every value agrees." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$decodeSnapshot": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Require metadata and an explicitly acquired attached-client section.\n The command queue can run hooks between sections; every attachment must\n still join the physical graph. No atomicity or client-focus claim is made." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$decodeGraph": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Decode the entire response, including its command-added LF. Unknown tags,\n wrong field order, extra output and inconsistent context are errors." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$decodeGraph", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$decodeSnapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$graphFormat", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$snapshotCommands", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$RecordError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$InvalidRecordContext", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$InvalidRecordField", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$InvalidRecordGraph", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$InvalidRecordScalar", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$MalformedRecord", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$RecordEntityLimit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$RecordWireLimit" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadRecovery": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Logical responsibility and this read's physical owners, observed together.\n A released native child does not establish a daemon-side command outcome." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeFailure": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Retained native cleanup failure." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeOwned": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A native child or its cleanup remains owned." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerFailure": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Retained decoder or recovery failure." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerOwned": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A decoder or recovery worker still owns this read." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$logical": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Logical progress, original result and retained responsibility." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$EntityField": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Closed scalar acquisition targets; callers cannot supply format fragments." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$VersionRead": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "A stable release identity, observed by " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readServerVersion" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readServerVersion": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Observe a stable release identity through the pinned server. Use\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifierUnchecked", + "modName": "Version" + }, + "second": { + "tag": "DocString", + "string": " separately for minimum-version admission;\n this observation establishes no feature capabilities." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$PidRead": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "A checked positive server PID, observed by " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readServerPid" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readServerPid": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Acquire a fresh, nonce-framed PID using a one-second deadline. This fixed\n read is the first private logical/physical binding, not a raw command API." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadReceipt": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Correlation metadata only: no Runtime, pool, ticket or result payload.\n The native key remains useful after its decoder owner has retired." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$Request": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "A typed observation handle with no reference to its " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$Runtime" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ", " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ServerHandle" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ",\n native ticket or input buffers. " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$awaitRead" + }, + "second": { + "tag": "DocString", + "string": " also works after cleanup." + } + } + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$awaitRead": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Wait only for this read's first result. Caller cancellation changes no\n ownership. Use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$cancelRead" + }, + "second": { + "tag": "DocString", + "string": " to request cancellation of the owned operation." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadClass": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Inspection can use protected read, child and parent-byte capacity." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$Report": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Physical cleanup, owned read workers and logical uncertainty are separate.\n An empty " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$pending" + }, + "second": { + "tag": "DocString", + "string": " list alone does not establish complete Runtime cleanup." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$adopt": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Adopt one endpoint through a private socket pin. Reserve a client credit\n before filesystem acquisition. Cancellation preserves its original exception\n while the Runtime retains cleanup; use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$requestClose" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " and " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$awaitCleanup" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$requestClose": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Close admission and request cleanup for every registered owner. Ordinary\n request failures remain in " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$closeFailures" + }, + "second": { + "tag": "DocString", + "string": "; caller cancellation propagates.\n This starts no shutdown timer and does not terminate the tmux daemon." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$awaitCleanup": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Close admission and wait for every retained pool. A cleanup failure throws\n without deleting its owner; repair the obstacle and retry. This wait has no\n hard deadline. It joins read workers but does not await uncertain logical\n outcomes; inspect " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$unresolved" + }, + "second": { + "tag": "DocString", + "string": " afterward rather than inferring job completion." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$adoptWith": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Adoption with the socket pin's existing deterministic checkpoints." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$newServerOwner": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Reserve and register one provisional owner before acquiring filesystem\n resources. A caller installing its own scope policy must mask the handoff." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$adoptServerOwnerWith": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Acquire a complete handle for an already registered owner. Its caller\n retains responsibility for cleanup when acquisition fails or is cancelled.\n Foreign or closed ownership refuses before filesystem acquisition; admission\n is checked again before publishing the handle." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$inspect": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Observe bounded cleanup debt, removing only entries whose pool reports\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifierUnchecked", + "modName": "P" + }, + "second": { + "tag": "DocString", + "string": ". Open and provisional clients count as pending ownership." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$inspectServerHandle": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Observe only this handle's physical owners and logical group. Membership\n survives either kind of retirement; a foreign handle changes no state." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$closeServerAdmission": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Close one handle and settle its queued reads in the same STM cut.\n Other groups keep their admission, lane permits and first outcomes." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$shutdownServerHandle": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Bound one handle's physical cleanup under the Runtime's shared limits.\n Concurrent callers join its owned attempt; cancelling a waiter leaves it\n running. Logical uncertainty remains in the scoped and global reports." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$awaitServerOwnerCleanup": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Join only the selected owner's physical cleanup. Logical uncertainty is\n still explicit; cancellation leaves the registered owner available." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$detachServerOwnerOperation": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Relinquish only this owner's logical debt, including after pool cleanup.\n Runtime and immutable group checks precede any operation-state change." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$shutdown": { + "meta": { + "version": null + }, + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Close admission, allow 250 ms for graceful cleanup, request cancellation\n of remaining command clients, then allow 250 ms for reaping. Each phase\n finishes early when cleanup completes. Timeout retains owners and credits;\n it neither proves a daemon-side outcome nor terminates the tmux daemon." + } + }, + "second": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Concurrent callers join one Runtime-owned attempt. Cancelling a caller\n leaves that attempt running. A later call can retry a finished attempt\n with pending cleanup. Supervisor allocation failure throws without losing\n its registered owners. Cleanup-request failures remain in " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$closeFailures" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$inspectReceipt": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Inspect only the originating operation, even after its decoder retires.\n Another handle to the same endpoint cannot inspect or detach this receipt." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$resumeReceipt": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Retry existing cleanup and decoder ownership without redispatching tmux.\n This leaves admission open. Allocation failure retains the original owners." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$cancelReceipt": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Request cancellation of the correlated read, retaining unresolved debt." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$detachReceipt": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Relinquish only this receipt's logical responsibility. Native cleanup and\n decoder ownership remain registered until their own completion." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$cancelRead": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Publish cancellation intent without claiming the external command stopped.\n Cancelling an ordinary " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$awaitRead" + }, + "second": { + "tag": "DocString", + "string": " waiter does not invoke this operation." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readServerPidWith": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Use existing process checkpoints and a checked 1..10000000 microsecond\n deadline. The same expiration governs queueing, submission and validation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readServerVersionWith": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "The same owned deadline and checkpoints as " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readServerPidWith" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readGraphWith": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Read the physical/link profile in one tagged format expansion. Its\n registered owner retains the capture reservation through decoding and\n forcing, including after caller cancellation. This does not acquire clients." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readSnapshotWith": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Acquire the finite metadata, physical and attached-client profile in one\n owned command queue. It retains ordinary graph credit through publication." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$withCaptureBudget": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Retain the complete capture envelope while fields and graphs accumulate.\n Native requests keep their independent child/parent reservations." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$detachOperation": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Relinquish uncertain logical responsibility. This releases no parent,\n child or pin ownership and also accepts handles returned in " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$unresolved" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$adopt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$adoptServerOwnerWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$adoptWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$awaitCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$awaitRead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$awaitServerOwnerCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$cancelRead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$cancelReceipt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$closeServerHandle", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$detachOperation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$detachReceipt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$detachServerOwnerOperation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$inspect", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$inspectReceipt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$inspectServerHandle", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$inspectServerOwner", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$newRuntime", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$newServerOwner", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readEntityFieldWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readGraphWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readOperation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readReceipt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readServerPid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readServerPidWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readServerVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readServerVersionWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readSnapshotWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readStatus", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readTopologyWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$receiptGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$receiptOperation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$requestClose", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$resumeReceipt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$serverPin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$serverPool", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$shutdown", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$shutdownServerHandle", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$shutdownServerOwner", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$usage", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$withCaptureBudget", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$EntityField", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$PaneCommand", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$PanePath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$PaneTitle", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$SessionName", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$WindowName", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$PidRead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadClass", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$InspectionRead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ScalarRead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ForeignServer", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$InvalidEntityReceipt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$InvalidReadDeadline", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$InvalidReadFrame", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$InvalidRecordFrame", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$InvalidServerPid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$InvalidServerVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$InvalidVersionEncoding", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadCancelled", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadClockOverflow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadClosing", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadExit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadExpired", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadStderr", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadReceipt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$logical", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeOwned", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerOwned", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadResult", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadUnavailable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$Report", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$Report", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$accepting", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$closeFailures", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$pending", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readWorkers", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$unresolved", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$Request", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$Runtime", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ServerHandle", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ServerOwner", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$VersionRead" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupRecovery": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Reachable responsibility after an incomplete or failed scope release.\n Retaining this value keeps its selected cleanup target and Runtime reachable." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupStatus": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Local observations of the selected physical and logical responsibility.\n Each inspection returns new metadata; it performs no tmux operation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$failures": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Currently observed pin, worker or cleanup-request failures." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$unresolved": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Retained logical operations with their observed status." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingReads": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Decoder or recovery workers retaining read envelopes." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingHandles": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Server handles still awaiting physical retirement." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$complete": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "All physical owners, read workers and logical responsibility have retired." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$TmuxException": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Library operational failures. Context-preserving catching retains any\n cleanup owners; the original application or cancellation exception keeps\n its class when the callback itself failed." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$ServerClosed": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Admission through the retained Server handle has closed." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$RuntimeClosed": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Admission through the retained Runtime has closed." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidConfiguration": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Configuration failed before acquisition." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidObservation": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Acquired metadata failed final validation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$OperationFailed": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Known backend failure with its original cause." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupFailed": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Cleanup remained incomplete or its worker could not start." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupFailure": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Exception that interrupted the original cleanup attempt, when there was\n one. Pending ownership alone need not have an associated exception." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupObservation": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "The cleanup metadata recorded when this recovery owner was attached." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$inspectCleanup": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Inspect current owned cleanup and logical uncertainty without tmux IO." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$resumeCleanup": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Retry bounded owned cleanup. An incomplete result retains this owner;\n the operation does not retry a tmux command or release logical uncertainty." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$awaitCleanup": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Wait for this target's physical cleanup, then inspect its logical debt.\n The wait has no deadline.\n Cancellation or failure preserves an annotated cleanup owner. Use\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$resumeCleanup" + }, + "second": { + "tag": "DocString", + "string": " when the caller requires a bounded attempt." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$runServerScope": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Protect one registered owner, including its pin acquisition. Keep the\n registration handoff masked and restore the action with the outer restore." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$awaitCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupObservation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupRecoveries", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$detachUnresolved", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$inspectCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$resumeCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$runScope", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$runServerScope", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupStatus", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupStatus", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$complete", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$failures", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingHandles", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingReads", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$unresolved", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$TmuxException", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidConfiguration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidObservation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$OperationFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$RuntimeClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$ServerClosed" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CaptureRecovery": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A reachable owner for one failed or cancelled capture. The receipt holds\n metadata only; the Runtime retains any remaining native and logical owners." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$resumeRecovery": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Resume only existing cleanup, leaving Runtime admission open. Never retry\n the tmux read; a new capture is a separately requested observation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$detachRecovery": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Explicitly release logical uncertainty without releasing native owners." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$captureSnapshotWith": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Use the native process checkpoints while retaining capture correlation\n across worker handoff, cancellation and conversion of a deadline failure." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$captureGraphWith": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Serial comparison path with a checkpoint before its final topology read.\n The tagged default above does not use these scalar hydration boundaries." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$captureGraph", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$captureGraphWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$captureRecoveries", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$captureSnapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$captureSnapshotWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$detachRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$inspectRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$recoveryReceipt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$resumeRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CaptureError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CaptureByteLimit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CaptureChanged", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CaptureDeadline", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CaptureReadUnavailable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$InvalidCaptureDeadline", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$InvalidCapturedField", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CapturedGraph", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CapturedSnapshot" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$ServerConfig": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Pure configuration, checked when " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServer" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " or " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServerIn" + }, + "second": { + "tag": "DocString", + "string": " opens the handle.\n Paths retain POSIX bytes; no text decoding or shell interpretation occurs." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$captureTimeout": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Capture deadline in seconds, greater than zero and at most ten." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$pinDirectory": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Writable trusted directory on the socket's filesystem." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$executable": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Executable path or a program resolved once through PATH." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$socketPath": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Existing tmux socket, with an absolute trusted path." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$Runtime": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Shared resource limits and cleanup ownership for Server handles. Create\n one with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withRuntime" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ", then adopt endpoints through " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServerIn" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ".\n Detached " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Snapshot" + }, + "second": { + "tag": "DocString", + "string": " values retain no Runtime." + } + } + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$Server": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "One pinned endpoint and connection generation. The constructor is hidden.\n Retaining this value after " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServer" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " or " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServerIn" + }, + "second": { + "tag": "DocString", + "string": " keeps no admission open." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withRuntime": { + "meta": { + "version": null + }, + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Own a Runtime for the callback and perform bounded cleanup afterward.\n Closing it retires every adopted handle; application-owned threads remain\n the application's responsibility. Late adoption fails with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$RuntimeClosed" + }, + "second": { + "tag": "DocString", + "string": ".\n The daemon remains running." + } + } + } + }, + "second": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Callback failures and cancellation keep their original exception class.\n Incomplete cleanup retains a " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupRecovery" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " in the exception context;\n use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$tryTmux" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " and " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$cleanupRecoveries" + }, + "second": { + "tag": "DocString", + "string": " to keep that responsibility reachable." + } + } + } + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServerIn": { + "meta": { + "version": null + }, + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Adopt one endpoint within an existing Runtime and close only that handle\n after the callback. Other handles remain admitted under the shared limits;\n each adoption has its own " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$serverGeneration" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ". Use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServer" + }, + "second": { + "tag": "DocString", + "string": " for one handle." + } + } + } + } + } + }, + "second": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Failed adoption can retain a " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupRecovery" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " before a " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$Server" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " exists.\n Inspection, retry and waiting through that owner stay scoped to the failed\n adoption. Cleanup preserves application exceptions, incoming masking state\n and cancellation; known acquisition failures use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$TmuxException" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$serverConfig": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Configure an existing socket, resolving " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "tmux" + } + }, + "second": { + "tag": "DocString", + "string": " through PATH when opened.\n The private pin uses the socket's parent directory. The capture timeout is\n two seconds; callers can change it before opening a Server scope." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServer": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Open one handle, run the callback, then perform bounded owned cleanup.\n Cleanup never replaces a callback exception. Incomplete cleanup raises\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupFailed" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " after success, or annotates the original callback failure\n with a reachable " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupRecovery" + }, + "second": { + "tag": "DocString", + "string": ". No daemon shutdown is requested." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$capture": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Acquire the complete baseline graph, metadata and attached clients.\n Returned values own their data and remain usable after " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServer" + }, + "second": { + "tag": "DocString", + "string": " exits.\n Capacity and acquisition failure are errors; they never become empty lists." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$serverGeneration": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "The handle's opaque generation, available without contacting tmux." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$tryTmux": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Catch library failures with their exception context. Retain this value\n when handling an error so cleanup and capture owners stay reachable.\n Application exceptions and asynchronous cancellation propagate." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$cleanupRecoveries": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Cleanup owners retained by a failed or cancelled scope. The context\n comes from " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$tryTmux" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " or " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$ghc-internal$GHC.Internal.Control.Exception.Base$tryWithContext" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ". Inspection performs no tmux IO.\n Nested scopes can contribute overlapping owners; inspect and resume each\n retained responsibility through " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$inspectCleanup" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " and " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$resumeCleanup" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$detachUnresolved": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Relinquish one logical operation from this cleanup scope. This releases\n no native resources and does not prove that daemon-side work completed." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$captureRecoveries": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Capture owners retained in an exception context, including cancellation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$recoveryOperation": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Metadata-only operation identity for the failed capture." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$recoveryGeneration": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Correlate the failed capture with its Server generation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$inspectCaptureRecovery": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Observe logical outcome, decoder ownership and native cleanup locally.\n This reads runtime metadata and performs no tmux command." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$resumeCaptureRecovery": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Resume existing cleanup without dispatching the capture again." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$detachCaptureRecovery": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Explicitly detach logical uncertainty while preserving native ownership." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$operationStatus": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Read retained operation metadata, including after its physical cleanup." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$awaitCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupObservation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$inspectCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$resumeCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$capture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$captureRecoveries", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$cleanupRecoveries", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$detachCaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$detachUnresolved", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$inspectCaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$operationStatus", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$recoveryGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$recoveryOperation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$resumeCaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$serverConfig", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$serverGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$tryTmux", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withRuntime", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServer", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServerIn", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$logical", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeOwned", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerOwned", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Operation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Outcome", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ConnectionRetired", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Failed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$NotDispatched", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OutcomeUnknown", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Succeeded", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Stage", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Dispatched", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Dispatching", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OperationComplete", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Queued", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ResponseClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Status", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Status", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$outcome", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$retained", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$stage", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupStatus", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupStatus", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$complete", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$failures", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingHandles", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingReads", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$unresolved", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$TmuxException", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidConfiguration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidObservation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$OperationFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$RuntimeClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$ServerClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$Runtime", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$ServerConfig", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$ServerConfig", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$captureTimeout", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$executable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$pinDirectory", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$socketPath" + ], + "visible_exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$ServerConfig", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$ServerConfig", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$captureTimeout", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$executable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$pinDirectory", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$socketPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$serverConfig", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServer", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$capture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$serverGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$Runtime", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withRuntime", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServerIn", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$TmuxException", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidConfiguration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidObservation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$OperationFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$RuntimeClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$ServerClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$tryTmux", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupStatus", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupStatus", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$complete", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$failures", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingHandles", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingReads", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$unresolved", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$cleanupRecoveries", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupObservation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$inspectCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$resumeCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$awaitCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$detachUnresolved", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$captureRecoveries", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$recoveryOperation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$recoveryGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$logical", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeOwned", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerOwned", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$inspectCaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$resumeCaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$detachCaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Operation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Status", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Status", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$outcome", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$retained", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$stage", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Stage", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Dispatched", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Dispatching", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OperationComplete", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Queued", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ResponseClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Outcome", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ConnectionRetired", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Failed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$NotDispatched", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OutcomeUnknown", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Succeeded", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$operationStatus" + ], + "options": [], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": {}, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$paneIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parsePaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseSessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseWindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderPaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderSessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderWindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$sessionIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$windowIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$captureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$clients", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$serverInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$awaitCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupObservation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$inspectCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$resumeCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$capture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$captureRecoveries", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$cleanupRecoveries", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$detachCaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$detachUnresolved", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$inspectCaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$operationStatus", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$recoveryGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$recoveryOperation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$resumeCaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$serverConfig", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$serverGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$tryTmux", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withRuntime", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServer", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServerIn", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelFromBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelText", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$linksForSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupPane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupPaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupSessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupWindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$paneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$paneOccurrences", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$panes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$panesForWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$sessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$sessions", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$snapshotOrigin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windowLinks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windows", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$dimensionValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkDimension", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkPaneIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkWindowIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$paneIndexValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$windowIndexValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$parseVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$renderVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$requireSupported", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$IdError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$InvalidId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$expectedPrefix", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$input", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$PaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$SessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$WindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$CaptureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$CaptureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$finishedNanoseconds", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedNanoseconds", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Client", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Client", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$tty", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Generation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$LookupError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ForeignGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingPane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$active", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentCommand", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$dead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$height", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$title", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$width", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneOccurrence", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneOccurrence", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$link", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ServerInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ServerInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$generation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$socketPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedAt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attached", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$SessionRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$height", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$width", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$active", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$logical", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeOwned", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerOwned", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Operation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Outcome", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ConnectionRetired", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Failed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$NotDispatched", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OutcomeUnknown", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Succeeded", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Stage", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Dispatched", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Dispatching", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OperationComplete", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Queued", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ResponseClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Status", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Status", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$outcome", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$retained", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$stage", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupStatus", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupStatus", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$complete", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$failures", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingHandles", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingReads", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$unresolved", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$TmuxException", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidConfiguration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidObservation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$OperationFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$RuntimeClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$ServerClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$TmuxText", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$Runtime", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$ServerConfig", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$ServerConfig", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$captureTimeout", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$executable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$pinDirectory", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$socketPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$SnapshotOrigin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$AcquiredFromTmux", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$DefinedOffline", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$Dimension", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$PaneIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$ValueError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$NegativeIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$NonPositiveDimension", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$WindowIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$TmuxVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$VersionError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$MalformedVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$UnsupportedVersion" + ], + "visible_exports": [], + "options": [], + "fix_map": {} + } + ] +} diff --git a/packages/api-model/test/fixtures/haskell-observations-native/provenance.json b/packages/api-model/test/fixtures/haskell-observations-native/provenance.json new file mode 100644 index 000000000..b5ad85cae --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-observations-native/provenance.json @@ -0,0 +1,56 @@ +{ + "revision": "b9960257139c630985fced6d14ac59ba6870df02", + "modules": [ + "LibTmux", + "LibTmux.Id", + "LibTmux.Server", + "LibTmux.Snapshot", + "LibTmux.Snapshot.Fixture", + "LibTmux.Value", + "LibTmux.Version" + ], + "sourceFiles": { + "LibTmux": "src/LibTmux.hs", + "LibTmux.Id": "src/LibTmux/Id.hs", + "LibTmux.Server": "src/LibTmux/Server.hs", + "LibTmux.Snapshot": "src/LibTmux/Snapshot.hs", + "LibTmux.Snapshot.Fixture": "src/LibTmux/Snapshot/Fixture.hs", + "LibTmux.Value": "src/LibTmux/Value.hs", + "LibTmux.Version": "src/LibTmux/Version.hs", + "LibTmux.Internal.Capture": "internal/LibTmux/Internal/Capture.hs", + "LibTmux.Internal.Graph": "internal/LibTmux/Internal/Graph.hs", + "LibTmux.Internal.Runtime": "internal/LibTmux/Internal/Runtime.hs", + "LibTmux.Internal.Scheduler": "internal/LibTmux/Internal/Scheduler.hs", + "LibTmux.Internal.Scope": "internal/LibTmux/Internal/Scope.hs", + "LibTmux.Internal.TmuxText": "internal/LibTmux/Internal/TmuxText.hs" + }, + "sourceHashes": { + "LibTmux": "d9dcb17fc4f7a7aecda31b48f2eb2286ee9637e4c85d997716431a882f5a1529", + "LibTmux.Id": "3456edf88bf412e8769e5c96cc5d35b7b118ea3bd3786f167c9002f9804fb3b7", + "LibTmux.Server": "bb22fe587ecbc6c41b4be65d5c41fc9cf3dc6134e1cbbd840aa3b2fc05e05a24", + "LibTmux.Snapshot": "cddfee4e757f1dd4b35ee9f099fa796c86213ea7ff50a4727ddf198d26aaa2a1", + "LibTmux.Snapshot.Fixture": "b1b53369587d2ea963a97ba2b34ce963233130c4e47581292510613e7819a919", + "LibTmux.Value": "e199c3d0bbf08a159daa35bb4ae9a5d2ad4761117d375f292dd8b250bb459e55", + "LibTmux.Version": "cf4e4d94a113a95ffb7b650cffbd0b4f702608627db84b7c7bf7630b83e4dfa7", + "LibTmux.Internal.Capture": "2d64c8e56a6abfa704ab0644bebc3590f5a1bd0cf5a952571be65ebc6d9aec5a", + "LibTmux.Internal.Graph": "1f0097798f1cfa5e1837006fcfb1c33ba1b089c8e9ea1aa2e503382ad1eae14f", + "LibTmux.Internal.Runtime": "f0d28b32a5ebf5271bc20cf3fa7f76c5ff051da15978acfcc9f7347442ff6565", + "LibTmux.Internal.Scheduler": "d97dd8c431a84c41ab947baac096e757cf498ebb0747b0e311fa7a73eee927b1", + "LibTmux.Internal.Scope": "82ca0084d522d2b704a2b5ecde0a2ab05ca209f0ecb42976d65f637b596c3208", + "LibTmux.Internal.TmuxText": "766344310c5151417ab8fadc36d3a8940c051dde9fa7a2ac379dead984afacba" + }, + "nativeFiles": { + "installed.json": "55f08ad827e0181e5bc786280be619f82e864a72f1db64637041227379525e7b", + "LibTmux-Snapshot.html": "0647d8b3cf241416148d4424f59d06a9d3055e0b5ed748c1b5d927c3627799e7", + "LibTmux-Server.html": "dffb9e9de1f8b804cc58a4073ff528466a27a00f64acc42e77e971d31e4252df", + "LibTmux-Value.html": "4160151534c27a8c787c9ab36fa6dcbf740fc193a7a3553935172be72111ff1d", + "LibTmux-Version.html": "3461a42be3733565d16ab18cf3b729e41eab6ef20e87c90b2ca10fa993999510", + "LibTmux.html": "50286b083988017f17f4f642f3e9a449ebd7b0d1c40e8901d608162d8a2a9874", + "LibTmux-Snapshot-Fixture.html": "9d0939a019c99f33119619f0c424a87fea6e87abbd0a8ade758d78e05ae53a7c", + "source-anchors.json": "caacb129b225f1f069bf7c3f48f518486fd8cbdcd192562a456e2cb02c624988", + "LibTmux-Id.html": "cf7102eba62a0e9b02e7ea7acefb85d1822a4d192a1fceb680246ed42bd10d45" + }, + "compiler": "9.14.1", + "haddock": "2.33.0", + "cabal": "3.18.2.0" +} diff --git a/packages/api-model/test/fixtures/haskell-observations-native/source-anchors.json b/packages/api-model/test/fixtures/haskell-observations-native/source-anchors.json new file mode 100644 index 000000000..ce4614deb --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-observations-native/source-anchors.json @@ -0,0 +1,13966 @@ +{ + "LibTmux": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ] + }, + "LibTmux.Id": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "line-36": [ + 36 + ], + "line-37": [ + 37 + ], + "line-38": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "line-41": [ + 41 + ], + "line-42": [ + 42 + ], + "line-43": [ + 43 + ], + "line-44": [ + 44 + ], + "line-45": [ + 45 + ], + "SessionId": [ + 45, + 45 + ], + "line-46": [ + 46 + ], + "local-6989586621679127154": [ + 46 + ], + "local-6989586621679127158": [ + 46 + ], + "local-6989586621679127165": [ + 46 + ], + "local-6989586621679127169": [ + 46 + ], + "local-6989586621679127172": [ + 46 + ], + "local-6989586621679127176": [ + 46 + ], + "local-6989586621679127179": [ + 46 + ], + "local-6989586621679127182": [ + 46 + ], + "local-6989586621679127185": [ + 46 + ], + "local-6989586621679127193": [ + 46 + ], + "local-6989586621679127197": [ + 46 + ], + "local-6989586621679127201": [ + 46 + ], + "line-47": [ + 47 + ], + "local-6989586621679127206": [ + 47 + ], + "line-48": [ + 48 + ], + "line-49": [ + 49 + ], + "line-50": [ + 50 + ], + "line-51": [ + 51 + ], + "WindowId": [ + 51, + 51 + ], + "line-52": [ + 52 + ], + "local-6989586621679127215": [ + 52 + ], + "local-6989586621679127218": [ + 52 + ], + "local-6989586621679127224": [ + 52 + ], + "local-6989586621679127227": [ + 52 + ], + "local-6989586621679127230": [ + 52 + ], + "local-6989586621679127234": [ + 52 + ], + "local-6989586621679127237": [ + 52 + ], + "local-6989586621679127240": [ + 52 + ], + "local-6989586621679127243": [ + 52 + ], + "local-6989586621679127246": [ + 52 + ], + "local-6989586621679127250": [ + 52 + ], + "local-6989586621679127254": [ + 52 + ], + "line-53": [ + 53 + ], + "local-6989586621679127257": [ + 53 + ], + "line-54": [ + 54 + ], + "line-55": [ + 55 + ], + "line-56": [ + 56 + ], + "line-57": [ + 57 + ], + "PaneId": [ + 57, + 57 + ], + "line-58": [ + 58 + ], + "local-6989586621679127263": [ + 58 + ], + "local-6989586621679127266": [ + 58 + ], + "local-6989586621679127272": [ + 58 + ], + "local-6989586621679127275": [ + 58 + ], + "local-6989586621679127278": [ + 58 + ], + "local-6989586621679127282": [ + 58 + ], + "local-6989586621679127285": [ + 58 + ], + "local-6989586621679127288": [ + 58 + ], + "local-6989586621679127291": [ + 58 + ], + "local-6989586621679127294": [ + 58 + ], + "local-6989586621679127298": [ + 58 + ], + "local-6989586621679127302": [ + 58 + ], + "line-59": [ + 59 + ], + "local-6989586621679127305": [ + 59 + ], + "line-60": [ + 60 + ], + "line-61": [ + 61 + ], + "line-62": [ + 62 + ], + "line-63": [ + 63 + ], + "IdError": [ + 63 + ], + "InvalidId": [ + 63 + ], + "line-64": [ + 64 + ], + "expectedPrefix": [ + 64 + ], + "line-65": [ + 65 + ], + "input": [ + 65 + ], + "line-66": [ + 66 + ], + "line-67": [ + 67 + ], + "local-6989586621679127313": [ + 67 + ], + "local-6989586621679127318": [ + 67 + ], + "local-6989586621679127322": [ + 67 + ], + "local-6989586621679127329": [ + 67 + ], + "local-6989586621679127333": [ + 67 + ], + "line-68": [ + 68 + ], + "line-69": [ + 69 + ], + "line-70": [ + 70 + ], + "line-71": [ + 71 + ], + "parseSessionId": [ + 71 + ], + "line-72": [ + 72 + ], + "line-73": [ + 73 + ], + "line-74": [ + 74 + ], + "line-75": [ + 75 + ], + "parseWindowId": [ + 75 + ], + "line-76": [ + 76 + ], + "line-77": [ + 77 + ], + "line-78": [ + 78 + ], + "line-79": [ + 79 + ], + "parsePaneId": [ + 79 + ], + "line-80": [ + 80 + ], + "line-81": [ + 81 + ], + "line-82": [ + 82 + ], + "line-83": [ + 83 + ], + "renderSessionId": [ + 83 + ], + "local-6989586621679127337": [ + 83 + ], + "line-84": [ + 84 + ], + "line-85": [ + 85 + ], + "line-86": [ + 86 + ], + "line-87": [ + 87 + ], + "renderWindowId": [ + 87 + ], + "local-6989586621679127340": [ + 87 + ], + "line-88": [ + 88 + ], + "line-89": [ + 89 + ], + "line-90": [ + 90 + ], + "line-91": [ + 91 + ], + "renderPaneId": [ + 91 + ], + "local-6989586621679127341": [ + 91 + ], + "line-92": [ + 92 + ], + "line-93": [ + 93 + ], + "line-94": [ + 94 + ], + "line-95": [ + 95 + ], + "sessionIdValue": [ + 95 + ], + "local-6989586621679127342": [ + 95 + ], + "line-96": [ + 96 + ], + "line-97": [ + 97 + ], + "line-98": [ + 98 + ], + "line-99": [ + 99 + ], + "windowIdValue": [ + 99 + ], + "local-6989586621679127343": [ + 99 + ], + "line-100": [ + 100 + ], + "line-101": [ + 101 + ], + "line-102": [ + 102 + ], + "line-103": [ + 103 + ], + "paneIdValue": [ + 103 + ], + "local-6989586621679127344": [ + 103 + ], + "line-104": [ + 104 + ], + "line-105": [ + 105 + ], + "line-106": [ + 106 + ], + "parseId": [ + 106 + ], + "local-6989586621679127345": [ + 106 + ], + "local-6989586621679127346": [ + 106 + ], + "line-107": [ + 107 + ], + "line-108": [ + 108 + ], + "local-6989586621679127348": [ + 108 + ], + "line-109": [ + 109 + ], + "local-6989586621679127349": [ + 109 + ], + "line-110": [ + 110 + ], + "line-111": [ + 111 + ], + "local-6989586621679127353": [ + 111 + ], + "local-6989586621679127354": [ + 111 + ], + "line-112": [ + 112 + ], + "line-113": [ + 113 + ], + "local-6989586621679127356": [ + 113 + ], + "local-6989586621679127357": [ + 113 + ], + "line-114": [ + 114 + ], + "line-115": [ + 115 + ], + "local-6989586621679127362": [ + 115 + ], + "line-116": [ + 116 + ], + "local-6989586621679127364": [ + 116 + ], + "local-6989586621679127366": [ + 116 + ], + "local-6989586621679127367": [ + 116 + ], + "line-117": [ + 117 + ], + "line-118": [ + 118 + ], + "line-119": [ + 119 + ] + }, + "LibTmux.Server": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "line-36": [ + 36 + ], + "line-37": [ + 37 + ], + "line-38": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "line-41": [ + 41 + ], + "line-42": [ + 42 + ], + "line-43": [ + 43 + ], + "line-44": [ + 44 + ], + "line-45": [ + 45 + ], + "line-46": [ + 46 + ], + "line-47": [ + 47 + ], + "line-48": [ + 48 + ], + "line-49": [ + 49 + ], + "line-50": [ + 50 + ], + "line-51": [ + 51 + ], + "line-52": [ + 52 + ], + "line-53": [ + 53 + ], + "line-54": [ + 54 + ], + "line-55": [ + 55 + ], + "line-56": [ + 56 + ], + "line-57": [ + 57 + ], + "line-58": [ + 58 + ], + "line-59": [ + 59 + ], + "line-60": [ + 60 + ], + "line-61": [ + 61 + ], + "line-62": [ + 62 + ], + "line-63": [ + 63 + ], + "line-64": [ + 64 + ], + "line-65": [ + 65 + ], + "line-66": [ + 66 + ], + "line-67": [ + 67 + ], + "line-68": [ + 68 + ], + "line-69": [ + 69 + ], + "line-70": [ + 70 + ], + "line-71": [ + 71 + ], + "line-72": [ + 72 + ], + "line-73": [ + 73 + ], + "line-74": [ + 74 + ], + "Server": [ + 74, + 74 + ], + "line-75": [ + 75 + ], + "line-76": [ + 76 + ], + "line-77": [ + 77 + ], + "line-78": [ + 78 + ], + "line-79": [ + 79 + ], + "Runtime": [ + 79, + 79 + ], + "line-80": [ + 80 + ], + "line-81": [ + 81 + ], + "line-82": [ + 82 + ], + "line-83": [ + 83 + ], + "line-84": [ + 84 + ], + "line-85": [ + 85 + ], + "line-86": [ + 86 + ], + "line-87": [ + 87 + ], + "line-88": [ + 88 + ], + "line-89": [ + 89 + ], + "local-6989586621679139478": [ + 89 + ], + "line-90": [ + 90 + ], + "withRuntime": [ + 90 + ], + "local-6989586621679139689": [ + 90 + ], + "line-91": [ + 91 + ], + "local-6989586621679139690": [ + 91 + ], + "line-92": [ + 92 + ], + "line-93": [ + 93 + ], + "line-94": [ + 94 + ], + "line-95": [ + 95 + ], + "line-96": [ + 96 + ], + "line-97": [ + 97 + ], + "line-98": [ + 98 + ], + "line-99": [ + 99 + ], + "line-100": [ + 100 + ], + "line-101": [ + 101 + ], + "line-102": [ + 102 + ], + "local-6989586621679139484": [ + 102 + ], + "line-103": [ + 103 + ], + "withServerIn": [ + 103 + ], + "local-6989586621679139711": [ + 103 + ], + "local-6989586621679139712": [ + 103 + ], + "local-6989586621679139713": [ + 103 + ], + "local-6989586621679139714": [ + 103 + ], + "line-104": [ + 104 + ], + "local-6989586621679139715": [ + 104 + ], + "line-105": [ + 105 + ], + "line-106": [ + 106 + ], + "local-6989586621679139718": [ + 106 + ], + "local-6989586621679139719": [ + 106 + ], + "line-107": [ + 107 + ], + "local-6989586621679139721": [ + 107 + ], + "line-108": [ + 108 + ], + "line-109": [ + 109 + ], + "local-6989586621679139724": [ + 109 + ], + "local-6989586621679139726": [ + 109 + ], + "local-6989586621679139727": [ + 109 + ], + "line-110": [ + 110 + ], + "line-111": [ + 111 + ], + "line-112": [ + 112 + ], + "line-113": [ + 113 + ], + "local-6989586621679139730": [ + 113 + ], + "line-114": [ + 114 + ], + "line-115": [ + 115 + ], + "line-116": [ + 116 + ], + "line-117": [ + 117 + ], + "line-118": [ + 118 + ], + "line-119": [ + 119 + ], + "ServerConfig": [ + 119, + 119 + ], + "line-120": [ + 120 + ], + "socketPath": [ + 120 + ], + "line-121": [ + 121 + ], + "executable": [ + 121 + ], + "line-122": [ + 122 + ], + "pinDirectory": [ + 122 + ], + "line-123": [ + 123 + ], + "captureTimeout": [ + 123 + ], + "line-124": [ + 124 + ], + "line-125": [ + 125 + ], + "local-6989586621679139739": [ + 125 + ], + "local-6989586621679139747": [ + 125 + ], + "local-6989586621679139752": [ + 125 + ], + "local-6989586621679139762": [ + 125 + ], + "local-6989586621679139766": [ + 125 + ], + "line-126": [ + 126 + ], + "line-127": [ + 127 + ], + "line-128": [ + 128 + ], + "line-129": [ + 129 + ], + "line-130": [ + 130 + ], + "line-131": [ + 131 + ], + "serverConfig": [ + 131 + ], + "local-6989586621679139770": [ + 131 + ], + "line-132": [ + 132 + ], + "line-133": [ + 133 + ], + "line-134": [ + 134 + ], + "line-135": [ + 135 + ], + "line-136": [ + 136 + ], + "line-137": [ + 137 + ], + "local-6989586621679139516": [ + 137 + ], + "line-138": [ + 138 + ], + "withServer": [ + 138 + ], + "local-6989586621679139779": [ + 138 + ], + "local-6989586621679139780": [ + 138 + ], + "line-139": [ + 139 + ], + "local-6989586621679139781": [ + 139 + ], + "local-6989586621679139782": [ + 139 + ], + "line-140": [ + 140 + ], + "local-6989586621679139783": [ + 140 + ], + "line-141": [ + 141 + ], + "line-142": [ + 142 + ], + "local-6989586621679139784": [ + 142 + ], + "line-143": [ + 143 + ], + "line-144": [ + 144 + ], + "line-145": [ + 145 + ], + "line-146": [ + 146 + ], + "checkedConfiguration": [ + 146 + ], + "local-6989586621679139786": [ + 146 + ], + "line-147": [ + 147 + ], + "local-6989586621679139787": [ + 147 + ], + "line-148": [ + 148 + ], + "line-149": [ + 149 + ], + "line-150": [ + 150 + ], + "local-6989586621679139792": [ + 150 + ], + "line-151": [ + 151 + ], + "line-152": [ + 152 + ], + "line-153": [ + 153 + ], + "line-154": [ + 154 + ], + "line-155": [ + 155 + ], + "line-156": [ + 156 + ], + "line-157": [ + 157 + ], + "capture": [ + 157 + ], + "local-6989586621679139796": [ + 157 + ], + "local-6989586621679139797": [ + 157 + ], + "local-6989586621679139798": [ + 157 + ], + "local-6989586621679139799": [ + 157 + ], + "line-158": [ + 158 + ], + "local-6989586621679139800": [ + 158 + ], + "line-159": [ + 159 + ], + "line-160": [ + 160 + ], + "local-6989586621679139803": [ + 160 + ], + "local-6989586621679139804": [ + 160 + ], + "local-6989586621679139805": [ + 160 + ], + "line-161": [ + 161 + ], + "local-6989586621679139807": [ + 161 + ], + "line-162": [ + 162 + ], + "line-163": [ + 163 + ], + "line-164": [ + 164 + ], + "line-165": [ + 165 + ], + "line-166": [ + 166 + ], + "line-167": [ + 167 + ], + "serverGeneration": [ + 167 + ], + "local-6989586621679139814": [ + 167 + ], + "line-168": [ + 168 + ], + "line-169": [ + 169 + ], + "line-170": [ + 170 + ], + "line-171": [ + 171 + ], + "line-172": [ + 172 + ], + "local-6989586621679139532": [ + 172 + ], + "line-173": [ + 173 + ], + "tryTmux": [ + 173 + ], + "line-174": [ + 174 + ], + "line-175": [ + 175 + ], + "line-176": [ + 176 + ], + "line-177": [ + 177 + ], + "line-178": [ + 178 + ], + "line-179": [ + 179 + ], + "line-180": [ + 180 + ], + "cleanupRecoveries": [ + 180 + ], + "line-181": [ + 181 + ], + "line-182": [ + 182 + ], + "line-183": [ + 183 + ], + "line-184": [ + 184 + ], + "line-185": [ + 185 + ], + "detachUnresolved": [ + 185 + ], + "local-6989586621679139819": [ + 185 + ], + "line-186": [ + 186 + ], + "line-187": [ + 187 + ], + "line-188": [ + 188 + ], + "line-189": [ + 189 + ], + "captureRecoveries": [ + 189 + ], + "line-190": [ + 190 + ], + "line-191": [ + 191 + ], + "line-192": [ + 192 + ], + "line-193": [ + 193 + ], + "recoveryOperation": [ + 193 + ], + "line-194": [ + 194 + ], + "line-195": [ + 195 + ], + "line-196": [ + 196 + ], + "line-197": [ + 197 + ], + "recoveryGeneration": [ + 197 + ], + "line-198": [ + 198 + ], + "line-199": [ + 199 + ], + "line-200": [ + 200 + ], + "line-201": [ + 201 + ], + "line-202": [ + 202 + ], + "inspectCaptureRecovery": [ + 202 + ], + "line-203": [ + 203 + ], + "line-204": [ + 204 + ], + "line-205": [ + 205 + ], + "line-206": [ + 206 + ], + "resumeCaptureRecovery": [ + 206 + ], + "line-207": [ + 207 + ], + "line-208": [ + 208 + ], + "line-209": [ + 209 + ], + "line-210": [ + 210 + ], + "detachCaptureRecovery": [ + 210 + ], + "line-211": [ + 211 + ], + "line-212": [ + 212 + ], + "line-213": [ + 213 + ], + "line-214": [ + 214 + ], + "operationStatus": [ + 214 + ], + "line-215": [ + 215 + ], + "line-216": [ + 216 + ], + "line-217": [ + 217 + ], + "resolveExecutable": [ + 217 + ], + "local-6989586621679139828": [ + 217 + ], + "line-218": [ + 218 + ], + "line-219": [ + 219 + ], + "local-6989586621679139830": [ + 219 + ], + "line-220": [ + 220 + ], + "local-6989586621679139831": [ + 220 + ], + "line-221": [ + 221 + ], + "local-6989586621679139833": [ + 221 + ], + "line-222": [ + 222 + ], + "line-223": [ + 223 + ], + "line-224": [ + 224 + ], + "line-225": [ + 225 + ], + "posixBytes": [ + 225 + ], + "line-226": [ + 226 + ], + "line-227": [ + 227 + ], + "local-6989586621679139840": [ + 227 + ], + "line-228": [ + 228 + ], + "operational": [ + 228 + ], + "local-6989586621679139864": [ + 228 + ], + "local-6989586621679139865": [ + 228 + ], + "local-6989586621679139866": [ + 228 + ], + "local-6989586621679139867": [ + 228 + ], + "line-229": [ + 229 + ], + "local-6989586621679139868": [ + 229 + ], + "line-230": [ + 230 + ], + "line-231": [ + 231 + ], + "line-232": [ + 232 + ], + "line-233": [ + 233 + ], + "line-234": [ + 234 + ], + "line-235": [ + 235 + ], + "line-236": [ + 236 + ], + "line-237": [ + 237 + ], + "line-238": [ + 238 + ], + "line-239": [ + 239 + ], + "line-240": [ + 240 + ], + "line-241": [ + 241 + ], + "line-242": [ + 242 + ] + }, + "LibTmux.Snapshot": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "line-36": [ + 36 + ], + "line-37": [ + 37 + ], + "line-38": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "line-41": [ + 41 + ], + "line-42": [ + 42 + ], + "line-43": [ + 43 + ], + "line-44": [ + 44 + ], + "line-45": [ + 45 + ], + "line-46": [ + 46 + ], + "line-47": [ + 47 + ], + "line-48": [ + 48 + ], + "line-49": [ + 49 + ], + "line-50": [ + 50 + ], + "line-51": [ + 51 + ], + "line-52": [ + 52 + ], + "line-53": [ + 53 + ], + "line-54": [ + 54 + ], + "line-55": [ + 55 + ], + "line-56": [ + 56 + ], + "line-57": [ + 57 + ], + "SnapshotOrigin": [ + 57 + ], + "line-58": [ + 58 + ], + "AcquiredFromTmux": [ + 58 + ], + "line-59": [ + 59 + ], + "DefinedOffline": [ + 59 + ], + "line-60": [ + 60 + ], + "local-6989586621679132202": [ + 60 + ], + "local-6989586621679132209": [ + 60 + ], + "local-6989586621679132216": [ + 60 + ], + "local-6989586621679132220": [ + 60 + ], + "local-6989586621679132223": [ + 60 + ], + "local-6989586621679132227": [ + 60 + ], + "local-6989586621679132230": [ + 60 + ], + "local-6989586621679132233": [ + 60 + ], + "local-6989586621679132236": [ + 60 + ], + "local-6989586621679132244": [ + 60 + ], + "local-6989586621679132250": [ + 60 + ], + "local-6989586621679132254": [ + 60 + ], + "line-61": [ + 61 + ], + "line-62": [ + 62 + ], + "line-63": [ + 63 + ], + "line-64": [ + 64 + ], + "line-65": [ + 65 + ], + "snapshotOrigin": [ + 65 + ], + "local-6989586621679132258": [ + 65 + ], + "line-66": [ + 66 + ], + "line-67": [ + 67 + ], + "local-6989586621679132261": [ + 67 + ], + "line-68": [ + 68 + ], + "line-69": [ + 69 + ], + "line-70": [ + 70 + ], + "line-71": [ + 71 + ], + "sessionId": [ + 71 + ], + "local-6989586621679132263": [ + 71 + ], + "line-72": [ + 72 + ], + "line-73": [ + 73 + ], + "line-74": [ + 74 + ], + "line-75": [ + 75 + ], + "windowId": [ + 75 + ], + "local-6989586621679132265": [ + 75 + ], + "line-76": [ + 76 + ], + "line-77": [ + 77 + ], + "line-78": [ + 78 + ], + "line-79": [ + 79 + ], + "paneId": [ + 79 + ], + "local-6989586621679132267": [ + 79 + ], + "line-80": [ + 80 + ], + "line-81": [ + 81 + ], + "line-82": [ + 82 + ], + "line-83": [ + 83 + ], + "sessions": [ + 83 + ], + "line-84": [ + 84 + ], + "line-85": [ + 85 + ], + "line-86": [ + 86 + ], + "line-87": [ + 87 + ], + "windows": [ + 87 + ], + "line-88": [ + 88 + ], + "line-89": [ + 89 + ], + "line-90": [ + 90 + ], + "line-91": [ + 91 + ], + "panes": [ + 91 + ], + "line-92": [ + 92 + ], + "line-93": [ + 93 + ], + "line-94": [ + 94 + ], + "line-95": [ + 95 + ], + "windowLinks": [ + 95 + ], + "line-96": [ + 96 + ], + "line-97": [ + 97 + ], + "line-98": [ + 98 + ], + "line-99": [ + 99 + ], + "paneOccurrences": [ + 99 + ], + "line-100": [ + 100 + ], + "line-101": [ + 101 + ], + "line-102": [ + 102 + ], + "line-103": [ + 103 + ], + "lookupSession": [ + 103 + ], + "local-6989586621679132275": [ + 103 + ], + "line-104": [ + 104 + ], + "line-105": [ + 105 + ], + "line-106": [ + 106 + ], + "line-107": [ + 107 + ], + "lookupWindow": [ + 107 + ], + "local-6989586621679132277": [ + 107 + ], + "line-108": [ + 108 + ], + "line-109": [ + 109 + ], + "line-110": [ + 110 + ], + "line-111": [ + 111 + ], + "lookupPane": [ + 111 + ], + "local-6989586621679132279": [ + 111 + ], + "line-112": [ + 112 + ], + "line-113": [ + 113 + ], + "line-114": [ + 114 + ], + "line-115": [ + 115 + ], + "linksForSession": [ + 115 + ], + "local-6989586621679132281": [ + 115 + ], + "line-116": [ + 116 + ], + "line-117": [ + 117 + ], + "line-118": [ + 118 + ], + "line-119": [ + 119 + ], + "panesForWindow": [ + 119 + ], + "local-6989586621679132283": [ + 119 + ], + "line-120": [ + 120 + ], + "line-121": [ + 121 + ], + "line-122": [ + 122 + ], + "line-123": [ + 123 + ], + "line-124": [ + 124 + ], + "lookupSessionId": [ + 124 + ], + "local-6989586621679132285": [ + 124 + ], + "local-6989586621679132286": [ + 124 + ], + "line-125": [ + 125 + ], + "line-126": [ + 126 + ], + "line-127": [ + 127 + ], + "line-128": [ + 128 + ], + "lookupWindowId": [ + 128 + ], + "local-6989586621679132287": [ + 128 + ], + "local-6989586621679132288": [ + 128 + ], + "line-129": [ + 129 + ], + "line-130": [ + 130 + ], + "line-131": [ + 131 + ], + "line-132": [ + 132 + ], + "lookupPaneId": [ + 132 + ], + "local-6989586621679132289": [ + 132 + ], + "local-6989586621679132290": [ + 132 + ], + "line-133": [ + 133 + ], + "line-134": [ + 134 + ], + "line-135": [ + 135 + ], + "line-136": [ + 136 + ], + "labelFromBytes": [ + 136 + ], + "line-137": [ + 137 + ], + "line-138": [ + 138 + ], + "line-139": [ + 139 + ], + "line-140": [ + 140 + ], + "labelBytes": [ + 140 + ], + "line-141": [ + 141 + ], + "line-142": [ + 142 + ], + "line-143": [ + 143 + ], + "line-144": [ + 144 + ], + "labelText": [ + 144 + ], + "line-145": [ + 145 + ] + }, + "LibTmux.Snapshot.Fixture": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "line-36": [ + 36 + ], + "line-37": [ + 37 + ], + "FixtureOrigin": [ + 37, + 37 + ], + "line-38": [ + 38 + ], + "local-6989586621679132464": [ + 38 + ], + "local-6989586621679132468": [ + 38 + ], + "local-6989586621679132475": [ + 38 + ], + "local-6989586621679132479": [ + 38 + ], + "local-6989586621679132482": [ + 38 + ], + "local-6989586621679132486": [ + 38 + ], + "local-6989586621679132489": [ + 38 + ], + "local-6989586621679132492": [ + 38 + ], + "local-6989586621679132495": [ + 38 + ], + "local-6989586621679132503": [ + 38 + ], + "local-6989586621679132509": [ + 38 + ], + "local-6989586621679132513": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "line-41": [ + 41 + ], + "line-42": [ + 42 + ], + "fixtureOrigin": [ + 42 + ], + "line-43": [ + 43 + ], + "line-44": [ + 44 + ], + "line-45": [ + 45 + ], + "line-46": [ + 46 + ], + "line-47": [ + 47 + ], + "fixtureGeneration": [ + 47 + ], + "local-6989586621679132520": [ + 47 + ], + "line-48": [ + 48 + ], + "line-49": [ + 49 + ], + "line-50": [ + 50 + ], + "line-51": [ + 51 + ], + "sessionRef": [ + 51 + ], + "local-6989586621679132521": [ + 51 + ], + "line-52": [ + 52 + ], + "line-53": [ + 53 + ], + "line-54": [ + 54 + ], + "line-55": [ + 55 + ], + "windowRef": [ + 55 + ], + "local-6989586621679132523": [ + 55 + ], + "line-56": [ + 56 + ], + "line-57": [ + 57 + ], + "line-58": [ + 58 + ], + "line-59": [ + 59 + ], + "paneRef": [ + 59 + ], + "local-6989586621679132525": [ + 59 + ], + "line-60": [ + 60 + ], + "line-61": [ + 61 + ], + "line-62": [ + 62 + ], + "line-63": [ + 63 + ], + "Fixture": [ + 63, + 63 + ], + "line-64": [ + 64 + ], + "info": [ + 64 + ], + "line-65": [ + 65 + ], + "sessions": [ + 65 + ], + "line-66": [ + 66 + ], + "windows": [ + 66 + ], + "line-67": [ + 67 + ], + "panes": [ + 67 + ], + "line-68": [ + 68 + ], + "windowLinks": [ + 68 + ], + "line-69": [ + 69 + ], + "clients": [ + 69 + ], + "line-70": [ + 70 + ], + "line-71": [ + 71 + ], + "local-6989586621679132534": [ + 71 + ], + "local-6989586621679132549": [ + 71 + ], + "local-6989586621679132558": [ + 71 + ], + "local-6989586621679132574": [ + 71 + ], + "local-6989586621679132578": [ + 71 + ], + "line-72": [ + 72 + ], + "line-73": [ + 73 + ], + "line-74": [ + 74 + ], + "line-75": [ + 75 + ], + "line-76": [ + 76 + ], + "AttachedClient": [ + 76, + 76 + ], + "line-77": [ + 77 + ], + "name": [ + 77 + ], + "line-78": [ + 78 + ], + "pid": [ + 78 + ], + "line-79": [ + 79 + ], + "tty": [ + 79 + ], + "line-80": [ + 80 + ], + "session": [ + 80 + ], + "line-81": [ + 81 + ], + "window": [ + 81 + ], + "line-82": [ + 82 + ], + "index": [ + 82 + ], + "line-83": [ + 83 + ], + "pane": [ + 83 + ], + "line-84": [ + 84 + ], + "line-85": [ + 85 + ], + "local-6989586621679132594": [ + 85 + ], + "local-6989586621679132610": [ + 85 + ], + "local-6989586621679132613": [ + 85 + ], + "local-6989586621679132630": [ + 85 + ], + "local-6989586621679132633": [ + 85 + ], + "line-86": [ + 86 + ], + "line-87": [ + 87 + ], + "line-88": [ + 88 + ], + "line-89": [ + 89 + ], + "line-90": [ + 90 + ], + "line-91": [ + 91 + ], + "emptyFixture": [ + 91 + ], + "local-6989586621679132635": [ + 91 + ], + "local-6989586621679132636": [ + 91 + ], + "line-92": [ + 92 + ], + "line-93": [ + 93 + ], + "line-94": [ + 94 + ], + "line-95": [ + 95 + ], + "line-96": [ + 96 + ], + "line-97": [ + 97 + ], + "FixtureError": [ + 97 + ], + "line-98": [ + 98 + ], + "InvalidGraph": [ + 98 + ], + "line-99": [ + 99 + ], + "InvalidSnapshot": [ + 99 + ], + "line-100": [ + 100 + ], + "local-6989586621679132642": [ + 100 + ], + "local-6989586621679132650": [ + 100 + ], + "local-6989586621679132654": [ + 100 + ], + "local-6989586621679132661": [ + 100 + ], + "local-6989586621679132665": [ + 100 + ], + "line-101": [ + 101 + ], + "line-102": [ + 102 + ], + "line-103": [ + 103 + ], + "line-104": [ + 104 + ], + "line-105": [ + 105 + ], + "line-106": [ + 106 + ], + "validateFixture": [ + 106 + ], + "local-6989586621679132667": [ + 106 + ], + "local-6989586621679132668": [ + 106 + ], + "line-107": [ + 107 + ], + "local-6989586621679132669": [ + 107 + ], + "line-108": [ + 108 + ], + "line-109": [ + 109 + ], + "line-110": [ + 110 + ], + "local-6989586621679132673": [ + 110 + ], + "line-111": [ + 111 + ], + "line-112": [ + 112 + ], + "local-6989586621679132675": [ + 112 + ], + "line-113": [ + 113 + ], + "line-114": [ + 114 + ], + "line-115": [ + 115 + ] + }, + "LibTmux.Value": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "Dimension": [ + 35, + 35 + ], + "line-36": [ + 36 + ], + "local-6989586621679129846": [ + 36 + ], + "local-6989586621679129850": [ + 36 + ], + "local-6989586621679129857": [ + 36 + ], + "local-6989586621679129860": [ + 36 + ], + "local-6989586621679129863": [ + 36 + ], + "local-6989586621679129867": [ + 36 + ], + "local-6989586621679129870": [ + 36 + ], + "local-6989586621679129873": [ + 36 + ], + "local-6989586621679129876": [ + 36 + ], + "local-6989586621679129884": [ + 36 + ], + "local-6989586621679129890": [ + 36 + ], + "local-6989586621679129894": [ + 36 + ], + "line-37": [ + 37 + ], + "local-6989586621679129899": [ + 37 + ], + "line-38": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "line-41": [ + 41 + ], + "WindowIndex": [ + 41, + 41 + ], + "line-42": [ + 42 + ], + "local-6989586621679129908": [ + 42 + ], + "local-6989586621679129911": [ + 42 + ], + "local-6989586621679129917": [ + 42 + ], + "local-6989586621679129920": [ + 42 + ], + "local-6989586621679129923": [ + 42 + ], + "local-6989586621679129927": [ + 42 + ], + "local-6989586621679129930": [ + 42 + ], + "local-6989586621679129933": [ + 42 + ], + "local-6989586621679129936": [ + 42 + ], + "local-6989586621679129939": [ + 42 + ], + "local-6989586621679129943": [ + 42 + ], + "local-6989586621679129947": [ + 42 + ], + "line-43": [ + 43 + ], + "local-6989586621679129950": [ + 43 + ], + "line-44": [ + 44 + ], + "line-45": [ + 45 + ], + "line-46": [ + 46 + ], + "line-47": [ + 47 + ], + "PaneIndex": [ + 47, + 47 + ], + "line-48": [ + 48 + ], + "local-6989586621679129956": [ + 48 + ], + "local-6989586621679129959": [ + 48 + ], + "local-6989586621679129965": [ + 48 + ], + "local-6989586621679129968": [ + 48 + ], + "local-6989586621679129971": [ + 48 + ], + "local-6989586621679129975": [ + 48 + ], + "local-6989586621679129978": [ + 48 + ], + "local-6989586621679129981": [ + 48 + ], + "local-6989586621679129984": [ + 48 + ], + "local-6989586621679129987": [ + 48 + ], + "local-6989586621679129991": [ + 48 + ], + "local-6989586621679129995": [ + 48 + ], + "line-49": [ + 49 + ], + "local-6989586621679129998": [ + 49 + ], + "line-50": [ + 50 + ], + "line-51": [ + 51 + ], + "line-52": [ + 52 + ], + "ValueError": [ + 52 + ], + "line-53": [ + 53 + ], + "NonPositiveDimension": [ + 53 + ], + "line-54": [ + 54 + ], + "NegativeIndex": [ + 54 + ], + "line-55": [ + 55 + ], + "local-6989586621679130005": [ + 55 + ], + "local-6989586621679130012": [ + 55 + ], + "local-6989586621679130016": [ + 55 + ], + "local-6989586621679130022": [ + 55 + ], + "local-6989586621679130026": [ + 55 + ], + "line-56": [ + 56 + ], + "line-57": [ + 57 + ], + "line-58": [ + 58 + ], + "line-59": [ + 59 + ], + "mkDimension": [ + 59 + ], + "local-6989586621679130028": [ + 59 + ], + "line-60": [ + 60 + ], + "line-61": [ + 61 + ], + "line-62": [ + 62 + ], + "line-63": [ + 63 + ], + "line-64": [ + 64 + ], + "line-65": [ + 65 + ], + "mkWindowIndex": [ + 65 + ], + "local-6989586621679130029": [ + 65 + ], + "line-66": [ + 66 + ], + "line-67": [ + 67 + ], + "line-68": [ + 68 + ], + "line-69": [ + 69 + ], + "line-70": [ + 70 + ], + "line-71": [ + 71 + ], + "mkPaneIndex": [ + 71 + ], + "local-6989586621679130030": [ + 71 + ], + "line-72": [ + 72 + ], + "line-73": [ + 73 + ], + "line-74": [ + 74 + ], + "line-75": [ + 75 + ], + "line-76": [ + 76 + ], + "line-77": [ + 77 + ], + "dimensionValue": [ + 77 + ], + "local-6989586621679130031": [ + 77 + ], + "line-78": [ + 78 + ], + "line-79": [ + 79 + ], + "line-80": [ + 80 + ], + "line-81": [ + 81 + ], + "windowIndexValue": [ + 81 + ], + "local-6989586621679130032": [ + 81 + ], + "line-82": [ + 82 + ], + "line-83": [ + 83 + ], + "line-84": [ + 84 + ], + "line-85": [ + 85 + ], + "paneIndexValue": [ + 85 + ], + "local-6989586621679130033": [ + 85 + ], + "line-86": [ + 86 + ] + }, + "LibTmux.Version": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "TmuxVersion": [ + 31, + 31 + ], + "line-32": [ + 32 + ], + "local-6989586621679130165": [ + 32 + ], + "local-6989586621679130173": [ + 32 + ], + "local-6989586621679130181": [ + 32 + ], + "local-6989586621679130188": [ + 32 + ], + "local-6989586621679130193": [ + 32 + ], + "local-6989586621679130196": [ + 32 + ], + "local-6989586621679130199": [ + 32 + ], + "local-6989586621679130202": [ + 32 + ], + "local-6989586621679130205": [ + 32 + ], + "local-6989586621679130213": [ + 32 + ], + "local-6989586621679130221": [ + 32 + ], + "local-6989586621679130225": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "VersionError": [ + 35 + ], + "line-36": [ + 36 + ], + "MalformedVersion": [ + 36 + ], + "line-37": [ + 37 + ], + "UnsupportedVersion": [ + 37 + ], + "line-38": [ + 38 + ], + "local-6989586621679130233": [ + 38 + ], + "local-6989586621679130241": [ + 38 + ], + "local-6989586621679130245": [ + 38 + ], + "local-6989586621679130252": [ + 38 + ], + "local-6989586621679130256": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "line-41": [ + 41 + ], + "line-42": [ + 42 + ], + "line-43": [ + 43 + ], + "line-44": [ + 44 + ], + "parseVersion": [ + 44 + ], + "local-6989586621679130258": [ + 44 + ], + "line-45": [ + 45 + ], + "line-46": [ + 46 + ], + "line-47": [ + 47 + ], + "line-48": [ + 48 + ], + "local-6989586621679130260": [ + 48 + ], + "line-49": [ + 49 + ], + "local-6989586621679130265": [ + 49 + ], + "line-50": [ + 50 + ], + "local-6989586621679130267": [ + 50 + ], + "line-51": [ + 51 + ], + "local-6989586621679130262": [ + 51 + ], + "line-52": [ + 52 + ], + "local-6989586621679130269": [ + 52 + ], + "local-6989586621679130270": [ + 52 + ], + "line-53": [ + 53 + ], + "local-6989586621679130272": [ + 53 + ], + "line-54": [ + 54 + ], + "local-6989586621679130273": [ + 54 + ], + "local-6989586621679130274": [ + 54 + ], + "line-55": [ + 55 + ], + "local-6989586621679130277": [ + 55 + ], + "line-56": [ + 56 + ], + "local-6989586621679130279": [ + 56 + ], + "line-57": [ + 57 + ], + "local-6989586621679130280": [ + 57 + ], + "line-58": [ + 58 + ], + "line-59": [ + 59 + ], + "local-6989586621679130282": [ + 59 + ], + "line-60": [ + 60 + ], + "line-61": [ + 61 + ], + "line-62": [ + 62 + ], + "line-63": [ + 63 + ], + "local-6989586621679130278": [ + 63 + ], + "local-6989586621679130286": [ + 63 + ], + "line-64": [ + 64 + ], + "line-65": [ + 65 + ], + "local-6989586621679130288": [ + 65 + ], + "line-66": [ + 66 + ], + "line-67": [ + 67 + ], + "line-68": [ + 68 + ], + "line-69": [ + 69 + ], + "local-6989586621679130276": [ + 69 + ], + "local-6989586621679130294": [ + 69 + ], + "line-70": [ + 70 + ], + "line-71": [ + 71 + ], + "line-72": [ + 72 + ], + "line-73": [ + 73 + ], + "renderVersion": [ + 73 + ], + "local-6989586621679130295": [ + 73 + ], + "local-6989586621679130296": [ + 73 + ], + "local-6989586621679130297": [ + 73 + ], + "line-74": [ + 74 + ], + "line-75": [ + 75 + ], + "line-76": [ + 76 + ], + "line-77": [ + 77 + ], + "line-78": [ + 78 + ], + "line-79": [ + 79 + ], + "line-80": [ + 80 + ], + "requireSupported": [ + 80 + ], + "local-6989586621679130300": [ + 80 + ], + "line-81": [ + 81 + ], + "line-82": [ + 82 + ], + "line-83": [ + 83 + ] + }, + "LibTmux.Internal.Capture": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "line-36": [ + 36 + ], + "line-37": [ + 37 + ], + "CapturedGraph": [ + 37 + ], + "line-38": [ + 38 + ], + "CapturedSnapshot": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "CaptureError": [ + 40 + ], + "line-41": [ + 41 + ], + "CaptureChanged": [ + 41 + ], + "CaptureDeadline": [ + 41 + ], + "InvalidCaptureDeadline": [ + 41 + ], + "line-42": [ + 42 + ], + "CaptureByteLimit": [ + 42 + ], + "InvalidCapturedField": [ + 42 + ], + "line-43": [ + 43 + ], + "CaptureReadUnavailable": [ + 43 + ], + "line-44": [ + 44 + ], + "local-6989586621679139080": [ + 44 + ], + "local-6989586621679139093": [ + 44 + ], + "local-6989586621679139098": [ + 44 + ], + "local-6989586621679139112": [ + 44 + ], + "local-6989586621679139116": [ + 44 + ], + "line-45": [ + 45 + ], + "local-6989586621679139125": [ + 45 + ], + "local-6989586621679139128": [ + 45 + ], + "local-6989586621679139131": [ + 45 + ], + "local-6989586621679139134": [ + 45 + ], + "line-46": [ + 46 + ], + "line-47": [ + 47 + ], + "line-48": [ + 48 + ], + "line-49": [ + 49 + ], + "CaptureRecovery": [ + 49, + 49 + ], + "line-50": [ + 50 + ], + "local-6989586621679139139": [ + 50 + ], + "local-6989586621679139143": [ + 50 + ], + "line-51": [ + 51 + ], + "local-6989586621679139149": [ + 51 + ], + "local-6989586621679139150": [ + 51 + ], + "local-6989586621679139151": [ + 51 + ], + "line-52": [ + 52 + ], + "line-53": [ + 53 + ], + "local-6989586621679139160": [ + 53 + ], + "line-54": [ + 54 + ], + "line-55": [ + 55 + ], + "line-56": [ + 56 + ], + "captureRecoveries": [ + 56 + ], + "line-57": [ + 57 + ], + "line-58": [ + 58 + ], + "line-59": [ + 59 + ], + "recoveryReceipt": [ + 59 + ], + "local-6989586621679139165": [ + 59 + ], + "line-60": [ + 60 + ], + "line-61": [ + 61 + ], + "line-62": [ + 62 + ], + "inspectRecovery": [ + 62 + ], + "local-6989586621679139166": [ + 62 + ], + "local-6989586621679139167": [ + 62 + ], + "local-6989586621679139168": [ + 62 + ], + "line-63": [ + 63 + ], + "line-64": [ + 64 + ], + "line-65": [ + 65 + ], + "line-66": [ + 66 + ], + "line-67": [ + 67 + ], + "resumeRecovery": [ + 67 + ], + "local-6989586621679139170": [ + 67 + ], + "local-6989586621679139171": [ + 67 + ], + "local-6989586621679139172": [ + 67 + ], + "line-68": [ + 68 + ], + "line-69": [ + 69 + ], + "line-70": [ + 70 + ], + "line-71": [ + 71 + ], + "detachRecovery": [ + 71 + ], + "local-6989586621679139174": [ + 71 + ], + "local-6989586621679139175": [ + 71 + ], + "local-6989586621679139176": [ + 71 + ], + "line-72": [ + 72 + ], + "line-73": [ + 73 + ], + "line-74": [ + 74 + ], + "captureGraph": [ + 74 + ], + "local-6989586621679139178": [ + 74 + ], + "local-6989586621679139179": [ + 74 + ], + "local-6989586621679139180": [ + 74 + ], + "local-6989586621679139181": [ + 74 + ], + "local-6989586621679139183": [ + 74 + ], + "local-6989586621679139184": [ + 74 + ], + "line-75": [ + 75 + ], + "local-6989586621679139185": [ + 75 + ], + "line-76": [ + 76 + ], + "line-77": [ + 77 + ], + "line-78": [ + 78 + ], + "line-79": [ + 79 + ], + "captureSnapshot": [ + 79 + ], + "line-80": [ + 80 + ], + "line-81": [ + 81 + ], + "line-82": [ + 82 + ], + "line-83": [ + 83 + ], + "line-84": [ + 84 + ], + "captureSnapshotWith": [ + 84 + ], + "local-6989586621679139190": [ + 84 + ], + "local-6989586621679139191": [ + 84 + ], + "local-6989586621679139192": [ + 84 + ], + "local-6989586621679139193": [ + 84 + ], + "local-6989586621679139194": [ + 84 + ], + "local-6989586621679139195": [ + 84 + ], + "local-6989586621679139196": [ + 84 + ], + "line-85": [ + 85 + ], + "local-6989586621679139197": [ + 85 + ], + "line-86": [ + 86 + ], + "line-87": [ + 87 + ], + "line-88": [ + 88 + ], + "line-89": [ + 89 + ], + "line-90": [ + 90 + ], + "line-91": [ + 91 + ], + "captureGraphWith": [ + 91 + ], + "local-6989586621679139199": [ + 91 + ], + "local-6989586621679139200": [ + 91 + ], + "local-6989586621679139201": [ + 91 + ], + "local-6989586621679139202": [ + 91 + ], + "local-6989586621679139203": [ + 91 + ], + "line-92": [ + 92 + ], + "local-6989586621679139204": [ + 92 + ], + "local-6989586621679139205": [ + 92 + ], + "line-93": [ + 93 + ], + "line-94": [ + 94 + ], + "local-6989586621679139208": [ + 94 + ], + "line-95": [ + 95 + ], + "line-96": [ + 96 + ], + "local-6989586621679139207": [ + 96 + ], + "local-6989586621679139210": [ + 96 + ], + "local-6989586621679139211": [ + 96 + ], + "local-6989586621679139212": [ + 96 + ], + "line-97": [ + 97 + ], + "local-6989586621679139215": [ + 97 + ], + "line-98": [ + 98 + ], + "line-99": [ + 99 + ], + "line-100": [ + 100 + ], + "local-6989586621679139217": [ + 100 + ], + "line-101": [ + 101 + ], + "line-102": [ + 102 + ], + "line-103": [ + 103 + ], + "local-6989586621679139219": [ + 103 + ], + "line-104": [ + 104 + ], + "line-105": [ + 105 + ], + "line-106": [ + 106 + ], + "line-107": [ + 107 + ], + "local-6989586621679139216": [ + 107 + ], + "local-6989586621679139221": [ + 107 + ], + "local-6989586621679139222": [ + 107 + ], + "local-6989586621679139223": [ + 107 + ], + "line-108": [ + 108 + ], + "line-109": [ + 109 + ], + "line-110": [ + 110 + ], + "local-6989586621679139213": [ + 110 + ], + "local-6989586621679139224": [ + 110 + ], + "local-6989586621679139225": [ + 110 + ], + "line-111": [ + 111 + ], + "local-6989586621679139226": [ + 111 + ], + "line-112": [ + 112 + ], + "local-6989586621679139228": [ + 112 + ], + "local-6989586621679139229": [ + 112 + ], + "line-113": [ + 113 + ], + "local-6989586621679139230": [ + 113 + ], + "line-114": [ + 114 + ], + "local-6989586621679139232": [ + 114 + ], + "line-115": [ + 115 + ], + "line-116": [ + 116 + ], + "line-117": [ + 117 + ], + "local-6989586621679139236": [ + 117 + ], + "line-118": [ + 118 + ], + "local-6989586621679139237": [ + 118 + ], + "line-119": [ + 119 + ], + "local-6989586621679139238": [ + 119 + ], + "line-120": [ + 120 + ], + "line-121": [ + 121 + ], + "local-6989586621679139242": [ + 121 + ], + "line-122": [ + 122 + ], + "line-123": [ + 123 + ], + "line-124": [ + 124 + ], + "line-125": [ + 125 + ], + "line-126": [ + 126 + ], + "line-127": [ + 127 + ], + "local-6989586621679139250": [ + 127 + ], + "local-6989586621679139251": [ + 127 + ], + "line-128": [ + 128 + ], + "local-6989586621679139252": [ + 128 + ], + "line-129": [ + 129 + ], + "local-6989586621679139253": [ + 129 + ], + "line-130": [ + 130 + ], + "line-131": [ + 131 + ], + "line-132": [ + 132 + ], + "local-6989586621679138859": [ + 132 + ], + "local-6989586621679138860": [ + 132 + ], + "line-133": [ + 133 + ], + "local-6989586621679139255": [ + 133 + ], + "local-6989586621679139261": [ + 133 + ], + "local-6989586621679139262": [ + 133 + ], + "line-134": [ + 134 + ], + "local-6989586621679139263": [ + 134 + ], + "line-135": [ + 135 + ], + "line-136": [ + 136 + ], + "local-6989586621679139265": [ + 136 + ], + "line-137": [ + 137 + ], + "local-6989586621679139266": [ + 137 + ], + "local-6989586621679139267": [ + 137 + ], + "line-138": [ + 138 + ], + "local-6989586621679139268": [ + 138 + ], + "line-139": [ + 139 + ], + "line-140": [ + 140 + ], + "local-6989586621679139274": [ + 140 + ], + "local-6989586621679139275": [ + 140 + ], + "line-141": [ + 141 + ], + "local-6989586621679139276": [ + 141 + ], + "line-142": [ + 142 + ], + "line-143": [ + 143 + ], + "local-6989586621679139281": [ + 143 + ], + "local-6989586621679139282": [ + 143 + ], + "line-144": [ + 144 + ], + "local-6989586621679139283": [ + 144 + ], + "line-145": [ + 145 + ], + "local-6989586621679139285": [ + 145 + ], + "line-146": [ + 146 + ], + "local-6989586621679139288": [ + 146 + ], + "line-147": [ + 147 + ], + "local-6989586621679139291": [ + 147 + ], + "line-148": [ + 148 + ], + "line-149": [ + 149 + ], + "line-150": [ + 150 + ], + "local-6989586621679139297": [ + 150 + ], + "line-151": [ + 151 + ], + "line-152": [ + 152 + ], + "local-6989586621679139299": [ + 152 + ], + "line-153": [ + 153 + ], + "line-154": [ + 154 + ], + "line-155": [ + 155 + ], + "line-156": [ + 156 + ], + "local-6989586621679138822": [ + 156 + ], + "line-157": [ + 157 + ], + "line-158": [ + 158 + ], + "withinDeadline": [ + 158 + ], + "local-6989586621679139352": [ + 158 + ], + "local-6989586621679139353": [ + 158 + ], + "local-6989586621679139354": [ + 158 + ], + "local-6989586621679139355": [ + 158 + ], + "local-6989586621679139356": [ + 158 + ], + "line-159": [ + 159 + ], + "line-160": [ + 160 + ], + "local-6989586621679139359": [ + 160 + ], + "line-161": [ + 161 + ], + "local-6989586621679139360": [ + 161 + ], + "local-6989586621679139362": [ + 161 + ], + "local-6989586621679139363": [ + 161 + ], + "line-162": [ + 162 + ], + "local-6989586621679139364": [ + 162 + ], + "line-163": [ + 163 + ], + "local-6989586621679139365": [ + 163 + ], + "line-164": [ + 164 + ], + "local-6989586621679139366": [ + 164 + ], + "line-165": [ + 165 + ], + "line-166": [ + 166 + ], + "local-6989586621679139367": [ + 166 + ], + "line-167": [ + 167 + ], + "line-168": [ + 168 + ], + "local-6989586621679139368": [ + 168 + ], + "line-169": [ + 169 + ], + "local-6989586621679139369": [ + 169 + ], + "line-170": [ + 170 + ], + "line-171": [ + 171 + ], + "line-172": [ + 172 + ], + "line-173": [ + 173 + ], + "line-174": [ + 174 + ], + "local-6989586621679139371": [ + 174 + ], + "local-6989586621679139372": [ + 174 + ], + "line-175": [ + 175 + ], + "local-6989586621679139373": [ + 175 + ], + "line-176": [ + 176 + ], + "local-6989586621679139374": [ + 176 + ], + "line-177": [ + 177 + ], + "line-178": [ + 178 + ], + "local-6989586621679139377": [ + 178 + ], + "line-179": [ + 179 + ], + "local-6989586621679139378": [ + 179 + ], + "line-180": [ + 180 + ], + "local-6989586621679139379": [ + 180 + ], + "line-181": [ + 181 + ], + "local-6989586621679139380": [ + 181 + ], + "line-182": [ + 182 + ], + "local-6989586621679139382": [ + 182 + ], + "line-183": [ + 183 + ], + "line-184": [ + 184 + ], + "line-185": [ + 185 + ], + "line-186": [ + 186 + ], + "local-6989586621679138828": [ + 186 + ], + "line-187": [ + 187 + ], + "owned": [ + 187 + ], + "local-6989586621679139399": [ + 187 + ], + "local-6989586621679139400": [ + 187 + ], + "local-6989586621679139401": [ + 187 + ], + "local-6989586621679139402": [ + 187 + ], + "line-188": [ + 188 + ], + "line-189": [ + 189 + ], + "local-6989586621679139403": [ + 189 + ], + "local-6989586621679139404": [ + 189 + ], + "local-6989586621679139405": [ + 189 + ], + "line-190": [ + 190 + ], + "line-191": [ + 191 + ], + "line-192": [ + 192 + ], + "line-193": [ + 193 + ], + "local-6989586621679139406": [ + 193 + ], + "line-194": [ + 194 + ], + "line-195": [ + 195 + ], + "line-196": [ + 196 + ], + "local-6989586621679139407": [ + 196 + ], + "line-197": [ + 197 + ], + "line-198": [ + 198 + ], + "local-6989586621679139409": [ + 198 + ], + "line-199": [ + 199 + ], + "line-200": [ + 200 + ], + "local-6989586621679139413": [ + 200 + ], + "line-201": [ + 201 + ], + "local-6989586621679139415": [ + 201 + ], + "line-202": [ + 202 + ], + "local-6989586621679139416": [ + 202 + ], + "line-203": [ + 203 + ], + "line-204": [ + 204 + ], + "line-205": [ + 205 + ], + "remaining": [ + 205 + ], + "local-6989586621679139417": [ + 205 + ], + "line-206": [ + 206 + ], + "local-6989586621679139418": [ + 206 + ], + "line-207": [ + 207 + ], + "line-208": [ + 208 + ], + "line-209": [ + 209 + ] + }, + "LibTmux.Internal.Graph": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "line-36": [ + 36 + ], + "line-37": [ + 37 + ], + "EndpointIdentity": [ + 37, + 37 + ], + "line-38": [ + 38 + ], + "local-6989586621679130747": [ + 38 + ], + "local-6989586621679130752": [ + 38 + ], + "local-6989586621679130759": [ + 38 + ], + "local-6989586621679130763": [ + 38 + ], + "local-6989586621679130767": [ + 38 + ], + "local-6989586621679130771": [ + 38 + ], + "local-6989586621679130774": [ + 38 + ], + "local-6989586621679130777": [ + 38 + ], + "local-6989586621679130780": [ + 38 + ], + "local-6989586621679130788": [ + 38 + ], + "local-6989586621679130795": [ + 38 + ], + "local-6989586621679130799": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "local-6989586621679130809": [ + 40 + ], + "local-6989586621679130810": [ + 40 + ], + "local-6989586621679130811": [ + 40 + ], + "line-41": [ + 41 + ], + "line-42": [ + 42 + ], + "line-43": [ + 43 + ], + "line-44": [ + 44 + ], + "Generation": [ + 44, + 44 + ], + "line-45": [ + 45 + ], + "FixtureGeneration": [ + 45 + ], + "line-46": [ + 46 + ], + "local-6989586621679130815": [ + 46 + ], + "local-6989586621679130825": [ + 46 + ], + "local-6989586621679130830": [ + 46 + ], + "local-6989586621679130837": [ + 46 + ], + "local-6989586621679130842": [ + 46 + ], + "local-6989586621679130846": [ + 46 + ], + "local-6989586621679130849": [ + 46 + ], + "local-6989586621679130852": [ + 46 + ], + "local-6989586621679130855": [ + 46 + ], + "local-6989586621679130858": [ + 46 + ], + "local-6989586621679130867": [ + 46 + ], + "local-6989586621679130871": [ + 46 + ], + "line-47": [ + 47 + ], + "line-48": [ + 48 + ], + "local-6989586621679130880": [ + 48 + ], + "local-6989586621679130881": [ + 48 + ], + "local-6989586621679130882": [ + 48 + ], + "line-49": [ + 49 + ], + "local-6989586621679130883": [ + 49 + ], + "line-50": [ + 50 + ], + "line-51": [ + 51 + ], + "line-52": [ + 52 + ], + "line-53": [ + 53 + ], + "SessionRef": [ + 53, + 53 + ], + "line-54": [ + 54 + ], + "local-6989586621679130886": [ + 54 + ], + "local-6989586621679130891": [ + 54 + ], + "local-6989586621679130897": [ + 54 + ], + "local-6989586621679130902": [ + 54 + ], + "local-6989586621679130906": [ + 54 + ], + "local-6989586621679130909": [ + 54 + ], + "local-6989586621679130912": [ + 54 + ], + "local-6989586621679130915": [ + 54 + ], + "local-6989586621679130918": [ + 54 + ], + "local-6989586621679130921": [ + 54 + ], + "local-6989586621679130927": [ + 54 + ], + "local-6989586621679130931": [ + 54 + ], + "line-55": [ + 55 + ], + "line-56": [ + 56 + ], + "local-6989586621679130938": [ + 56 + ], + "local-6989586621679130939": [ + 56 + ], + "local-6989586621679130940": [ + 56 + ], + "line-57": [ + 57 + ], + "line-58": [ + 58 + ], + "line-59": [ + 59 + ], + "line-60": [ + 60 + ], + "WindowRef": [ + 60, + 60 + ], + "line-61": [ + 61 + ], + "local-6989586621679130944": [ + 61 + ], + "local-6989586621679130949": [ + 61 + ], + "local-6989586621679130954": [ + 61 + ], + "local-6989586621679130959": [ + 61 + ], + "local-6989586621679130963": [ + 61 + ], + "local-6989586621679130966": [ + 61 + ], + "local-6989586621679130969": [ + 61 + ], + "local-6989586621679130972": [ + 61 + ], + "local-6989586621679130975": [ + 61 + ], + "local-6989586621679130978": [ + 61 + ], + "local-6989586621679130984": [ + 61 + ], + "local-6989586621679130988": [ + 61 + ], + "line-62": [ + 62 + ], + "line-63": [ + 63 + ], + "local-6989586621679130995": [ + 63 + ], + "local-6989586621679130996": [ + 63 + ], + "local-6989586621679130997": [ + 63 + ], + "line-64": [ + 64 + ], + "line-65": [ + 65 + ], + "line-66": [ + 66 + ], + "line-67": [ + 67 + ], + "PaneRef": [ + 67, + 67 + ], + "line-68": [ + 68 + ], + "local-6989586621679131001": [ + 68 + ], + "local-6989586621679131006": [ + 68 + ], + "local-6989586621679131012": [ + 68 + ], + "local-6989586621679131017": [ + 68 + ], + "local-6989586621679131021": [ + 68 + ], + "local-6989586621679131024": [ + 68 + ], + "local-6989586621679131027": [ + 68 + ], + "local-6989586621679131030": [ + 68 + ], + "local-6989586621679131033": [ + 68 + ], + "local-6989586621679131036": [ + 68 + ], + "local-6989586621679131042": [ + 68 + ], + "local-6989586621679131046": [ + 68 + ], + "line-69": [ + 69 + ], + "line-70": [ + 70 + ], + "local-6989586621679131053": [ + 70 + ], + "local-6989586621679131054": [ + 70 + ], + "local-6989586621679131055": [ + 70 + ], + "line-71": [ + 71 + ], + "line-72": [ + 72 + ], + "line-73": [ + 73 + ], + "Session": [ + 73, + 73 + ], + "line-74": [ + 74 + ], + "ref": [ + 74, + 84, + 96 + ], + "line-75": [ + 75 + ], + "name": [ + 75, + 85, + 162, + 173 + ], + "line-76": [ + 76 + ], + "attached": [ + 76 + ], + "line-77": [ + 77 + ], + "line-78": [ + 78 + ], + "local-6989586621679131061": [ + 78 + ], + "local-6989586621679131066": [ + 78 + ], + "local-6989586621679131069": [ + 78 + ], + "local-6989586621679131075": [ + 78 + ], + "local-6989586621679131079": [ + 78 + ], + "line-79": [ + 79 + ], + "line-80": [ + 80 + ], + "local-6989586621679131088": [ + 80 + ], + "local-6989586621679131089": [ + 80 + ], + "local-6989586621679131090": [ + 80 + ], + "local-6989586621679131091": [ + 80 + ], + "line-81": [ + 81 + ], + "line-82": [ + 82 + ], + "line-83": [ + 83 + ], + "Window": [ + 83, + 83 + ], + "line-84": [ + 84 + ], + "line-85": [ + 85 + ], + "line-86": [ + 86 + ], + "width": [ + 86, + 99 + ], + "line-87": [ + 87 + ], + "height": [ + 87, + 100 + ], + "line-88": [ + 88 + ], + "line-89": [ + 89 + ], + "local-6989586621679131098": [ + 89 + ], + "local-6989586621679131106": [ + 89 + ], + "local-6989586621679131109": [ + 89 + ], + "local-6989586621679131118": [ + 89 + ], + "local-6989586621679131122": [ + 89 + ], + "line-90": [ + 90 + ], + "line-91": [ + 91 + ], + "local-6989586621679131134": [ + 91 + ], + "local-6989586621679131135": [ + 91 + ], + "local-6989586621679131136": [ + 91 + ], + "local-6989586621679131137": [ + 91 + ], + "local-6989586621679131138": [ + 91 + ], + "line-92": [ + 92 + ], + "line-93": [ + 93 + ], + "line-94": [ + 94 + ], + "line-95": [ + 95 + ], + "Pane": [ + 95, + 95 + ], + "line-96": [ + 96 + ], + "line-97": [ + 97 + ], + "window": [ + 97, + 117, + 152, + 177 + ], + "line-98": [ + 98 + ], + "index": [ + 98, + 116, + 178 + ], + "line-99": [ + 99 + ], + "line-100": [ + 100 + ], + "line-101": [ + 101 + ], + "active": [ + 101, + 118 + ], + "line-102": [ + 102 + ], + "dead": [ + 102 + ], + "line-103": [ + 103 + ], + "title": [ + 103 + ], + "line-104": [ + 104 + ], + "currentCommand": [ + 104 + ], + "line-105": [ + 105 + ], + "currentPath": [ + 105 + ], + "line-106": [ + 106 + ], + "line-107": [ + 107 + ], + "local-6989586621679131152": [ + 107 + ], + "local-6989586621679131167": [ + 107 + ], + "local-6989586621679131170": [ + 107 + ], + "local-6989586621679131186": [ + 107 + ], + "local-6989586621679131190": [ + 107 + ], + "line-108": [ + 108 + ], + "line-109": [ + 109 + ], + "local-6989586621679131212": [ + 109 + ], + "local-6989586621679131213": [ + 109 + ], + "local-6989586621679131214": [ + 109 + ], + "local-6989586621679131215": [ + 109 + ], + "local-6989586621679131216": [ + 109 + ], + "local-6989586621679131217": [ + 109 + ], + "local-6989586621679131218": [ + 109 + ], + "local-6989586621679131219": [ + 109 + ], + "local-6989586621679131220": [ + 109 + ], + "local-6989586621679131221": [ + 109 + ], + "local-6989586621679131222": [ + 109 + ], + "line-110": [ + 110 + ], + "line-111": [ + 111 + ], + "line-112": [ + 112 + ], + "line-113": [ + 113 + ], + "line-114": [ + 114 + ], + "WindowLink": [ + 114, + 114 + ], + "line-115": [ + 115 + ], + "session": [ + 115, + 151, + 176 + ], + "line-116": [ + 116 + ], + "line-117": [ + 117 + ], + "line-118": [ + 118 + ], + "line-119": [ + 119 + ], + "line-120": [ + 120 + ], + "local-6989586621679131228": [ + 120 + ], + "local-6989586621679131235": [ + 120 + ], + "local-6989586621679131239": [ + 120 + ], + "local-6989586621679131247": [ + 120 + ], + "local-6989586621679131251": [ + 120 + ], + "line-121": [ + 121 + ], + "line-122": [ + 122 + ], + "local-6989586621679131261": [ + 122 + ], + "local-6989586621679131262": [ + 122 + ], + "local-6989586621679131263": [ + 122 + ], + "local-6989586621679131264": [ + 122 + ], + "local-6989586621679131265": [ + 122 + ], + "line-123": [ + 123 + ], + "line-124": [ + 124 + ], + "line-125": [ + 125 + ], + "PaneOccurrence": [ + 125, + 125 + ], + "line-126": [ + 126 + ], + "pane": [ + 126, + 153, + 179 + ], + "line-127": [ + 127 + ], + "link": [ + 127 + ], + "line-128": [ + 128 + ], + "line-129": [ + 129 + ], + "local-6989586621679131269": [ + 129 + ], + "local-6989586621679131273": [ + 129 + ], + "local-6989586621679131277": [ + 129 + ], + "local-6989586621679131282": [ + 129 + ], + "local-6989586621679131286": [ + 129 + ], + "line-130": [ + 130 + ], + "line-131": [ + 131 + ], + "local-6989586621679131293": [ + 131 + ], + "local-6989586621679131294": [ + 131 + ], + "local-6989586621679131295": [ + 131 + ], + "line-132": [ + 132 + ], + "line-133": [ + 133 + ], + "line-134": [ + 134 + ], + "line-135": [ + 135 + ], + "ServerInfo": [ + 135, + 135 + ], + "line-136": [ + 136 + ], + "generation": [ + 136, + 224 + ], + "line-137": [ + 137 + ], + "pid": [ + 137, + 163, + 174 + ], + "line-138": [ + 138 + ], + "startedAt": [ + 138 + ], + "line-139": [ + 139 + ], + "version": [ + 139 + ], + "line-140": [ + 140 + ], + "socketPath": [ + 140 + ], + "line-141": [ + 141 + ], + "line-142": [ + 142 + ], + "local-6989586621679131303": [ + 142 + ], + "local-6989586621679131311": [ + 142 + ], + "local-6989586621679131315": [ + 142 + ], + "local-6989586621679131324": [ + 142 + ], + "local-6989586621679131328": [ + 142 + ], + "line-143": [ + 143 + ], + "line-144": [ + 144 + ], + "local-6989586621679131337": [ + 144 + ], + "local-6989586621679131338": [ + 144 + ], + "local-6989586621679131339": [ + 144 + ], + "local-6989586621679131340": [ + 144 + ], + "local-6989586621679131341": [ + 144 + ], + "local-6989586621679131342": [ + 144 + ], + "line-145": [ + 145 + ], + "line-146": [ + 146 + ], + "line-147": [ + 147 + ], + "line-148": [ + 148 + ], + "line-149": [ + 149 + ], + "line-150": [ + 150 + ], + "ClientAttachment": [ + 150, + 150 + ], + "line-151": [ + 151 + ], + "line-152": [ + 152 + ], + "line-153": [ + 153 + ], + "line-154": [ + 154 + ], + "line-155": [ + 155 + ], + "local-6989586621679131349": [ + 155 + ], + "local-6989586621679131354": [ + 155 + ], + "local-6989586621679131358": [ + 155 + ], + "local-6989586621679131364": [ + 155 + ], + "local-6989586621679131368": [ + 155 + ], + "line-156": [ + 156 + ], + "line-157": [ + 157 + ], + "local-6989586621679131376": [ + 157 + ], + "local-6989586621679131377": [ + 157 + ], + "local-6989586621679131378": [ + 157 + ], + "local-6989586621679131379": [ + 157 + ], + "line-158": [ + 158 + ], + "line-159": [ + 159 + ], + "line-160": [ + 160 + ], + "line-161": [ + 161 + ], + "Client": [ + 161, + 161 + ], + "line-162": [ + 162 + ], + "line-163": [ + 163 + ], + "line-164": [ + 164 + ], + "tty": [ + 164, + 175 + ], + "line-165": [ + 165 + ], + "attachment": [ + 165 + ], + "line-166": [ + 166 + ], + "line-167": [ + 167 + ], + "local-6989586621679131386": [ + 167 + ], + "local-6989586621679131394": [ + 167 + ], + "local-6989586621679131398": [ + 167 + ], + "local-6989586621679131407": [ + 167 + ], + "local-6989586621679131411": [ + 167 + ], + "line-168": [ + 168 + ], + "line-169": [ + 169 + ], + "local-6989586621679131422": [ + 169 + ], + "local-6989586621679131423": [ + 169 + ], + "local-6989586621679131424": [ + 169 + ], + "local-6989586621679131425": [ + 169 + ], + "local-6989586621679131426": [ + 169 + ], + "line-170": [ + 170 + ], + "line-171": [ + 171 + ], + "line-172": [ + 172 + ], + "ClientInput": [ + 172, + 172 + ], + "line-173": [ + 173 + ], + "line-174": [ + 174 + ], + "line-175": [ + 175 + ], + "line-176": [ + 176 + ], + "line-177": [ + 177 + ], + "line-178": [ + 178 + ], + "line-179": [ + 179 + ], + "line-180": [ + 180 + ], + "line-181": [ + 181 + ], + "line-182": [ + 182 + ], + "line-183": [ + 183 + ], + "line-184": [ + 184 + ], + "line-185": [ + 185 + ], + "Snapshot": [ + 185, + 185 + ], + "line-186": [ + 186 + ], + "local-6989586621679131436": [ + 186 + ], + "local-6989586621679131446": [ + 186 + ], + "local-6989586621679131451": [ + 186 + ], + "local-6989586621679131462": [ + 186 + ], + "local-6989586621679131466": [ + 186 + ], + "line-187": [ + 187 + ], + "line-188": [ + 188 + ], + "local-6989586621679131478": [ + 188 + ], + "local-6989586621679131479": [ + 188 + ], + "local-6989586621679131480": [ + 188 + ], + "local-6989586621679131481": [ + 188 + ], + "local-6989586621679131482": [ + 188 + ], + "line-189": [ + 189 + ], + "line-190": [ + 190 + ], + "line-191": [ + 191 + ], + "line-192": [ + 192 + ], + "serverInfo": [ + 192 + ], + "local-6989586621679131483": [ + 192 + ], + "line-193": [ + 193 + ], + "line-194": [ + 194 + ], + "line-195": [ + 195 + ], + "entities": [ + 195 + ], + "local-6989586621679131484": [ + 195 + ], + "line-196": [ + 196 + ], + "line-197": [ + 197 + ], + "line-198": [ + 198 + ], + "line-199": [ + 199 + ], + "clients": [ + 199 + ], + "local-6989586621679131485": [ + 199 + ], + "line-200": [ + 200 + ], + "line-201": [ + 201 + ], + "line-202": [ + 202 + ], + "line-203": [ + 203 + ], + "CaptureInterval": [ + 203, + 203 + ], + "line-204": [ + 204 + ], + "startedNanoseconds": [ + 204 + ], + "line-205": [ + 205 + ], + "finishedNanoseconds": [ + 205 + ], + "line-206": [ + 206 + ], + "line-207": [ + 207 + ], + "local-6989586621679131490": [ + 207 + ], + "local-6989586621679131495": [ + 207 + ], + "local-6989586621679131498": [ + 207 + ], + "local-6989586621679131504": [ + 207 + ], + "local-6989586621679131507": [ + 207 + ], + "line-208": [ + 208 + ], + "line-209": [ + 209 + ], + "local-6989586621679131513": [ + 209 + ], + "local-6989586621679131514": [ + 209 + ], + "local-6989586621679131515": [ + 209 + ], + "line-210": [ + 210 + ], + "line-211": [ + 211 + ], + "line-212": [ + 212 + ], + "line-213": [ + 213 + ], + "line-214": [ + 214 + ], + "captureInterval": [ + 214 + ], + "local-6989586621679131516": [ + 214 + ], + "line-215": [ + 215 + ], + "line-216": [ + 216 + ], + "line-217": [ + 217 + ], + "stampSnapshot": [ + 217 + ], + "local-6989586621679131517": [ + 217 + ], + "local-6989586621679131518": [ + 217 + ], + "local-6989586621679131519": [ + 217 + ], + "local-6989586621679131520": [ + 217 + ], + "local-6989586621679131521": [ + 217 + ], + "line-218": [ + 218 + ], + "line-219": [ + 219 + ], + "line-220": [ + 220 + ], + "local-6989586621679131523": [ + 220 + ], + "line-221": [ + 221 + ], + "line-222": [ + 222 + ], + "line-223": [ + 223 + ], + "EntityGraph": [ + 223, + 223 + ], + "line-224": [ + 224 + ], + "line-225": [ + 225 + ], + "sessions": [ + 225 + ], + "line-226": [ + 226 + ], + "windows": [ + 226 + ], + "line-227": [ + 227 + ], + "panes": [ + 227 + ], + "line-228": [ + 228 + ], + "links": [ + 228 + ], + "line-229": [ + 229 + ], + "sessionLinks": [ + 229 + ], + "line-230": [ + 230 + ], + "windowPanes": [ + 230 + ], + "line-231": [ + 231 + ], + "line-232": [ + 232 + ], + "local-6989586621679131533": [ + 232 + ], + "local-6989586621679131549": [ + 232 + ], + "local-6989586621679131554": [ + 232 + ], + "local-6989586621679131575": [ + 232 + ], + "local-6989586621679131578": [ + 232 + ], + "line-233": [ + 233 + ], + "line-234": [ + 234 + ], + "local-6989586621679131609": [ + 234 + ], + "local-6989586621679131610": [ + 234 + ], + "line-235": [ + 235 + ], + "line-236": [ + 236 + ], + "line-237": [ + 237 + ], + "line-238": [ + 238 + ], + "line-239": [ + 239 + ], + "line-240": [ + 240 + ], + "LookupError": [ + 240 + ], + "line-241": [ + 241 + ], + "ForeignGeneration": [ + 241 + ], + "line-242": [ + 242 + ], + "MissingSession": [ + 242 + ], + "line-243": [ + 243 + ], + "MissingWindow": [ + 243 + ], + "line-244": [ + 244 + ], + "MissingPane": [ + 244 + ], + "line-245": [ + 245 + ], + "local-6989586621679131616": [ + 245 + ], + "local-6989586621679131623": [ + 245 + ], + "local-6989586621679131627": [ + 245 + ], + "local-6989586621679131635": [ + 245 + ], + "local-6989586621679131639": [ + 245 + ], + "line-246": [ + 246 + ], + "line-247": [ + 247 + ], + "GraphError": [ + 247 + ], + "line-248": [ + 248 + ], + "InvalidGeneration": [ + 248 + ], + "line-249": [ + 249 + ], + "InvalidReference": [ + 249 + ], + "line-250": [ + 250 + ], + "ConflictingSession": [ + 250 + ], + "line-251": [ + 251 + ], + "ConflictingWindow": [ + 251 + ], + "line-252": [ + 252 + ], + "ConflictingPane": [ + 252 + ], + "line-253": [ + 253 + ], + "DuplicateWindowSlot": [ + 253 + ], + "line-254": [ + 254 + ], + "DuplicatePaneIndex": [ + 254 + ], + "line-255": [ + 255 + ], + "InvalidAttachedCount": [ + 255 + ], + "line-256": [ + 256 + ], + "InvalidSessionSelection": [ + 256 + ], + "line-257": [ + 257 + ], + "InvalidPaneSelection": [ + 257 + ], + "line-258": [ + 258 + ], + "UnlinkedWindow": [ + 258 + ], + "line-259": [ + 259 + ], + "InvalidServerInfo": [ + 259 + ], + "line-260": [ + 260 + ], + "InvalidClientMetadata": [ + 260 + ], + "line-261": [ + 261 + ], + "MissingClientLink": [ + 261 + ], + "line-262": [ + 262 + ], + "ChangedClientAttachment": [ + 262 + ], + "line-263": [ + 263 + ], + "InvalidCaptureInterval": [ + 263 + ], + "line-264": [ + 264 + ], + "local-6989586621679131657": [ + 264 + ], + "local-6989586621679131678": [ + 264 + ], + "local-6989586621679131682": [ + 264 + ], + "local-6989586621679131713": [ + 264 + ], + "local-6989586621679131717": [ + 264 + ], + "line-265": [ + 265 + ], + "line-266": [ + 266 + ], + "line-267": [ + 267 + ], + "line-268": [ + 268 + ], + "line-269": [ + 269 + ], + "assembleEntityGraph": [ + 269 + ], + "local-6989586621679131719": [ + 269 + ], + "local-6989586621679131720": [ + 269 + ], + "local-6989586621679131721": [ + 269 + ], + "local-6989586621679131722": [ + 269 + ], + "local-6989586621679131723": [ + 269 + ], + "line-270": [ + 270 + ], + "local-6989586621679131724": [ + 270 + ], + "line-271": [ + 271 + ], + "local-6989586621679131725": [ + 271 + ], + "local-6989586621679131726": [ + 271 + ], + "local-6989586621679131727": [ + 271 + ], + "line-272": [ + 272 + ], + "line-273": [ + 273 + ], + "line-274": [ + 274 + ], + "line-275": [ + 275 + ], + "line-276": [ + 276 + ], + "line-277": [ + 277 + ], + "line-278": [ + 278 + ], + "line-279": [ + 279 + ], + "local-6989586621679131736": [ + 279 + ], + "line-280": [ + 280 + ], + "local-6989586621679131738": [ + 280 + ], + "line-281": [ + 281 + ], + "local-6989586621679131739": [ + 281 + ], + "line-282": [ + 282 + ], + "local-6989586621679131740": [ + 282 + ], + "line-283": [ + 283 + ], + "local-6989586621679131743": [ + 283 + ], + "local-6989586621679131745": [ + 283 + ], + "line-284": [ + 284 + ], + "local-6989586621679131747": [ + 284 + ], + "line-285": [ + 285 + ], + "local-6989586621679131749": [ + 285 + ], + "local-6989586621679131750": [ + 285 + ], + "line-286": [ + 286 + ], + "local-6989586621679131751": [ + 286 + ], + "line-287": [ + 287 + ], + "local-6989586621679131752": [ + 287 + ], + "line-288": [ + 288 + ], + "local-6989586621679131753": [ + 288 + ], + "local-6989586621679131755": [ + 288 + ], + "line-289": [ + 289 + ], + "local-6989586621679131756": [ + 289 + ], + "line-290": [ + 290 + ], + "line-291": [ + 291 + ], + "local-6989586621679131757": [ + 291 + ], + "line-292": [ + 292 + ], + "line-293": [ + 293 + ], + "line-294": [ + 294 + ], + "line-295": [ + 295 + ], + "line-296": [ + 296 + ], + "line-297": [ + 297 + ], + "local-6989586621679131763": [ + 297 + ], + "local-6989586621679131764": [ + 297 + ], + "line-298": [ + 298 + ], + "local-6989586621679131765": [ + 298 + ], + "local-6989586621679131766": [ + 298 + ], + "line-299": [ + 299 + ], + "local-6989586621679131732": [ + 299 + ], + "local-6989586621679131767": [ + 299 + ], + "line-300": [ + 300 + ], + "local-6989586621679131731": [ + 300 + ], + "local-6989586621679131768": [ + 300 + ], + "line-301": [ + 301 + ], + "line-302": [ + 302 + ], + "line-303": [ + 303 + ], + "local-6989586621679131734": [ + 303 + ], + "local-6989586621679131769": [ + 303 + ], + "line-304": [ + 304 + ], + "local-6989586621679131770": [ + 304 + ], + "line-305": [ + 305 + ], + "line-306": [ + 306 + ], + "line-307": [ + 307 + ], + "local-6989586621679131735": [ + 307 + ], + "local-6989586621679131771": [ + 307 + ], + "line-308": [ + 308 + ], + "local-6989586621679131741": [ + 308 + ], + "local-6989586621679131784": [ + 308 + ], + "local-6989586621679131785": [ + 308 + ], + "line-309": [ + 309 + ], + "line-310": [ + 310 + ], + "line-311": [ + 311 + ], + "local-6989586621679131758": [ + 311 + ], + "local-6989586621679131800": [ + 311 + ], + "local-6989586621679131801": [ + 311 + ], + "line-312": [ + 312 + ], + "line-313": [ + 313 + ], + "line-314": [ + 314 + ], + "local-6989586621679131760": [ + 314 + ], + "local-6989586621679131811": [ + 314 + ], + "local-6989586621679131812": [ + 314 + ], + "line-315": [ + 315 + ], + "local-6989586621679131813": [ + 315 + ], + "line-316": [ + 316 + ], + "line-317": [ + 317 + ], + "local-6989586621679131762": [ + 317 + ], + "local-6989586621679131826": [ + 317 + ], + "local-6989586621679131827": [ + 317 + ], + "local-6989586621679131828": [ + 317 + ], + "line-318": [ + 318 + ], + "line-319": [ + 319 + ], + "local-6989586621679131829": [ + 319 + ], + "line-320": [ + 320 + ], + "line-321": [ + 321 + ], + "line-322": [ + 322 + ], + "local-6989586621679130421": [ + 322 + ], + "local-6989586621679130422": [ + 322 + ], + "line-323": [ + 323 + ], + "uniqueBy": [ + 323 + ], + "local-6989586621679131837": [ + 323 + ], + "local-6989586621679131838": [ + 323 + ], + "line-324": [ + 324 + ], + "line-325": [ + 325 + ], + "local-6989586621679131839": [ + 325 + ], + "local-6989586621679131840": [ + 325 + ], + "local-6989586621679131841": [ + 325 + ], + "line-326": [ + 326 + ], + "line-327": [ + 327 + ], + "local-6989586621679131843": [ + 327 + ], + "line-328": [ + 328 + ], + "line-329": [ + 329 + ], + "line-330": [ + 330 + ], + "line-331": [ + 331 + ], + "graphSessions": [ + 331 + ], + "local-6989586621679131844": [ + 331 + ], + "line-332": [ + 332 + ], + "line-333": [ + 333 + ], + "line-334": [ + 334 + ], + "graphWindows": [ + 334 + ], + "local-6989586621679131845": [ + 334 + ], + "line-335": [ + 335 + ], + "line-336": [ + 336 + ], + "line-337": [ + 337 + ], + "graphPanes": [ + 337 + ], + "local-6989586621679131846": [ + 337 + ], + "line-338": [ + 338 + ], + "line-339": [ + 339 + ], + "line-340": [ + 340 + ], + "graphLinks": [ + 340 + ], + "local-6989586621679131847": [ + 340 + ], + "line-341": [ + 341 + ], + "line-342": [ + 342 + ], + "line-343": [ + 343 + ], + "graphOccurrences": [ + 343 + ], + "local-6989586621679131848": [ + 343 + ], + "line-344": [ + 344 + ], + "line-345": [ + 345 + ], + "local-6989586621679131850": [ + 345 + ], + "line-346": [ + 346 + ], + "local-6989586621679131849": [ + 346 + ], + "line-347": [ + 347 + ], + "line-348": [ + 348 + ], + "line-349": [ + 349 + ], + "line-350": [ + 350 + ], + "lookupSession": [ + 350 + ], + "local-6989586621679131851": [ + 350 + ], + "local-6989586621679131852": [ + 350 + ], + "local-6989586621679131853": [ + 350 + ], + "line-351": [ + 351 + ], + "line-352": [ + 352 + ], + "line-353": [ + 353 + ], + "line-354": [ + 354 + ], + "line-355": [ + 355 + ], + "lookupWindow": [ + 355 + ], + "local-6989586621679131856": [ + 355 + ], + "local-6989586621679131857": [ + 355 + ], + "local-6989586621679131858": [ + 355 + ], + "line-356": [ + 356 + ], + "line-357": [ + 357 + ], + "line-358": [ + 358 + ], + "line-359": [ + 359 + ], + "line-360": [ + 360 + ], + "lookupPane": [ + 360 + ], + "local-6989586621679131859": [ + 360 + ], + "local-6989586621679131860": [ + 360 + ], + "local-6989586621679131861": [ + 360 + ], + "line-361": [ + 361 + ], + "line-362": [ + 362 + ], + "line-363": [ + 363 + ], + "line-364": [ + 364 + ], + "line-365": [ + 365 + ], + "linksForSession": [ + 365 + ], + "local-6989586621679131862": [ + 365 + ], + "local-6989586621679131863": [ + 365 + ], + "line-366": [ + 366 + ], + "line-367": [ + 367 + ], + "line-368": [ + 368 + ], + "line-369": [ + 369 + ], + "line-370": [ + 370 + ], + "panesForWindow": [ + 370 + ], + "local-6989586621679131864": [ + 370 + ], + "local-6989586621679131865": [ + 370 + ], + "line-371": [ + 371 + ], + "line-372": [ + 372 + ], + "line-373": [ + 373 + ], + "line-374": [ + 374 + ], + "line-375": [ + 375 + ], + "line-376": [ + 376 + ], + "line-377": [ + 377 + ], + "line-378": [ + 378 + ], + "line-379": [ + 379 + ], + "assembleSnapshot": [ + 379 + ], + "local-6989586621679131866": [ + 379 + ], + "local-6989586621679131867": [ + 379 + ], + "local-6989586621679131868": [ + 379 + ], + "line-380": [ + 380 + ], + "line-381": [ + 381 + ], + "line-382": [ + 382 + ], + "line-383": [ + 383 + ], + "line-384": [ + 384 + ], + "local-6989586621679131876": [ + 384 + ], + "line-385": [ + 385 + ], + "local-6989586621679131879": [ + 385 + ], + "local-6989586621679131880": [ + 385 + ], + "line-386": [ + 386 + ], + "line-387": [ + 387 + ], + "line-388": [ + 388 + ], + "local-6989586621679131869": [ + 388 + ], + "local-6989586621679131888": [ + 388 + ], + "line-389": [ + 389 + ], + "local-6989586621679131870": [ + 389 + ], + "local-6989586621679131895": [ + 389 + ], + "line-390": [ + 390 + ], + "local-6989586621679131878": [ + 390 + ], + "local-6989586621679131900": [ + 390 + ], + "line-391": [ + 391 + ], + "line-392": [ + 392 + ], + "local-6989586621679131901": [ + 392 + ], + "line-393": [ + 393 + ], + "local-6989586621679131902": [ + 393 + ], + "line-394": [ + 394 + ], + "local-6989586621679131903": [ + 394 + ], + "line-395": [ + 395 + ], + "local-6989586621679131904": [ + 395 + ], + "line-396": [ + 396 + ], + "local-6989586621679131905": [ + 396 + ], + "line-397": [ + 397 + ], + "line-398": [ + 398 + ], + "line-399": [ + 399 + ], + "line-400": [ + 400 + ], + "local-6989586621679131906": [ + 400 + ], + "line-401": [ + 401 + ], + "line-402": [ + 402 + ] + }, + "LibTmux.Internal.Runtime": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "line-36": [ + 36 + ], + "line-37": [ + 37 + ], + "line-38": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "line-41": [ + 41 + ], + "line-42": [ + 42 + ], + "line-43": [ + 43 + ], + "line-44": [ + 44 + ], + "line-45": [ + 45 + ], + "line-46": [ + 46 + ], + "line-47": [ + 47 + ], + "line-48": [ + 48 + ], + "line-49": [ + 49 + ], + "line-50": [ + 50 + ], + "line-51": [ + 51 + ], + "line-52": [ + 52 + ], + "line-53": [ + 53 + ], + "line-54": [ + 54 + ], + "line-55": [ + 55 + ], + "line-56": [ + 56 + ], + "line-57": [ + 57 + ], + "line-58": [ + 58 + ], + "Runtime": [ + 58, + 58 + ], + "line-59": [ + 59 + ], + "identity": [ + 59 + ], + "line-60": [ + 60 + ], + "budget": [ + 60 + ], + "entries": [ + 60 + ], + "nextKey": [ + 60 + ], + "line-61": [ + 61 + ], + "forker": [ + 61 + ], + "line-62": [ + 62 + ], + "shutdownRun": [ + 62, + 68 + ], + "line-63": [ + 63 + ], + "scheduler": [ + 63 + ], + "reads": [ + 63 + ], + "line-64": [ + 64 + ], + "line-65": [ + 65 + ], + "ServerOwner": [ + 65, + 65 + ], + "line-66": [ + 66 + ], + "key": [ + 66 + ], + "group": [ + 66 + ], + "pool": [ + 66 + ], + "line-67": [ + 67 + ], + "closeFailure": [ + 67 + ], + "line-68": [ + 68 + ], + "line-69": [ + 69 + ], + "line-70": [ + 70 + ], + "ServerHandle": [ + 70, + 70 + ], + "line-71": [ + 71 + ], + "line-72": [ + 72 + ], + "line-73": [ + 73 + ], + "line-74": [ + 74 + ], + "Report": [ + 74, + 74 + ], + "line-75": [ + 75 + ], + "accepting": [ + 75 + ], + "pending": [ + 75 + ], + "line-76": [ + 76 + ], + "closeFailures": [ + 76 + ], + "line-77": [ + 77 + ], + "unresolved": [ + 77 + ], + "line-78": [ + 78 + ], + "readWorkers": [ + 78 + ], + "line-79": [ + 79 + ], + "local-6989586621679137182": [ + 79 + ], + "local-6989586621679137197": [ + 79 + ], + "local-6989586621679137201": [ + 79 + ], + "line-80": [ + 80 + ], + "line-81": [ + 81 + ], + "line-82": [ + 82 + ], + "ReadClass": [ + 82 + ], + "InspectionRead": [ + 82 + ], + "ScalarRead": [ + 82 + ], + "line-83": [ + 83 + ], + "local-6989586621679137221": [ + 83 + ], + "local-6989586621679137226": [ + 83 + ], + "local-6989586621679137231": [ + 83 + ], + "local-6989586621679137233": [ + 83 + ], + "local-6989586621679137237": [ + 83 + ], + "line-84": [ + 84 + ], + "line-85": [ + 85 + ], + "line-86": [ + 86 + ], + "line-87": [ + 87 + ], + "Request": [ + 87, + 87 + ], + "local-6989586621679136531": [ + 87 + ], + "line-88": [ + 88 + ], + "line-89": [ + 89 + ], + "line-90": [ + 90 + ], + "line-91": [ + 91 + ], + "ReadReceipt": [ + 91, + 91 + ], + "line-92": [ + 92 + ], + "local-6989586621679137242": [ + 92 + ], + "local-6989586621679137249": [ + 92 + ], + "line-93": [ + 93 + ], + "local-6989586621679137254": [ + 93 + ], + "local-6989586621679137258": [ + 93 + ], + "line-94": [ + 94 + ], + "local-6989586621679137263": [ + 94 + ], + "local-6989586621679137264": [ + 94 + ], + "local-6989586621679137265": [ + 94 + ], + "line-95": [ + 95 + ], + "line-96": [ + 96 + ], + "local-6989586621679137274": [ + 96 + ], + "line-97": [ + 97 + ], + "line-98": [ + 98 + ], + "line-99": [ + 99 + ], + "line-100": [ + 100 + ], + "ReadRecovery": [ + 100, + 100 + ], + "line-101": [ + 101 + ], + "logical": [ + 101 + ], + "line-102": [ + 102 + ], + "workerOwned": [ + 102 + ], + "line-103": [ + 103 + ], + "workerFailure": [ + 103 + ], + "line-104": [ + 104 + ], + "nativeOwned": [ + 104 + ], + "line-105": [ + 105 + ], + "nativeFailure": [ + 105 + ], + "line-106": [ + 106 + ], + "local-6989586621679137286": [ + 106 + ], + "local-6989586621679137295": [ + 106 + ], + "local-6989586621679137299": [ + 106 + ], + "line-107": [ + 107 + ], + "line-108": [ + 108 + ], + "PidRead": [ + 108 + ], + "line-109": [ + 109 + ], + "line-110": [ + 110 + ], + "VersionRead": [ + 110 + ], + "line-111": [ + 111 + ], + "line-112": [ + 112 + ], + "ReadResult": [ + 112 + ], + "local-6989586621679136559": [ + 112 + ], + "ReadValue": [ + 112 + ], + "ReadUnavailable": [ + 112 + ], + "line-113": [ + 113 + ], + "local-6989586621679137305": [ + 113 + ], + "local-6989586621679137314": [ + 113 + ], + "local-6989586621679137319": [ + 113 + ], + "line-114": [ + 114 + ], + "line-115": [ + 115 + ], + "line-116": [ + 116 + ], + "ReadCommand": [ + 116 + ], + "local-6989586621679137322": [ + 116 + ], + "line-117": [ + 117 + ], + "ReadPid": [ + 117 + ], + "line-118": [ + 118 + ], + "ReadVersion": [ + 118 + ], + "line-119": [ + 119 + ], + "ReadTopology": [ + 119 + ], + "line-120": [ + 120 + ], + "ReadEntityField": [ + 120 + ], + "line-121": [ + 121 + ], + "ReadGraph": [ + 121 + ], + "line-122": [ + 122 + ], + "ReadSnapshot": [ + 122 + ], + "line-123": [ + 123 + ], + "line-124": [ + 124 + ], + "line-125": [ + 125 + ], + "EntityField": [ + 125 + ], + "line-126": [ + 126 + ], + "SessionName": [ + 126 + ], + "WindowName": [ + 126 + ], + "line-127": [ + 127 + ], + "PaneTitle": [ + 127 + ], + "PaneCommand": [ + 127 + ], + "PanePath": [ + 127 + ], + "line-128": [ + 128 + ], + "local-6989586621679137335": [ + 128 + ], + "local-6989586621679137347": [ + 128 + ], + "local-6989586621679137351": [ + 128 + ], + "local-6989586621679137366": [ + 128 + ], + "local-6989586621679137370": [ + 128 + ], + "line-129": [ + 129 + ], + "line-130": [ + 130 + ], + "ReadError": [ + 130 + ], + "line-131": [ + 131 + ], + "ForeignServer": [ + 131 + ], + "InvalidReadDeadline": [ + 131 + ], + "ReadClockOverflow": [ + 131 + ], + "line-132": [ + 132 + ], + "ReadExpired": [ + 132 + ], + "ReadCancelled": [ + 132 + ], + "ReadClosing": [ + 132 + ], + "line-133": [ + 133 + ], + "InvalidReadFrame": [ + 133 + ], + "InvalidServerPid": [ + 133 + ], + "line-134": [ + 134 + ], + "InvalidRecordFrame": [ + 134 + ], + "line-135": [ + 135 + ], + "InvalidVersionEncoding": [ + 135 + ], + "InvalidServerVersion": [ + 135 + ], + "line-136": [ + 136 + ], + "InvalidEntityReceipt": [ + 136 + ], + "line-137": [ + 137 + ], + "ReadExit": [ + 137 + ], + "ReadStderr": [ + 137 + ], + "line-138": [ + 138 + ], + "local-6989586621679137387": [ + 138 + ], + "local-6989586621679137401": [ + 138 + ], + "local-6989586621679137406": [ + 138 + ], + "local-6989586621679137424": [ + 138 + ], + "local-6989586621679137428": [ + 138 + ], + "line-139": [ + 139 + ], + "local-6989586621679137436": [ + 139 + ], + "local-6989586621679137439": [ + 139 + ], + "local-6989586621679137442": [ + 139 + ], + "local-6989586621679137445": [ + 139 + ], + "line-140": [ + 140 + ], + "line-141": [ + 141 + ], + "Submission": [ + 141 + ], + "NotSubmitted": [ + 141 + ], + "Registering": [ + 141 + ], + "Submitted": [ + 141 + ], + "SubmissionRefused": [ + 141 + ], + "line-142": [ + 142 + ], + "line-143": [ + 143 + ], + "ReadOwner": [ + 143, + 144 + ], + "line-144": [ + 144 + ], + "local-6989586621679137452": [ + 144 + ], + "line-145": [ + 145 + ], + "operation": [ + 145 + ], + "line-146": [ + 146 + ], + "receipt": [ + 146 + ], + "line-147": [ + 147 + ], + "command": [ + 147 + ], + "result": [ + 147 + ], + "line-148": [ + 148 + ], + "nonce": [ + 148 + ], + "deadline": [ + 148 + ], + "line-149": [ + 149 + ], + "envelope": [ + 149 + ], + "submission": [ + 149 + ], + "line-150": [ + 150 + ], + "cancelled": [ + 150 + ], + "busy": [ + 150 + ], + "line-151": [ + 151 + ], + "failure": [ + 151 + ], + "line-152": [ + 152 + ], + "line-153": [ + 153 + ], + "line-154": [ + 154 + ], + "line-155": [ + 155 + ], + "newRuntime": [ + 155 + ], + "local-6989586621679137465": [ + 155 + ], + "line-156": [ + 156 + ], + "local-6989586621679137466": [ + 156 + ], + "line-157": [ + 157 + ], + "local-6989586621679137467": [ + 157 + ], + "line-158": [ + 158 + ], + "local-6989586621679137470": [ + 158 + ], + "line-159": [ + 159 + ], + "local-6989586621679137473": [ + 159 + ], + "line-160": [ + 160 + ], + "local-6989586621679137474": [ + 160 + ], + "line-161": [ + 161 + ], + "local-6989586621679137475": [ + 161 + ], + "line-162": [ + 162 + ], + "local-6989586621679137477": [ + 162 + ], + "line-163": [ + 163 + ], + "line-164": [ + 164 + ], + "line-165": [ + 165 + ], + "line-166": [ + 166 + ], + "line-167": [ + 167 + ], + "line-168": [ + 168 + ], + "line-169": [ + 169 + ], + "adopt": [ + 169 + ], + "line-170": [ + 170 + ], + "line-171": [ + 171 + ], + "line-172": [ + 172 + ], + "line-173": [ + 173 + ], + "adoptWith": [ + 173 + ], + "local-6989586621679137478": [ + 173 + ], + "local-6989586621679137479": [ + 173 + ], + "local-6989586621679137480": [ + 173 + ], + "local-6989586621679137481": [ + 173 + ], + "local-6989586621679137483": [ + 173 + ], + "line-174": [ + 174 + ], + "local-6989586621679137484": [ + 174 + ], + "line-175": [ + 175 + ], + "local-6989586621679137485": [ + 175 + ], + "line-176": [ + 176 + ], + "line-177": [ + 177 + ], + "line-178": [ + 178 + ], + "line-179": [ + 179 + ], + "line-180": [ + 180 + ], + "line-181": [ + 181 + ], + "newServerOwner": [ + 181 + ], + "local-6989586621679137489": [ + 181 + ], + "local-6989586621679137490": [ + 181 + ], + "line-182": [ + 182 + ], + "local-6989586621679137492": [ + 182 + ], + "line-183": [ + 183 + ], + "local-6989586621679137494": [ + 183 + ], + "line-184": [ + 184 + ], + "line-185": [ + 185 + ], + "line-186": [ + 186 + ], + "local-6989586621679137497": [ + 186 + ], + "line-187": [ + 187 + ], + "line-188": [ + 188 + ], + "local-6989586621679137502": [ + 188 + ], + "line-189": [ + 189 + ], + "local-6989586621679137504": [ + 189 + ], + "line-190": [ + 190 + ], + "local-6989586621679137506": [ + 190 + ], + "line-191": [ + 191 + ], + "local-6989586621679137507": [ + 191 + ], + "line-192": [ + 192 + ], + "line-193": [ + 193 + ], + "line-194": [ + 194 + ], + "line-195": [ + 195 + ], + "line-196": [ + 196 + ], + "line-197": [ + 197 + ], + "line-198": [ + 198 + ], + "line-199": [ + 199 + ], + "line-200": [ + 200 + ], + "line-201": [ + 201 + ], + "line-202": [ + 202 + ], + "line-203": [ + 203 + ], + "adoptServerOwnerWith": [ + 203 + ], + "local-6989586621679137512": [ + 203 + ], + "local-6989586621679137513": [ + 203 + ], + "local-6989586621679137514": [ + 203 + ], + "local-6989586621679137515": [ + 203 + ], + "local-6989586621679137516": [ + 203 + ], + "local-6989586621679137517": [ + 203 + ], + "line-204": [ + 204 + ], + "local-6989586621679137518": [ + 204 + ], + "line-205": [ + 205 + ], + "line-206": [ + 206 + ], + "local-6989586621679137520": [ + 206 + ], + "line-207": [ + 207 + ], + "local-6989586621679137521": [ + 207 + ], + "line-208": [ + 208 + ], + "line-209": [ + 209 + ], + "line-210": [ + 210 + ], + "local-6989586621679137525": [ + 210 + ], + "line-211": [ + 211 + ], + "line-212": [ + 212 + ], + "line-213": [ + 213 + ], + "line-214": [ + 214 + ], + "line-215": [ + 215 + ], + "serverPool": [ + 215 + ], + "local-6989586621679137527": [ + 215 + ], + "line-216": [ + 216 + ], + "line-217": [ + 217 + ], + "line-218": [ + 218 + ], + "serverPin": [ + 218 + ], + "local-6989586621679137528": [ + 218 + ], + "line-219": [ + 219 + ], + "line-220": [ + 220 + ], + "line-221": [ + 221 + ], + "usage": [ + 221 + ], + "local-6989586621679137529": [ + 221 + ], + "line-222": [ + 222 + ], + "line-223": [ + 223 + ], + "line-224": [ + 224 + ], + "line-225": [ + 225 + ], + "line-226": [ + 226 + ], + "inspect": [ + 226 + ], + "local-6989586621679137532": [ + 226 + ], + "line-227": [ + 227 + ], + "local-6989586621679137533": [ + 227 + ], + "line-228": [ + 228 + ], + "local-6989586621679137534": [ + 228 + ], + "local-6989586621679137536": [ + 228 + ], + "local-6989586621679137537": [ + 228 + ], + "line-229": [ + 229 + ], + "local-6989586621679137538": [ + 229 + ], + "line-230": [ + 230 + ], + "local-6989586621679137540": [ + 230 + ], + "line-231": [ + 231 + ], + "line-232": [ + 232 + ], + "local-6989586621679137541": [ + 232 + ], + "line-233": [ + 233 + ], + "local-6989586621679137542": [ + 233 + ], + "local-6989586621679137543": [ + 233 + ], + "local-6989586621679137544": [ + 233 + ], + "local-6989586621679137545": [ + 233 + ], + "line-234": [ + 234 + ], + "local-6989586621679137548": [ + 234 + ], + "local-6989586621679137549": [ + 234 + ], + "line-235": [ + 235 + ], + "local-6989586621679137550": [ + 235 + ], + "line-236": [ + 236 + ], + "local-6989586621679137551": [ + 236 + ], + "line-237": [ + 237 + ], + "local-6989586621679137553": [ + 237 + ], + "line-238": [ + 238 + ], + "local-6989586621679137554": [ + 238 + ], + "line-239": [ + 239 + ], + "line-240": [ + 240 + ], + "local-6989586621679137557": [ + 240 + ], + "local-6989586621679137558": [ + 240 + ], + "line-241": [ + 241 + ], + "local-6989586621679137559": [ + 241 + ], + "local-6989586621679137560": [ + 241 + ], + "line-242": [ + 242 + ], + "line-243": [ + 243 + ], + "line-244": [ + 244 + ], + "local-6989586621679137546": [ + 244 + ], + "line-245": [ + 245 + ], + "line-246": [ + 246 + ], + "line-247": [ + 247 + ], + "line-248": [ + 248 + ], + "line-249": [ + 249 + ], + "line-250": [ + 250 + ], + "inspectServerHandle": [ + 250 + ], + "local-6989586621679137561": [ + 250 + ], + "local-6989586621679137562": [ + 250 + ], + "line-251": [ + 251 + ], + "line-252": [ + 252 + ], + "line-253": [ + 253 + ], + "inspectServerOwner": [ + 253 + ], + "local-6989586621679137563": [ + 253 + ], + "local-6989586621679137564": [ + 253 + ], + "line-254": [ + 254 + ], + "line-255": [ + 255 + ], + "local-6989586621679137565": [ + 255 + ], + "line-256": [ + 256 + ], + "local-6989586621679137566": [ + 256 + ], + "line-257": [ + 257 + ], + "local-6989586621679137567": [ + 257 + ], + "line-258": [ + 258 + ], + "local-6989586621679137568": [ + 258 + ], + "line-259": [ + 259 + ], + "local-6989586621679137569": [ + 259 + ], + "line-260": [ + 260 + ], + "local-6989586621679137571": [ + 260 + ], + "line-261": [ + 261 + ], + "local-6989586621679137573": [ + 261 + ], + "line-262": [ + 262 + ], + "line-263": [ + 263 + ], + "line-264": [ + 264 + ], + "line-265": [ + 265 + ], + "local-6989586621679137575": [ + 265 + ], + "line-266": [ + 266 + ], + "line-267": [ + 267 + ], + "line-268": [ + 268 + ], + "line-269": [ + 269 + ], + "line-270": [ + 270 + ], + "validateEntry": [ + 270 + ], + "local-6989586621679137576": [ + 270 + ], + "local-6989586621679137577": [ + 270 + ], + "line-271": [ + 271 + ], + "line-272": [ + 272 + ], + "line-273": [ + 273 + ], + "line-274": [ + 274 + ], + "serverReads": [ + 274 + ], + "local-6989586621679137578": [ + 274 + ], + "local-6989586621679137579": [ + 274 + ], + "line-275": [ + 275 + ], + "line-276": [ + 276 + ], + "line-277": [ + 277 + ], + "line-278": [ + 278 + ], + "workerStatus": [ + 278 + ], + "local-6989586621679137583": [ + 278 + ], + "local-6989586621679137584": [ + 278 + ], + "line-279": [ + 279 + ], + "line-280": [ + 280 + ], + "line-281": [ + 281 + ], + "line-282": [ + 282 + ], + "line-283": [ + 283 + ], + "closeServerAdmission": [ + 283 + ], + "local-6989586621679137586": [ + 283 + ], + "local-6989586621679137587": [ + 283 + ], + "line-284": [ + 284 + ], + "line-285": [ + 285 + ], + "line-286": [ + 286 + ], + "local-6989586621679137588": [ + 286 + ], + "line-287": [ + 287 + ], + "local-6989586621679137589": [ + 287 + ], + "line-288": [ + 288 + ], + "local-6989586621679137590": [ + 288 + ], + "line-289": [ + 289 + ], + "line-290": [ + 290 + ], + "line-291": [ + 291 + ], + "line-292": [ + 292 + ], + "requestServerClose": [ + 292 + ], + "local-6989586621679137595": [ + 292 + ], + "local-6989586621679137596": [ + 292 + ], + "line-293": [ + 293 + ], + "line-294": [ + 294 + ], + "line-295": [ + 295 + ], + "line-296": [ + 296 + ], + "line-297": [ + 297 + ], + "line-298": [ + 298 + ], + "line-299": [ + 299 + ], + "line-300": [ + 300 + ], + "line-301": [ + 301 + ], + "line-302": [ + 302 + ], + "shutdownServerHandle": [ + 302 + ], + "local-6989586621679137599": [ + 302 + ], + "local-6989586621679137600": [ + 302 + ], + "line-303": [ + 303 + ], + "line-304": [ + 304 + ], + "line-305": [ + 305 + ], + "shutdownServerOwner": [ + 305 + ], + "local-6989586621679137601": [ + 305 + ], + "local-6989586621679137602": [ + 305 + ], + "local-6989586621679137603": [ + 305 + ], + "line-306": [ + 306 + ], + "line-307": [ + 307 + ], + "line-308": [ + 308 + ], + "line-309": [ + 309 + ], + "line-310": [ + 310 + ], + "line-311": [ + 311 + ], + "line-312": [ + 312 + ], + "line-313": [ + 313 + ], + "awaitServerOwnerCleanup": [ + 313 + ], + "local-6989586621679137606": [ + 313 + ], + "local-6989586621679137607": [ + 313 + ], + "line-314": [ + 314 + ], + "local-6989586621679137608": [ + 314 + ], + "line-315": [ + 315 + ], + "line-316": [ + 316 + ], + "local-6989586621679137609": [ + 316 + ], + "line-317": [ + 317 + ], + "line-318": [ + 318 + ], + "line-319": [ + 319 + ], + "local-6989586621679137611": [ + 319 + ], + "line-320": [ + 320 + ], + "local-6989586621679137612": [ + 320 + ], + "line-321": [ + 321 + ], + "line-322": [ + 322 + ], + "line-323": [ + 323 + ], + "line-324": [ + 324 + ], + "line-325": [ + 325 + ], + "line-326": [ + 326 + ], + "line-327": [ + 327 + ], + "line-328": [ + 328 + ], + "detachServerOwnerOperation": [ + 328 + ], + "local-6989586621679137616": [ + 328 + ], + "local-6989586621679137617": [ + 328 + ], + "local-6989586621679137618": [ + 328 + ], + "line-329": [ + 329 + ], + "line-330": [ + 330 + ], + "line-331": [ + 331 + ], + "line-332": [ + 332 + ], + "line-333": [ + 333 + ], + "line-334": [ + 334 + ], + "closeServerHandle": [ + 334 + ], + "local-6989586621679137619": [ + 334 + ], + "line-335": [ + 335 + ], + "line-336": [ + 336 + ], + "line-337": [ + 337 + ], + "closeEntry": [ + 337 + ], + "local-6989586621679137621": [ + 337 + ], + "line-338": [ + 338 + ], + "local-6989586621679137622": [ + 338 + ], + "line-339": [ + 339 + ], + "line-340": [ + 340 + ], + "local-6989586621679137624": [ + 340 + ], + "line-341": [ + 341 + ], + "line-342": [ + 342 + ], + "line-343": [ + 343 + ], + "line-344": [ + 344 + ], + "line-345": [ + 345 + ], + "line-346": [ + 346 + ], + "line-347": [ + 347 + ], + "line-348": [ + 348 + ], + "requestClose": [ + 348 + ], + "local-6989586621679137627": [ + 348 + ], + "line-349": [ + 349 + ], + "local-6989586621679137628": [ + 349 + ], + "line-350": [ + 350 + ], + "line-351": [ + 351 + ], + "line-352": [ + 352 + ], + "local-6989586621679137631": [ + 352 + ], + "line-353": [ + 353 + ], + "local-6989586621679137632": [ + 353 + ], + "line-354": [ + 354 + ], + "local-6989586621679137633": [ + 354 + ], + "line-355": [ + 355 + ], + "line-356": [ + 356 + ], + "line-357": [ + 357 + ], + "line-358": [ + 358 + ], + "line-359": [ + 359 + ], + "line-360": [ + 360 + ], + "line-361": [ + 361 + ], + "line-362": [ + 362 + ], + "line-363": [ + 363 + ], + "line-364": [ + 364 + ], + "line-365": [ + 365 + ], + "line-366": [ + 366 + ], + "line-367": [ + 367 + ], + "awaitCleanup": [ + 367 + ], + "local-6989586621679137637": [ + 367 + ], + "line-368": [ + 368 + ], + "local-6989586621679137638": [ + 368 + ], + "line-369": [ + 369 + ], + "line-370": [ + 370 + ], + "local-6989586621679137639": [ + 370 + ], + "line-371": [ + 371 + ], + "line-372": [ + 372 + ], + "line-373": [ + 373 + ], + "local-6989586621679137640": [ + 373 + ], + "line-374": [ + 374 + ], + "line-375": [ + 375 + ], + "local-6989586621679137641": [ + 375 + ], + "line-376": [ + 376 + ], + "line-377": [ + 377 + ], + "local-6989586621679137642": [ + 377 + ], + "line-378": [ + 378 + ], + "line-379": [ + 379 + ], + "line-380": [ + 380 + ], + "line-381": [ + 381 + ], + "line-382": [ + 382 + ], + "line-383": [ + 383 + ], + "line-384": [ + 384 + ], + "line-385": [ + 385 + ], + "line-386": [ + 386 + ], + "line-387": [ + 387 + ], + "line-388": [ + 388 + ], + "line-389": [ + 389 + ], + "line-390": [ + 390 + ], + "line-391": [ + 391 + ], + "shutdown": [ + 391 + ], + "local-6989586621679137643": [ + 391 + ], + "local-6989586621679137644": [ + 391 + ], + "line-392": [ + 392 + ], + "line-393": [ + 393 + ], + "line-394": [ + 394 + ], + "line-395": [ + 395 + ], + "line-396": [ + 396 + ], + "line-397": [ + 397 + ], + "runShutdown": [ + 397 + ], + "local-6989586621679137646": [ + 397 + ], + "local-6989586621679137647": [ + 397 + ], + "local-6989586621679137648": [ + 397 + ], + "local-6989586621679137649": [ + 397 + ], + "local-6989586621679137650": [ + 397 + ], + "local-6989586621679137651": [ + 397 + ], + "line-398": [ + 398 + ], + "local-6989586621679137652": [ + 398 + ], + "local-6989586621679137653": [ + 398 + ], + "line-399": [ + 399 + ], + "line-400": [ + 400 + ], + "local-6989586621679137654": [ + 400 + ], + "line-401": [ + 401 + ], + "local-6989586621679137655": [ + 401 + ], + "line-402": [ + 402 + ], + "line-403": [ + 403 + ], + "local-6989586621679137656": [ + 403 + ], + "line-404": [ + 404 + ], + "line-405": [ + 405 + ], + "local-6989586621679137658": [ + 405 + ], + "line-406": [ + 406 + ], + "line-407": [ + 407 + ], + "local-6989586621679137659": [ + 407 + ], + "line-408": [ + 408 + ], + "line-409": [ + 409 + ], + "line-410": [ + 410 + ], + "local-6989586621679137661": [ + 410 + ], + "line-411": [ + 411 + ], + "line-412": [ + 412 + ], + "local-6989586621679137662": [ + 412 + ], + "local-6989586621679137663": [ + 412 + ], + "line-413": [ + 413 + ], + "line-414": [ + 414 + ], + "line-415": [ + 415 + ], + "local-6989586621679137665": [ + 415 + ], + "line-416": [ + 416 + ], + "local-6989586621679137666": [ + 416 + ], + "line-417": [ + 417 + ], + "line-418": [ + 418 + ], + "line-419": [ + 419 + ], + "line-420": [ + 420 + ], + "line-421": [ + 421 + ], + "line-422": [ + 422 + ], + "shutdownPhases": [ + 422 + ], + "local-6989586621679137669": [ + 422 + ], + "line-423": [ + 423 + ], + "line-424": [ + 424 + ], + "local-6989586621679137670": [ + 424 + ], + "line-425": [ + 425 + ], + "line-426": [ + 426 + ], + "line-427": [ + 427 + ], + "line-428": [ + 428 + ], + "line-429": [ + 429 + ], + "local-6989586621679137673": [ + 429 + ], + "line-430": [ + 430 + ], + "line-431": [ + 431 + ], + "line-432": [ + 432 + ], + "line-433": [ + 433 + ], + "line-434": [ + 434 + ], + "line-435": [ + 435 + ], + "shutdownServerPhases": [ + 435 + ], + "local-6989586621679137675": [ + 435 + ], + "local-6989586621679137676": [ + 435 + ], + "line-436": [ + 436 + ], + "line-437": [ + 437 + ], + "local-6989586621679137677": [ + 437 + ], + "line-438": [ + 438 + ], + "line-439": [ + 439 + ], + "line-440": [ + 440 + ], + "line-441": [ + 441 + ], + "line-442": [ + 442 + ], + "line-443": [ + 443 + ], + "line-444": [ + 444 + ], + "line-445": [ + 445 + ], + "line-446": [ + 446 + ], + "line-447": [ + 447 + ], + "observeCleanup": [ + 447 + ], + "local-6989586621679137678": [ + 447 + ], + "line-448": [ + 448 + ], + "local-6989586621679137679": [ + 448 + ], + "line-449": [ + 449 + ], + "line-450": [ + 450 + ], + "line-451": [ + 451 + ], + "local-6989586621679136473": [ + 451 + ], + "line-452": [ + 452 + ], + "readOperation": [ + 452 + ], + "local-6989586621679137680": [ + 452 + ], + "line-453": [ + 453 + ], + "line-454": [ + 454 + ], + "local-6989586621679136476": [ + 454 + ], + "line-455": [ + 455 + ], + "readReceipt": [ + 455 + ], + "local-6989586621679137681": [ + 455 + ], + "line-456": [ + 456 + ], + "line-457": [ + 457 + ], + "line-458": [ + 458 + ], + "receiptGeneration": [ + 458 + ], + "local-6989586621679137682": [ + 458 + ], + "line-459": [ + 459 + ], + "line-460": [ + 460 + ], + "line-461": [ + 461 + ], + "receiptOperation": [ + 461 + ], + "local-6989586621679137683": [ + 461 + ], + "line-462": [ + 462 + ], + "line-463": [ + 463 + ], + "line-464": [ + 464 + ], + "validateReceipt": [ + 464 + ], + "local-6989586621679137685": [ + 464 + ], + "local-6989586621679137686": [ + 464 + ], + "local-6989586621679137687": [ + 464 + ], + "local-6989586621679137688": [ + 464 + ], + "line-465": [ + 465 + ], + "line-466": [ + 466 + ], + "line-467": [ + 467 + ], + "line-468": [ + 468 + ], + "line-469": [ + 469 + ], + "line-470": [ + 470 + ], + "line-471": [ + 471 + ], + "inspectReceipt": [ + 471 + ], + "local-6989586621679137690": [ + 471 + ], + "local-6989586621679137691": [ + 471 + ], + "local-6989586621679137692": [ + 471 + ], + "local-6989586621679137693": [ + 471 + ], + "local-6989586621679137694": [ + 471 + ], + "line-472": [ + 472 + ], + "line-473": [ + 473 + ], + "local-6989586621679137695": [ + 473 + ], + "line-474": [ + 474 + ], + "local-6989586621679137696": [ + 474 + ], + "line-475": [ + 475 + ], + "local-6989586621679137697": [ + 475 + ], + "line-476": [ + 476 + ], + "local-6989586621679137698": [ + 476 + ], + "line-477": [ + 477 + ], + "local-6989586621679137699": [ + 477 + ], + "line-478": [ + 478 + ], + "line-479": [ + 479 + ], + "local-6989586621679137700": [ + 479 + ], + "line-480": [ + 480 + ], + "local-6989586621679137701": [ + 480 + ], + "line-481": [ + 481 + ], + "local-6989586621679137702": [ + 481 + ], + "line-482": [ + 482 + ], + "local-6989586621679137704": [ + 482 + ], + "line-483": [ + 483 + ], + "line-484": [ + 484 + ], + "line-485": [ + 485 + ], + "line-486": [ + 486 + ], + "line-487": [ + 487 + ], + "line-488": [ + 488 + ], + "line-489": [ + 489 + ], + "resumeReceipt": [ + 489 + ], + "local-6989586621679137706": [ + 489 + ], + "local-6989586621679137707": [ + 489 + ], + "local-6989586621679137708": [ + 489 + ], + "local-6989586621679137709": [ + 489 + ], + "local-6989586621679137710": [ + 489 + ], + "line-490": [ + 490 + ], + "local-6989586621679137711": [ + 490 + ], + "local-6989586621679137712": [ + 490 + ], + "line-491": [ + 491 + ], + "line-492": [ + 492 + ], + "local-6989586621679137713": [ + 492 + ], + "line-493": [ + 493 + ], + "local-6989586621679137714": [ + 493 + ], + "line-494": [ + 494 + ], + "local-6989586621679137715": [ + 494 + ], + "line-495": [ + 495 + ], + "line-496": [ + 496 + ], + "line-497": [ + 497 + ], + "line-498": [ + 498 + ], + "local-6989586621679137717": [ + 498 + ], + "line-499": [ + 499 + ], + "line-500": [ + 500 + ], + "line-501": [ + 501 + ], + "line-502": [ + 502 + ], + "line-503": [ + 503 + ], + "cancelReceipt": [ + 503 + ], + "local-6989586621679137718": [ + 503 + ], + "local-6989586621679137719": [ + 503 + ], + "local-6989586621679137720": [ + 503 + ], + "local-6989586621679137721": [ + 503 + ], + "line-504": [ + 504 + ], + "line-505": [ + 505 + ], + "line-506": [ + 506 + ], + "line-507": [ + 507 + ], + "line-508": [ + 508 + ], + "line-509": [ + 509 + ], + "line-510": [ + 510 + ], + "detachReceipt": [ + 510 + ], + "local-6989586621679137723": [ + 510 + ], + "local-6989586621679137724": [ + 510 + ], + "local-6989586621679137725": [ + 510 + ], + "local-6989586621679137726": [ + 510 + ], + "line-511": [ + 511 + ], + "line-512": [ + 512 + ], + "line-513": [ + 513 + ], + "line-514": [ + 514 + ], + "local-6989586621679136481": [ + 514 + ], + "line-515": [ + 515 + ], + "readStatus": [ + 515 + ], + "line-516": [ + 516 + ], + "line-517": [ + 517 + ], + "line-518": [ + 518 + ], + "line-519": [ + 519 + ], + "local-6989586621679136483": [ + 519 + ], + "line-520": [ + 520 + ], + "awaitRead": [ + 520 + ], + "local-6989586621679137727": [ + 520 + ], + "line-521": [ + 521 + ], + "line-522": [ + 522 + ], + "line-523": [ + 523 + ], + "line-524": [ + 524 + ], + "line-525": [ + 525 + ], + "readServerPid": [ + 525 + ], + "line-526": [ + 526 + ], + "line-527": [ + 527 + ], + "line-528": [ + 528 + ], + "line-529": [ + 529 + ], + "line-530": [ + 530 + ], + "readServerPidWith": [ + 530 + ], + "line-531": [ + 531 + ], + "line-532": [ + 532 + ], + "line-533": [ + 533 + ], + "line-534": [ + 534 + ], + "line-535": [ + 535 + ], + "line-536": [ + 536 + ], + "readServerVersion": [ + 536 + ], + "line-537": [ + 537 + ], + "line-538": [ + 538 + ], + "line-539": [ + 539 + ], + "line-540": [ + 540 + ], + "readServerVersionWith": [ + 540 + ], + "line-541": [ + 541 + ], + "line-542": [ + 542 + ], + "line-543": [ + 543 + ], + "readTopologyWith": [ + 543 + ], + "line-544": [ + 544 + ], + "line-545": [ + 545 + ], + "line-546": [ + 546 + ], + "readEntityFieldWith": [ + 546 + ], + "local-6989586621679137731": [ + 546 + ], + "line-547": [ + 547 + ], + "line-548": [ + 548 + ], + "line-549": [ + 549 + ], + "line-550": [ + 550 + ], + "line-551": [ + 551 + ], + "line-552": [ + 552 + ], + "readGraphWith": [ + 552 + ], + "local-6989586621679137732": [ + 552 + ], + "local-6989586621679137733": [ + 552 + ], + "local-6989586621679137734": [ + 552 + ], + "local-6989586621679137735": [ + 552 + ], + "local-6989586621679137736": [ + 552 + ], + "line-553": [ + 553 + ], + "line-554": [ + 554 + ], + "line-555": [ + 555 + ], + "line-556": [ + 556 + ], + "line-557": [ + 557 + ], + "line-558": [ + 558 + ], + "readSnapshotWith": [ + 558 + ], + "local-6989586621679137737": [ + 558 + ], + "local-6989586621679137738": [ + 558 + ], + "local-6989586621679137739": [ + 558 + ], + "local-6989586621679137740": [ + 558 + ], + "local-6989586621679137741": [ + 558 + ], + "line-559": [ + 559 + ], + "line-560": [ + 560 + ], + "line-561": [ + 561 + ], + "line-562": [ + 562 + ], + "line-563": [ + 563 + ], + "local-6989586621679136493": [ + 563 + ], + "line-564": [ + 564 + ], + "withCaptureBudget": [ + 564 + ], + "local-6989586621679137748": [ + 564 + ], + "local-6989586621679137749": [ + 564 + ], + "line-565": [ + 565 + ], + "line-566": [ + 566 + ], + "line-567": [ + 567 + ], + "line-568": [ + 568 + ], + "local-6989586621679136499": [ + 568 + ], + "line-569": [ + 569 + ], + "commandArguments": [ + 569 + ], + "local-6989586621679137762": [ + 569 + ], + "local-6989586621679137763": [ + 569 + ], + "line-570": [ + 570 + ], + "line-571": [ + 571 + ], + "line-572": [ + 572 + ], + "line-573": [ + 573 + ], + "local-6989586621679137776": [ + 573 + ], + "local-6989586621679137777": [ + 573 + ], + "local-6989586621679137778": [ + 573 + ], + "line-574": [ + 574 + ], + "line-575": [ + 575 + ], + "local-6989586621679137782": [ + 575 + ], + "line-576": [ + 576 + ], + "local-6989586621679137786": [ + 576 + ], + "line-577": [ + 577 + ], + "line-578": [ + 578 + ], + "local-6989586621679137766": [ + 578 + ], + "line-579": [ + 579 + ], + "local-6989586621679137783": [ + 579 + ], + "local-6989586621679137789": [ + 579 + ], + "line-580": [ + 580 + ], + "line-581": [ + 581 + ], + "line-582": [ + 582 + ], + "entityField": [ + 582 + ], + "local-6989586621679137791": [ + 582 + ], + "line-583": [ + 583 + ], + "line-584": [ + 584 + ], + "local-6989586621679137798": [ + 584 + ], + "line-585": [ + 585 + ], + "line-586": [ + 586 + ], + "local-6989586621679137802": [ + 586 + ], + "line-587": [ + 587 + ], + "line-588": [ + 588 + ], + "local-6989586621679137806": [ + 588 + ], + "line-589": [ + 589 + ], + "line-590": [ + 590 + ], + "local-6989586621679137808": [ + 590 + ], + "line-591": [ + 591 + ], + "line-592": [ + 592 + ], + "line-593": [ + 593 + ], + "local-6989586621679136508": [ + 593 + ], + "local-6989586621679136509": [ + 593 + ], + "line-594": [ + 594 + ], + "fieldFormat": [ + 594 + ], + "local-6989586621679137814": [ + 594 + ], + "line-595": [ + 595 + ], + "line-596": [ + 596 + ], + "local-6989586621679136504": [ + 596 + ], + "line-597": [ + 597 + ], + "commandTarget": [ + 597 + ], + "local-6989586621679137817": [ + 597 + ], + "local-6989586621679137818": [ + 597 + ], + "line-598": [ + 598 + ], + "line-599": [ + 599 + ], + "line-600": [ + 600 + ], + "local-6989586621679136488": [ + 600 + ], + "line-601": [ + 601 + ], + "startRead": [ + 601 + ], + "local-6989586621679137909": [ + 601 + ], + "local-6989586621679137910": [ + 601 + ], + "local-6989586621679137911": [ + 601 + ], + "local-6989586621679137912": [ + 601 + ], + "local-6989586621679137913": [ + 601 + ], + "local-6989586621679137914": [ + 601 + ], + "local-6989586621679137915": [ + 601 + ], + "local-6989586621679137916": [ + 601 + ], + "local-6989586621679137917": [ + 601 + ], + "line-602": [ + 602 + ], + "local-6989586621679137918": [ + 602 + ], + "line-603": [ + 603 + ], + "line-604": [ + 604 + ], + "line-605": [ + 605 + ], + "local-6989586621679137920": [ + 605 + ], + "line-606": [ + 606 + ], + "local-6989586621679137923": [ + 606 + ], + "line-607": [ + 607 + ], + "local-6989586621679137924": [ + 607 + ], + "local-6989586621679137927": [ + 607 + ], + "line-608": [ + 608 + ], + "line-609": [ + 609 + ], + "line-610": [ + 610 + ], + "local-6989586621679137930": [ + 610 + ], + "line-611": [ + 611 + ], + "local-6989586621679137932": [ + 611 + ], + "line-612": [ + 612 + ], + "line-613": [ + 613 + ], + "local-6989586621679137935": [ + 613 + ], + "local-6989586621679137936": [ + 613 + ], + "line-614": [ + 614 + ], + "line-615": [ + 615 + ], + "line-616": [ + 616 + ], + "line-617": [ + 617 + ], + "local-6989586621679137941": [ + 617 + ], + "line-618": [ + 618 + ], + "local-6989586621679137942": [ + 618 + ], + "line-619": [ + 619 + ], + "line-620": [ + 620 + ], + "local-6989586621679137943": [ + 620 + ], + "local-6989586621679137944": [ + 620 + ], + "line-621": [ + 621 + ], + "line-622": [ + 622 + ], + "local-6989586621679137946": [ + 622 + ], + "line-623": [ + 623 + ], + "local-6989586621679137948": [ + 623 + ], + "line-624": [ + 624 + ], + "line-625": [ + 625 + ], + "line-626": [ + 626 + ], + "line-627": [ + 627 + ], + "line-628": [ + 628 + ], + "line-629": [ + 629 + ], + "local-6989586621679137964": [ + 629 + ], + "line-630": [ + 630 + ], + "local-6989586621679137965": [ + 630 + ], + "line-631": [ + 631 + ], + "local-6989586621679137966": [ + 631 + ], + "line-632": [ + 632 + ], + "local-6989586621679137967": [ + 632 + ], + "line-633": [ + 633 + ], + "local-6989586621679137968": [ + 633 + ], + "line-634": [ + 634 + ], + "local-6989586621679137969": [ + 634 + ], + "line-635": [ + 635 + ], + "local-6989586621679137970": [ + 635 + ], + "line-636": [ + 636 + ], + "local-6989586621679137971": [ + 636 + ], + "line-637": [ + 637 + ], + "local-6989586621679137972": [ + 637 + ], + "line-638": [ + 638 + ], + "line-639": [ + 639 + ], + "line-640": [ + 640 + ], + "line-641": [ + 641 + ], + "local-6989586621679137973": [ + 641 + ], + "line-642": [ + 642 + ], + "local-6989586621679137975": [ + 642 + ], + "line-643": [ + 643 + ], + "local-6989586621679137977": [ + 643 + ], + "line-644": [ + 644 + ], + "line-645": [ + 645 + ], + "line-646": [ + 646 + ], + "local-6989586621679137981": [ + 646 + ], + "local-6989586621679137982": [ + 646 + ], + "line-647": [ + 647 + ], + "line-648": [ + 648 + ], + "local-6989586621679137984": [ + 648 + ], + "line-649": [ + 649 + ], + "line-650": [ + 650 + ], + "line-651": [ + 651 + ], + "line-652": [ + 652 + ], + "line-653": [ + 653 + ], + "remaining": [ + 653 + ], + "local-6989586621679137988": [ + 653 + ], + "line-654": [ + 654 + ], + "local-6989586621679137989": [ + 654 + ], + "line-655": [ + 655 + ], + "line-656": [ + 656 + ], + "local-6989586621679137990": [ + 656 + ], + "local-6989586621679137991": [ + 656 + ], + "line-657": [ + 657 + ], + "line-658": [ + 658 + ], + "line-659": [ + 659 + ], + "line-660": [ + 660 + ], + "claimRead": [ + 660 + ], + "local-6989586621679137994": [ + 660 + ], + "local-6989586621679137995": [ + 660 + ], + "line-661": [ + 661 + ], + "local-6989586621679137996": [ + 661 + ], + "line-662": [ + 662 + ], + "line-663": [ + 663 + ], + "line-664": [ + 664 + ], + "line-665": [ + 665 + ], + "local-6989586621679137998": [ + 665 + ], + "line-666": [ + 666 + ], + "line-667": [ + 667 + ], + "local-6989586621679137999": [ + 667 + ], + "line-668": [ + 668 + ], + "readAction": [ + 668 + ], + "local-6989586621679138000": [ + 668 + ], + "local-6989586621679138001": [ + 668 + ], + "local-6989586621679138002": [ + 668 + ], + "local-6989586621679138003": [ + 668 + ], + "local-6989586621679138004": [ + 668 + ], + "local-6989586621679138005": [ + 668 + ], + "local-6989586621679138006": [ + 668 + ], + "line-669": [ + 669 + ], + "local-6989586621679138007": [ + 669 + ], + "line-670": [ + 670 + ], + "local-6989586621679138008": [ + 670 + ], + "line-671": [ + 671 + ], + "line-672": [ + 672 + ], + "line-673": [ + 673 + ], + "local-6989586621679138009": [ + 673 + ], + "line-674": [ + 674 + ], + "local-6989586621679138010": [ + 674 + ], + "line-675": [ + 675 + ], + "line-676": [ + 676 + ], + "line-677": [ + 677 + ], + "line-678": [ + 678 + ], + "local-6989586621679138011": [ + 678 + ], + "local-6989586621679138012": [ + 678 + ], + "line-679": [ + 679 + ], + "line-680": [ + 680 + ], + "local-6989586621679138013": [ + 680 + ], + "line-681": [ + 681 + ], + "line-682": [ + 682 + ], + "local-6989586621679138014": [ + 682 + ], + "line-683": [ + 683 + ], + "line-684": [ + 684 + ], + "local-6989586621679138015": [ + 684 + ], + "line-685": [ + 685 + ], + "line-686": [ + 686 + ], + "local-6989586621679138016": [ + 686 + ], + "line-687": [ + 687 + ], + "line-688": [ + 688 + ], + "local-6989586621679138018": [ + 688 + ], + "line-689": [ + 689 + ], + "line-690": [ + 690 + ], + "line-691": [ + 691 + ], + "local-6989586621679138019": [ + 691 + ], + "line-692": [ + 692 + ], + "line-693": [ + 693 + ], + "local-6989586621679138020": [ + 693 + ], + "line-694": [ + 694 + ], + "local-6989586621679138021": [ + 694 + ], + "line-695": [ + 695 + ], + "line-696": [ + 696 + ], + "local-6989586621679138022": [ + 696 + ], + "line-697": [ + 697 + ], + "line-698": [ + 698 + ], + "line-699": [ + 699 + ], + "local-6989586621679138024": [ + 699 + ], + "line-700": [ + 700 + ], + "line-701": [ + 701 + ], + "line-702": [ + 702 + ], + "line-703": [ + 703 + ], + "local-6989586621679138025": [ + 703 + ], + "line-704": [ + 704 + ], + "readWorker": [ + 704 + ], + "local-6989586621679138026": [ + 704 + ], + "local-6989586621679138027": [ + 704 + ], + "local-6989586621679138028": [ + 704 + ], + "local-6989586621679138029": [ + 704 + ], + "line-705": [ + 705 + ], + "local-6989586621679138030": [ + 705 + ], + "line-706": [ + 706 + ], + "line-707": [ + 707 + ], + "line-708": [ + 708 + ], + "local-6989586621679138031": [ + 708 + ], + "line-709": [ + 709 + ], + "line-710": [ + 710 + ], + "local-6989586621679138032": [ + 710 + ], + "line-711": [ + 711 + ], + "line-712": [ + 712 + ], + "line-713": [ + 713 + ], + "line-714": [ + 714 + ], + "line-715": [ + 715 + ], + "line-716": [ + 716 + ], + "local-6989586621679138036": [ + 716 + ], + "line-717": [ + 717 + ], + "recoverRead": [ + 717 + ], + "local-6989586621679138037": [ + 717 + ], + "local-6989586621679138038": [ + 717 + ], + "local-6989586621679138039": [ + 717 + ], + "line-718": [ + 718 + ], + "local-6989586621679138040": [ + 718 + ], + "line-719": [ + 719 + ], + "local-6989586621679138041": [ + 719 + ], + "line-720": [ + 720 + ], + "line-721": [ + 721 + ], + "line-722": [ + 722 + ], + "line-723": [ + 723 + ], + "line-724": [ + 724 + ], + "line-725": [ + 725 + ], + "local-6989586621679138043": [ + 725 + ], + "line-726": [ + 726 + ], + "line-727": [ + 727 + ], + "local-6989586621679138044": [ + 727 + ], + "line-728": [ + 728 + ], + "line-729": [ + 729 + ], + "line-730": [ + 730 + ], + "line-731": [ + 731 + ], + "local-6989586621679138045": [ + 731 + ], + "line-732": [ + 732 + ], + "line-733": [ + 733 + ], + "line-734": [ + 734 + ], + "line-735": [ + 735 + ], + "line-736": [ + 736 + ], + "resumeRead": [ + 736 + ], + "local-6989586621679138046": [ + 736 + ], + "local-6989586621679138047": [ + 736 + ], + "local-6989586621679138048": [ + 736 + ], + "line-737": [ + 737 + ], + "local-6989586621679138049": [ + 737 + ], + "line-738": [ + 738 + ], + "local-6989586621679138050": [ + 738 + ], + "line-739": [ + 739 + ], + "local-6989586621679138051": [ + 739 + ], + "line-740": [ + 740 + ], + "line-741": [ + 741 + ], + "line-742": [ + 742 + ], + "line-743": [ + 743 + ], + "line-744": [ + 744 + ], + "line-745": [ + 745 + ], + "line-746": [ + 746 + ], + "local-6989586621679138053": [ + 746 + ], + "local-6989586621679138054": [ + 746 + ], + "line-747": [ + 747 + ], + "line-748": [ + 748 + ], + "line-749": [ + 749 + ], + "local-6989586621679138055": [ + 749 + ], + "line-750": [ + 750 + ], + "line-751": [ + 751 + ], + "line-752": [ + 752 + ], + "line-753": [ + 753 + ], + "line-754": [ + 754 + ], + "line-755": [ + 755 + ], + "line-756": [ + 756 + ], + "line-757": [ + 757 + ], + "line-758": [ + 758 + ], + "submittedTicket": [ + 758 + ], + "local-6989586621679138056": [ + 758 + ], + "line-759": [ + 759 + ], + "local-6989586621679138057": [ + 759 + ], + "line-760": [ + 760 + ], + "line-761": [ + 761 + ], + "line-762": [ + 762 + ], + "line-763": [ + 763 + ], + "finishRead": [ + 763 + ], + "local-6989586621679138058": [ + 763 + ], + "local-6989586621679138059": [ + 763 + ], + "local-6989586621679138096": [ + 763 + ], + "local-6989586621679138097": [ + 763 + ], + "local-6989586621679138098": [ + 763 + ], + "local-6989586621679138099": [ + 763 + ], + "line-764": [ + 764 + ], + "local-6989586621679138100": [ + 764 + ], + "line-765": [ + 765 + ], + "line-766": [ + 766 + ], + "local-6989586621679138103": [ + 766 + ], + "line-767": [ + 767 + ], + "line-768": [ + 768 + ], + "line-769": [ + 769 + ], + "local-6989586621679138106": [ + 769 + ], + "line-770": [ + 770 + ], + "line-771": [ + 771 + ], + "line-772": [ + 772 + ], + "line-773": [ + 773 + ], + "local-6989586621679138108": [ + 773 + ], + "line-774": [ + 774 + ], + "line-775": [ + 775 + ], + "line-776": [ + 776 + ], + "line-777": [ + 777 + ], + "line-778": [ + 778 + ], + "line-779": [ + 779 + ], + "line-780": [ + 780 + ], + "line-781": [ + 781 + ], + "line-782": [ + 782 + ], + "local-6989586621679138133": [ + 782 + ], + "line-783": [ + 783 + ], + "line-784": [ + 784 + ], + "line-785": [ + 785 + ], + "line-786": [ + 786 + ], + "line-787": [ + 787 + ], + "local-6989586621679138134": [ + 787 + ], + "line-788": [ + 788 + ], + "line-789": [ + 789 + ], + "line-790": [ + 790 + ], + "line-791": [ + 791 + ], + "local-6989586621679138139": [ + 791 + ], + "line-792": [ + 792 + ], + "line-793": [ + 793 + ], + "line-794": [ + 794 + ], + "line-795": [ + 795 + ], + "line-796": [ + 796 + ], + "line-797": [ + 797 + ], + "local-6989586621679136554": [ + 797 + ], + "line-798": [ + 798 + ], + "decodeRead": [ + 798 + ], + "local-6989586621679138154": [ + 798 + ], + "local-6989586621679138155": [ + 798 + ], + "local-6989586621679138156": [ + 798 + ], + "line-799": [ + 799 + ], + "line-800": [ + 800 + ], + "line-801": [ + 801 + ], + "line-802": [ + 802 + ], + "line-803": [ + 803 + ], + "local-6989586621679138184": [ + 803 + ], + "line-804": [ + 804 + ], + "line-805": [ + 805 + ], + "local-6989586621679138188": [ + 805 + ], + "local-6989586621679138191": [ + 805 + ], + "line-806": [ + 806 + ], + "line-807": [ + 807 + ], + "line-808": [ + 808 + ], + "line-809": [ + 809 + ], + "local-6989586621679138200": [ + 809 + ], + "line-810": [ + 810 + ], + "local-6989586621679138201": [ + 810 + ], + "line-811": [ + 811 + ], + "line-812": [ + 812 + ], + "local-6989586621679138204": [ + 812 + ], + "line-813": [ + 813 + ], + "local-6989586621679138205": [ + 813 + ], + "line-814": [ + 814 + ], + "line-815": [ + 815 + ], + "local-6989586621679138216": [ + 815 + ], + "line-816": [ + 816 + ], + "local-6989586621679138217": [ + 816 + ], + "line-817": [ + 817 + ], + "local-6989586621679138219": [ + 817 + ], + "line-818": [ + 818 + ], + "line-819": [ + 819 + ], + "line-820": [ + 820 + ], + "local-6989586621679138225": [ + 820 + ], + "line-821": [ + 821 + ], + "line-822": [ + 822 + ], + "local-6989586621679138230": [ + 822 + ], + "line-823": [ + 823 + ], + "line-824": [ + 824 + ], + "line-825": [ + 825 + ], + "local-6989586621679138185": [ + 825 + ], + "local-6989586621679138232": [ + 825 + ], + "local-6989586621679138233": [ + 825 + ], + "line-826": [ + 826 + ], + "line-827": [ + 827 + ], + "line-828": [ + 828 + ], + "line-829": [ + 829 + ], + "publishUnavailable": [ + 829 + ], + "local-6989586621679138234": [ + 829 + ], + "local-6989586621679138240": [ + 829 + ], + "local-6989586621679138241": [ + 829 + ], + "line-830": [ + 830 + ], + "local-6989586621679138242": [ + 830 + ], + "line-831": [ + 831 + ], + "line-832": [ + 832 + ], + "local-6989586621679138243": [ + 832 + ], + "line-833": [ + 833 + ], + "line-834": [ + 834 + ], + "line-835": [ + 835 + ], + "line-836": [ + 836 + ], + "retireRefusal": [ + 836 + ], + "local-6989586621679138244": [ + 836 + ], + "local-6989586621679138245": [ + 836 + ], + "local-6989586621679138246": [ + 836 + ], + "line-837": [ + 837 + ], + "local-6989586621679138247": [ + 837 + ], + "line-838": [ + 838 + ], + "line-839": [ + 839 + ], + "line-840": [ + 840 + ], + "line-841": [ + 841 + ], + "line-842": [ + 842 + ], + "line-843": [ + 843 + ], + "line-844": [ + 844 + ], + "releaseRead": [ + 844 + ], + "local-6989586621679138249": [ + 844 + ], + "local-6989586621679138250": [ + 844 + ], + "line-845": [ + 845 + ], + "line-846": [ + 846 + ], + "line-847": [ + 847 + ], + "line-848": [ + 848 + ], + "line-849": [ + 849 + ], + "line-850": [ + 850 + ], + "line-851": [ + 851 + ], + "line-852": [ + 852 + ], + "local-6989586621679136567": [ + 852 + ], + "line-853": [ + 853 + ], + "cancelRead": [ + 853 + ], + "local-6989586621679138251": [ + 853 + ], + "local-6989586621679138252": [ + 853 + ], + "line-854": [ + 854 + ], + "line-855": [ + 855 + ], + "line-856": [ + 856 + ], + "cancelOperation": [ + 856 + ], + "local-6989586621679138253": [ + 856 + ], + "local-6989586621679138254": [ + 856 + ], + "line-857": [ + 857 + ], + "line-858": [ + 858 + ], + "local-6989586621679138255": [ + 858 + ], + "line-859": [ + 859 + ], + "line-860": [ + 860 + ], + "line-861": [ + 861 + ], + "line-862": [ + 862 + ], + "line-863": [ + 863 + ], + "cancelOwner": [ + 863 + ], + "local-6989586621679138257": [ + 863 + ], + "local-6989586621679138258": [ + 863 + ], + "local-6989586621679138259": [ + 863 + ], + "line-864": [ + 864 + ], + "line-865": [ + 865 + ], + "line-866": [ + 866 + ], + "cancelOwnerSTM": [ + 866 + ], + "local-6989586621679138260": [ + 866 + ], + "local-6989586621679138261": [ + 866 + ], + "local-6989586621679138262": [ + 866 + ], + "line-867": [ + 867 + ], + "line-868": [ + 868 + ], + "line-869": [ + 869 + ], + "line-870": [ + 870 + ], + "line-871": [ + 871 + ], + "local-6989586621679138263": [ + 871 + ], + "line-872": [ + 872 + ], + "line-873": [ + 873 + ], + "line-874": [ + 874 + ], + "line-875": [ + 875 + ], + "line-876": [ + 876 + ], + "detachOperation": [ + 876 + ], + "local-6989586621679138264": [ + 876 + ], + "line-877": [ + 877 + ] + }, + "LibTmux.Internal.Scheduler": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "Scheduler": [ + 35, + 35 + ], + "line-36": [ + 36 + ], + "State": [ + 36, + 36 + ], + "line-37": [ + 37 + ], + "accepting": [ + 37 + ], + "line-38": [ + 38 + ], + "nextKey": [ + 38 + ], + "line-39": [ + 39 + ], + "operations": [ + 39 + ], + "line-40": [ + 40 + ], + "line-41": [ + 41 + ], + "line-42": [ + 42 + ], + "line-43": [ + 43 + ], + "line-44": [ + 44 + ], + "Operation": [ + 44, + 44 + ], + "line-45": [ + 45 + ], + "local-6989586621679129290": [ + 45 + ], + "local-6989586621679129299": [ + 45 + ], + "line-46": [ + 46 + ], + "line-47": [ + 47 + ], + "local-6989586621679129305": [ + 47 + ], + "local-6989586621679129309": [ + 47 + ], + "line-48": [ + 48 + ], + "local-6989586621679129316": [ + 48 + ], + "local-6989586621679129318": [ + 48 + ], + "local-6989586621679129319": [ + 48 + ], + "line-49": [ + 49 + ], + "line-50": [ + 50 + ], + "line-51": [ + 51 + ], + "line-52": [ + 52 + ], + "line-53": [ + 53 + ], + "Group": [ + 53, + 53 + ], + "line-54": [ + 54 + ], + "local-6989586621679129327": [ + 54 + ], + "local-6989586621679129330": [ + 54 + ], + "line-55": [ + 55 + ], + "line-56": [ + 56 + ], + "line-57": [ + 57 + ], + "line-58": [ + 58 + ], + "newGroup": [ + 58 + ], + "line-59": [ + 59 + ], + "line-60": [ + 60 + ], + "line-61": [ + 61 + ], + "line-62": [ + 62 + ], + "Lane": [ + 62 + ], + "Inspection": [ + 62 + ], + "ScalarRead": [ + 62 + ], + "Mutation": [ + 62 + ], + "Waiting": [ + 62 + ], + "line-63": [ + 63 + ], + "local-6989586621679129338": [ + 63 + ], + "local-6989586621679129343": [ + 63 + ], + "local-6989586621679129346": [ + 63 + ], + "local-6989586621679129348": [ + 63 + ], + "local-6989586621679129352": [ + 63 + ], + "line-64": [ + 64 + ], + "line-65": [ + 65 + ], + "line-66": [ + 66 + ], + "line-67": [ + 67 + ], + "Stage": [ + 67 + ], + "Queued": [ + 67 + ], + "Dispatching": [ + 67 + ], + "Dispatched": [ + 67 + ], + "ResponseClosed": [ + 67 + ], + "OperationComplete": [ + 67 + ], + "line-68": [ + 68 + ], + "local-6989586621679129360": [ + 68 + ], + "local-6989586621679129364": [ + 68 + ], + "local-6989586621679129367": [ + 68 + ], + "local-6989586621679129369": [ + 68 + ], + "local-6989586621679129373": [ + 68 + ], + "line-69": [ + 69 + ], + "line-70": [ + 70 + ], + "line-71": [ + 71 + ], + "line-72": [ + 72 + ], + "Outcome": [ + 72 + ], + "line-73": [ + 73 + ], + "Succeeded": [ + 73 + ], + "line-74": [ + 74 + ], + "Failed": [ + 74 + ], + "line-75": [ + 75 + ], + "NotDispatched": [ + 75 + ], + "line-76": [ + 76 + ], + "OutcomeUnknown": [ + 76 + ], + "line-77": [ + 77 + ], + "ConnectionRetired": [ + 77 + ], + "line-78": [ + 78 + ], + "local-6989586621679129381": [ + 78 + ], + "local-6989586621679129385": [ + 78 + ], + "local-6989586621679129388": [ + 78 + ], + "local-6989586621679129390": [ + 78 + ], + "local-6989586621679129394": [ + 78 + ], + "line-79": [ + 79 + ], + "line-80": [ + 80 + ], + "line-81": [ + 81 + ], + "line-82": [ + 82 + ], + "Status": [ + 82, + 82 + ], + "line-83": [ + 83 + ], + "stage": [ + 83 + ], + "line-84": [ + 84 + ], + "outcome": [ + 84 + ], + "line-85": [ + 85 + ], + "retained": [ + 85 + ], + "line-86": [ + 86 + ], + "line-87": [ + 87 + ], + "local-6989586621679129401": [ + 87 + ], + "local-6989586621679129407": [ + 87 + ], + "local-6989586621679129411": [ + 87 + ], + "local-6989586621679129420": [ + 87 + ], + "local-6989586621679129424": [ + 87 + ], + "line-88": [ + 88 + ], + "line-89": [ + 89 + ], + "line-90": [ + 90 + ], + "line-91": [ + 91 + ], + "Completion": [ + 91 + ], + "Success": [ + 91 + ], + "CommandFailure": [ + 91 + ], + "line-92": [ + 92 + ], + "local-6989586621679129429": [ + 92 + ], + "local-6989586621679129433": [ + 92 + ], + "local-6989586621679129437": [ + 92 + ], + "local-6989586621679129439": [ + 92 + ], + "local-6989586621679129443": [ + 92 + ], + "line-93": [ + 93 + ], + "line-94": [ + 94 + ], + "line-95": [ + 95 + ], + "line-96": [ + 96 + ], + "line-97": [ + 97 + ], + "AdmissionError": [ + 97 + ], + "line-98": [ + 98 + ], + "AdmissionClosed": [ + 98 + ], + "line-99": [ + 99 + ], + "AdmissionFull": [ + 99 + ], + "line-100": [ + 100 + ], + "OrdinaryFull": [ + 100 + ], + "line-101": [ + 101 + ], + "KeyExhausted": [ + 101 + ], + "line-102": [ + 102 + ], + "ForeignContext": [ + 102 + ], + "line-103": [ + 103 + ], + "InvalidTransition": [ + 103 + ], + "line-104": [ + 104 + ], + "local-6989586621679129452": [ + 104 + ], + "local-6989586621679129458": [ + 104 + ], + "local-6989586621679129462": [ + 104 + ], + "local-6989586621679129467": [ + 104 + ], + "local-6989586621679129471": [ + 104 + ], + "line-105": [ + 105 + ], + "local-6989586621679129478": [ + 105 + ], + "local-6989586621679129481": [ + 105 + ], + "local-6989586621679129484": [ + 105 + ], + "local-6989586621679129487": [ + 105 + ], + "line-106": [ + 106 + ], + "line-107": [ + 107 + ], + "line-108": [ + 108 + ], + "line-109": [ + 109 + ], + "line-110": [ + 110 + ], + "line-111": [ + 111 + ], + "line-112": [ + 112 + ], + "newScheduler": [ + 112 + ], + "line-113": [ + 113 + ], + "line-114": [ + 114 + ], + "line-115": [ + 115 + ], + "line-116": [ + 116 + ], + "line-117": [ + 117 + ], + "line-118": [ + 118 + ], + "admit": [ + 118 + ], + "local-6989586621679129492": [ + 118 + ], + "line-119": [ + 119 + ], + "line-120": [ + 120 + ], + "line-121": [ + 121 + ], + "line-122": [ + 122 + ], + "line-123": [ + 123 + ], + "line-124": [ + 124 + ], + "admitIn": [ + 124 + ], + "local-6989586621679129494": [ + 124 + ], + "local-6989586621679129495": [ + 124 + ], + "line-125": [ + 125 + ], + "line-126": [ + 126 + ], + "line-127": [ + 127 + ], + "reserve": [ + 127 + ], + "local-6989586621679129496": [ + 127 + ], + "local-6989586621679129497": [ + 127 + ], + "local-6989586621679129498": [ + 127 + ], + "local-6989586621679129499": [ + 127 + ], + "line-128": [ + 128 + ], + "line-129": [ + 129 + ], + "local-6989586621679129500": [ + 129 + ], + "line-130": [ + 130 + ], + "line-131": [ + 131 + ], + "local-6989586621679129501": [ + 131 + ], + "line-132": [ + 132 + ], + "line-133": [ + 133 + ], + "line-134": [ + 134 + ], + "local-6989586621679129505": [ + 134 + ], + "local-6989586621679129507": [ + 134 + ], + "line-135": [ + 135 + ], + "line-136": [ + 136 + ], + "local-6989586621679129510": [ + 136 + ], + "line-137": [ + 137 + ], + "local-6989586621679129512": [ + 137 + ], + "line-138": [ + 138 + ], + "local-6989586621679129514": [ + 138 + ], + "line-139": [ + 139 + ], + "local-6989586621679129515": [ + 139 + ], + "line-140": [ + 140 + ], + "line-141": [ + 141 + ], + "line-142": [ + 142 + ], + "line-143": [ + 143 + ], + "line-144": [ + 144 + ], + "line-145": [ + 145 + ], + "line-146": [ + 146 + ], + "status": [ + 146 + ], + "local-6989586621679129521": [ + 146 + ], + "line-147": [ + 147 + ], + "line-148": [ + 148 + ], + "line-149": [ + 149 + ], + "line-150": [ + 150 + ], + "line-151": [ + 151 + ], + "outstanding": [ + 151 + ], + "local-6989586621679129522": [ + 151 + ], + "line-152": [ + 152 + ], + "local-6989586621679129523": [ + 152 + ], + "line-153": [ + 153 + ], + "local-6989586621679129525": [ + 153 + ], + "line-154": [ + 154 + ], + "line-155": [ + 155 + ], + "line-156": [ + 156 + ], + "line-157": [ + 157 + ], + "line-158": [ + 158 + ], + "outstandingIn": [ + 158 + ], + "local-6989586621679129527": [ + 158 + ], + "local-6989586621679129528": [ + 158 + ], + "line-159": [ + 159 + ], + "line-160": [ + 160 + ], + "line-161": [ + 161 + ], + "line-162": [ + 162 + ], + "line-163": [ + 163 + ], + "memberOf": [ + 163 + ], + "local-6989586621679129530": [ + 163 + ], + "local-6989586621679129531": [ + 163 + ], + "line-164": [ + 164 + ], + "line-165": [ + 165 + ], + "line-166": [ + 166 + ], + "line-167": [ + 167 + ], + "line-168": [ + 168 + ], + "await": [ + 168 + ], + "local-6989586621679129532": [ + 168 + ], + "line-169": [ + 169 + ], + "line-170": [ + 170 + ], + "line-171": [ + 171 + ], + "line-172": [ + 172 + ], + "line-173": [ + 173 + ], + "line-174": [ + 174 + ], + "claim": [ + 174 + ], + "local-6989586621679129534": [ + 174 + ], + "line-175": [ + 175 + ], + "local-6989586621679129535": [ + 175 + ], + "line-176": [ + 176 + ], + "line-177": [ + 177 + ], + "local-6989586621679129537": [ + 177 + ], + "local-6989586621679129538": [ + 177 + ], + "local-6989586621679129539": [ + 177 + ], + "line-178": [ + 178 + ], + "local-6989586621679129540": [ + 178 + ], + "local-6989586621679129541": [ + 178 + ], + "local-6989586621679129542": [ + 178 + ], + "line-179": [ + 179 + ], + "local-6989586621679129543": [ + 179 + ], + "local-6989586621679129544": [ + 179 + ], + "line-180": [ + 180 + ], + "local-6989586621679129546": [ + 180 + ], + "line-181": [ + 181 + ], + "local-6989586621679129547": [ + 181 + ], + "local-6989586621679129548": [ + 181 + ], + "line-182": [ + 182 + ], + "line-183": [ + 183 + ], + "line-184": [ + 184 + ], + "line-185": [ + 185 + ], + "line-186": [ + 186 + ], + "line-187": [ + 187 + ], + "line-188": [ + 188 + ], + "local-6989586621679129550": [ + 188 + ], + "line-189": [ + 189 + ], + "local-6989586621679129555": [ + 189 + ], + "local-6989586621679129556": [ + 189 + ], + "local-6989586621679129557": [ + 189 + ], + "local-6989586621679129558": [ + 189 + ], + "local-6989586621679129559": [ + 189 + ], + "local-6989586621679129560": [ + 189 + ], + "line-190": [ + 190 + ], + "line-191": [ + 191 + ], + "line-192": [ + 192 + ], + "line-193": [ + 193 + ], + "line-194": [ + 194 + ], + "line-195": [ + 195 + ], + "line-196": [ + 196 + ], + "line-197": [ + 197 + ], + "line-198": [ + 198 + ], + "markDispatched": [ + 198 + ], + "line-199": [ + 199 + ], + "line-200": [ + 200 + ], + "line-201": [ + 201 + ], + "line-202": [ + 202 + ], + "line-203": [ + 203 + ], + "markResponseClosed": [ + 203 + ], + "line-204": [ + 204 + ], + "line-205": [ + 205 + ], + "line-206": [ + 206 + ], + "line-207": [ + 207 + ], + "line-208": [ + 208 + ], + "line-209": [ + 209 + ], + "finish": [ + 209 + ], + "local-6989586621679129562": [ + 209 + ], + "local-6989586621679129563": [ + 209 + ], + "local-6989586621679129564": [ + 209 + ], + "local-6989586621679129566": [ + 209 + ], + "line-210": [ + 210 + ], + "line-211": [ + 211 + ], + "line-212": [ + 212 + ], + "local-6989586621679129570": [ + 212 + ], + "line-213": [ + 213 + ], + "line-214": [ + 214 + ], + "line-215": [ + 215 + ], + "line-216": [ + 216 + ], + "line-217": [ + 217 + ], + "markUnknown": [ + 217 + ], + "line-218": [ + 218 + ], + "line-219": [ + 219 + ], + "line-220": [ + 220 + ], + "line-221": [ + 221 + ], + "line-222": [ + 222 + ], + "cancelQueued": [ + 222 + ], + "local-6989586621679129572": [ + 222 + ], + "local-6989586621679129573": [ + 222 + ], + "local-6989586621679129574": [ + 222 + ], + "line-223": [ + 223 + ], + "line-224": [ + 224 + ], + "line-225": [ + 225 + ], + "line-226": [ + 226 + ], + "line-227": [ + 227 + ], + "line-228": [ + 228 + ], + "line-229": [ + 229 + ], + "line-230": [ + 230 + ], + "refuseBeforeBirth": [ + 230 + ], + "local-6989586621679129575": [ + 230 + ], + "local-6989586621679129576": [ + 230 + ], + "local-6989586621679129577": [ + 230 + ], + "line-231": [ + 231 + ], + "line-232": [ + 232 + ], + "line-233": [ + 233 + ], + "line-234": [ + 234 + ], + "line-235": [ + 235 + ], + "line-236": [ + 236 + ], + "line-237": [ + 237 + ], + "line-238": [ + 238 + ], + "connectionRetired": [ + 238 + ], + "line-239": [ + 239 + ], + "line-240": [ + 240 + ], + "line-241": [ + 241 + ], + "line-242": [ + 242 + ], + "line-243": [ + 243 + ], + "line-244": [ + 244 + ], + "line-245": [ + 245 + ], + "detachResponsibility": [ + 245 + ], + "local-6989586621679129578": [ + 245 + ], + "local-6989586621679129579": [ + 245 + ], + "local-6989586621679129580": [ + 245 + ], + "line-246": [ + 246 + ], + "line-247": [ + 247 + ], + "line-248": [ + 248 + ], + "line-249": [ + 249 + ], + "line-250": [ + 250 + ], + "line-251": [ + 251 + ], + "line-252": [ + 252 + ], + "line-253": [ + 253 + ], + "line-254": [ + 254 + ], + "closeAdmission": [ + 254 + ], + "local-6989586621679129582": [ + 254 + ], + "local-6989586621679129583": [ + 254 + ], + "line-255": [ + 255 + ], + "local-6989586621679129584": [ + 255 + ], + "line-256": [ + 256 + ], + "line-257": [ + 257 + ], + "local-6989586621679129585": [ + 257 + ], + "line-258": [ + 258 + ], + "local-6989586621679129586": [ + 258 + ], + "line-259": [ + 259 + ], + "line-260": [ + 260 + ], + "line-261": [ + 261 + ], + "line-262": [ + 262 + ], + "local-6989586621679129103": [ + 262 + ], + "line-263": [ + 263 + ], + "withLive": [ + 263 + ], + "local-6989586621679129596": [ + 263 + ], + "local-6989586621679129597": [ + 263 + ], + "local-6989586621679129598": [ + 263 + ], + "local-6989586621679129599": [ + 263 + ], + "local-6989586621679129600": [ + 263 + ], + "local-6989586621679129601": [ + 263 + ], + "local-6989586621679129602": [ + 263 + ], + "line-264": [ + 264 + ], + "line-265": [ + 265 + ], + "local-6989586621679129603": [ + 265 + ], + "line-266": [ + 266 + ], + "line-267": [ + 267 + ], + "line-268": [ + 268 + ], + "line-269": [ + 269 + ], + "line-270": [ + 270 + ], + "advance": [ + 270 + ], + "local-6989586621679129605": [ + 270 + ], + "local-6989586621679129606": [ + 270 + ], + "local-6989586621679129607": [ + 270 + ], + "local-6989586621679129608": [ + 270 + ], + "local-6989586621679129609": [ + 270 + ], + "line-271": [ + 271 + ], + "local-6989586621679129610": [ + 271 + ], + "line-272": [ + 272 + ], + "line-273": [ + 273 + ], + "line-274": [ + 274 + ], + "line-275": [ + 275 + ], + "line-276": [ + 276 + ], + "line-277": [ + 277 + ], + "requireStage": [ + 277 + ], + "local-6989586621679129611": [ + 277 + ], + "local-6989586621679129612": [ + 277 + ], + "line-278": [ + 278 + ], + "line-279": [ + 279 + ], + "line-280": [ + 280 + ], + "line-281": [ + 281 + ], + "publish": [ + 281 + ], + "local-6989586621679129613": [ + 281 + ], + "local-6989586621679129614": [ + 281 + ], + "line-282": [ + 282 + ], + "line-283": [ + 283 + ], + "line-284": [ + 284 + ], + "line-285": [ + 285 + ], + "line-286": [ + 286 + ], + "line-287": [ + 287 + ], + "publishActive": [ + 287 + ], + "local-6989586621679129615": [ + 287 + ], + "local-6989586621679129616": [ + 287 + ], + "local-6989586621679129617": [ + 287 + ], + "local-6989586621679129618": [ + 287 + ], + "line-288": [ + 288 + ], + "local-6989586621679129619": [ + 288 + ], + "line-289": [ + 289 + ], + "line-290": [ + 290 + ], + "line-291": [ + 291 + ], + "line-292": [ + 292 + ], + "line-293": [ + 293 + ], + "line-294": [ + 294 + ], + "line-295": [ + 295 + ], + "line-296": [ + 296 + ], + "line-297": [ + 297 + ], + "retire": [ + 297 + ], + "local-6989586621679129620": [ + 297 + ], + "local-6989586621679129621": [ + 297 + ], + "local-6989586621679129622": [ + 297 + ], + "local-6989586621679129623": [ + 297 + ], + "line-298": [ + 298 + ], + "local-6989586621679129624": [ + 298 + ], + "line-299": [ + 299 + ], + "line-300": [ + 300 + ], + "line-301": [ + 301 + ], + "line-302": [ + 302 + ] + }, + "LibTmux.Internal.Scope": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "TmuxException": [ + 21 + ], + "line-22": [ + 22 + ], + "ServerClosed": [ + 22 + ], + "line-23": [ + 23 + ], + "RuntimeClosed": [ + 23 + ], + "line-24": [ + 24 + ], + "InvalidConfiguration": [ + 24 + ], + "line-25": [ + 25 + ], + "InvalidObservation": [ + 25 + ], + "line-26": [ + 26 + ], + "OperationFailed": [ + 26 + ], + "line-27": [ + 27 + ], + "CleanupFailed": [ + 27 + ], + "line-28": [ + 28 + ], + "local-6989586621679138538": [ + 28 + ], + "local-6989586621679138554": [ + 28 + ], + "local-6989586621679138558": [ + 28 + ], + "line-29": [ + 29 + ], + "local-6989586621679138567": [ + 29 + ], + "local-6989586621679138571": [ + 29 + ], + "local-6989586621679138574": [ + 29 + ], + "local-6989586621679138577": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "CleanupStatus": [ + 33, + 33 + ], + "line-34": [ + 34 + ], + "complete": [ + 34 + ], + "line-35": [ + 35 + ], + "pendingHandles": [ + 35 + ], + "line-36": [ + 36 + ], + "pendingReads": [ + 36 + ], + "line-37": [ + 37 + ], + "unresolved": [ + 37 + ], + "line-38": [ + 38 + ], + "failures": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "local-6989586621679138587": [ + 40 + ], + "local-6989586621679138600": [ + 40 + ], + "local-6989586621679138603": [ + 40 + ], + "line-41": [ + 41 + ], + "line-42": [ + 42 + ], + "Target": [ + 42 + ], + "RuntimeTarget": [ + 42 + ], + "ServerTarget": [ + 42 + ], + "line-43": [ + 43 + ], + "line-44": [ + 44 + ], + "line-45": [ + 45 + ], + "line-46": [ + 46 + ], + "CleanupRecovery": [ + 46, + 46 + ], + "line-47": [ + 47 + ], + "local-6989586621679138614": [ + 47 + ], + "local-6989586621679138619": [ + 47 + ], + "line-48": [ + 48 + ], + "local-6989586621679138621": [ + 48 + ], + "line-49": [ + 49 + ], + "local-6989586621679138626": [ + 49 + ], + "line-50": [ + 50 + ], + "line-51": [ + 51 + ], + "line-52": [ + 52 + ], + "line-53": [ + 53 + ], + "local-6989586621679138438": [ + 53 + ], + "line-54": [ + 54 + ], + "runServerScope": [ + 54 + ], + "local-6989586621679138630": [ + 54 + ], + "local-6989586621679138631": [ + 54 + ], + "line-55": [ + 55 + ], + "line-56": [ + 56 + ], + "local-6989586621679138442": [ + 56 + ], + "line-57": [ + 57 + ], + "runScope": [ + 57 + ], + "local-6989586621679138633": [ + 57 + ], + "line-58": [ + 58 + ], + "line-59": [ + 59 + ], + "local-6989586621679138441": [ + 59 + ], + "line-60": [ + 60 + ], + "runTarget": [ + 60 + ], + "local-6989586621679138654": [ + 60 + ], + "local-6989586621679138655": [ + 60 + ], + "local-6989586621679138657": [ + 60 + ], + "line-61": [ + 61 + ], + "line-62": [ + 62 + ], + "line-63": [ + 63 + ], + "local-6989586621679138658": [ + 63 + ], + "local-6989586621679138659": [ + 63 + ], + "line-64": [ + 64 + ], + "line-65": [ + 65 + ], + "line-66": [ + 66 + ], + "local-6989586621679138661": [ + 66 + ], + "line-67": [ + 67 + ], + "local-6989586621679138663": [ + 67 + ], + "line-68": [ + 68 + ], + "line-69": [ + 69 + ], + "local-6989586621679138665": [ + 69 + ], + "line-70": [ + 70 + ], + "local-6989586621679138666": [ + 70 + ], + "line-71": [ + 71 + ], + "line-72": [ + 72 + ], + "local-6989586621679138670": [ + 72 + ], + "line-73": [ + 73 + ], + "line-74": [ + 74 + ], + "local-6989586621679138671": [ + 74 + ], + "line-75": [ + 75 + ], + "line-76": [ + 76 + ], + "line-77": [ + 77 + ], + "local-6989586621679138675": [ + 77 + ], + "line-78": [ + 78 + ], + "local-6989586621679138676": [ + 78 + ], + "line-79": [ + 79 + ], + "local-6989586621679138679": [ + 79 + ], + "line-80": [ + 80 + ], + "local-6989586621679138680": [ + 80 + ], + "line-81": [ + 81 + ], + "line-82": [ + 82 + ], + "local-6989586621679138681": [ + 82 + ], + "line-83": [ + 83 + ], + "line-84": [ + 84 + ], + "line-85": [ + 85 + ], + "line-86": [ + 86 + ], + "cleanupRecoveries": [ + 86 + ], + "line-87": [ + 87 + ], + "line-88": [ + 88 + ], + "line-89": [ + 89 + ], + "line-90": [ + 90 + ], + "line-91": [ + 91 + ], + "cleanupFailure": [ + 91 + ], + "local-6989586621679138686": [ + 91 + ], + "line-92": [ + 92 + ], + "line-93": [ + 93 + ], + "line-94": [ + 94 + ], + "line-95": [ + 95 + ], + "cleanupObservation": [ + 95 + ], + "local-6989586621679138687": [ + 95 + ], + "line-96": [ + 96 + ], + "line-97": [ + 97 + ], + "line-98": [ + 98 + ], + "line-99": [ + 99 + ], + "inspectCleanup": [ + 99 + ], + "local-6989586621679138688": [ + 99 + ], + "line-100": [ + 100 + ], + "line-101": [ + 101 + ], + "line-102": [ + 102 + ], + "line-103": [ + 103 + ], + "line-104": [ + 104 + ], + "resumeCleanup": [ + 104 + ], + "local-6989586621679138689": [ + 104 + ], + "local-6989586621679138690": [ + 104 + ], + "line-105": [ + 105 + ], + "line-106": [ + 106 + ], + "line-107": [ + 107 + ], + "line-108": [ + 108 + ], + "line-109": [ + 109 + ], + "line-110": [ + 110 + ], + "line-111": [ + 111 + ], + "line-112": [ + 112 + ], + "awaitCleanup": [ + 112 + ], + "local-6989586621679138692": [ + 112 + ], + "local-6989586621679138693": [ + 112 + ], + "line-113": [ + 113 + ], + "line-114": [ + 114 + ], + "line-115": [ + 115 + ], + "line-116": [ + 116 + ], + "line-117": [ + 117 + ], + "detachUnresolved": [ + 117 + ], + "local-6989586621679138695": [ + 117 + ], + "local-6989586621679138696": [ + 117 + ], + "line-118": [ + 118 + ], + "local-6989586621679138697": [ + 118 + ], + "line-119": [ + 119 + ], + "local-6989586621679138699": [ + 119 + ], + "local-6989586621679138700": [ + 119 + ], + "line-120": [ + 120 + ], + "line-121": [ + 121 + ], + "line-122": [ + 122 + ], + "annotated": [ + 122 + ], + "local-6989586621679138702": [ + 122 + ], + "local-6989586621679138703": [ + 122 + ], + "local-6989586621679138704": [ + 122 + ], + "line-123": [ + 123 + ], + "line-124": [ + 124 + ], + "line-125": [ + 125 + ], + "local-6989586621679138469": [ + 125 + ], + "line-126": [ + 126 + ], + "throwCleanup": [ + 126 + ], + "local-6989586621679138711": [ + 126 + ], + "local-6989586621679138712": [ + 126 + ], + "local-6989586621679138713": [ + 126 + ], + "local-6989586621679138714": [ + 126 + ], + "line-127": [ + 127 + ], + "line-128": [ + 128 + ], + "line-129": [ + 129 + ], + "line-130": [ + 130 + ], + "line-131": [ + 131 + ], + "line-132": [ + 132 + ], + "line-133": [ + 133 + ], + "recoverCleanup": [ + 133 + ], + "local-6989586621679138716": [ + 133 + ], + "local-6989586621679138717": [ + 133 + ], + "line-134": [ + 134 + ], + "local-6989586621679138719": [ + 134 + ], + "local-6989586621679138720": [ + 134 + ], + "line-135": [ + 135 + ], + "local-6989586621679138721": [ + 135 + ], + "line-136": [ + 136 + ], + "local-6989586621679138722": [ + 136 + ], + "line-137": [ + 137 + ], + "line-138": [ + 138 + ], + "line-139": [ + 139 + ], + "line-140": [ + 140 + ], + "inspectTarget": [ + 140 + ], + "local-6989586621679138723": [ + 140 + ], + "line-141": [ + 141 + ], + "local-6989586621679138725": [ + 141 + ], + "local-6989586621679138726": [ + 141 + ], + "line-142": [ + 142 + ], + "line-143": [ + 143 + ], + "line-144": [ + 144 + ], + "shutdownTarget": [ + 144 + ], + "local-6989586621679138727": [ + 144 + ], + "line-145": [ + 145 + ], + "local-6989586621679138729": [ + 145 + ], + "local-6989586621679138730": [ + 145 + ], + "line-146": [ + 146 + ], + "line-147": [ + 147 + ], + "line-148": [ + 148 + ], + "awaitTarget": [ + 148 + ], + "local-6989586621679138732": [ + 148 + ], + "line-149": [ + 149 + ], + "local-6989586621679138734": [ + 149 + ], + "local-6989586621679138735": [ + 149 + ], + "line-150": [ + 150 + ], + "line-151": [ + 151 + ], + "line-152": [ + 152 + ], + "observed": [ + 152 + ], + "local-6989586621679138737": [ + 152 + ], + "line-153": [ + 153 + ], + "local-6989586621679138738": [ + 153 + ], + "line-154": [ + 154 + ], + "local-6989586621679138740": [ + 154 + ], + "line-155": [ + 155 + ], + "line-156": [ + 156 + ], + "local-6989586621679138742": [ + 156 + ], + "line-157": [ + 157 + ], + "line-158": [ + 158 + ], + "line-159": [ + 159 + ], + "line-160": [ + 160 + ] + }, + "LibTmux.Internal.TmuxText": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "TmuxText": [ + 21, + 21 + ], + "line-22": [ + 22 + ], + "local-6989586621679129723": [ + 22 + ], + "local-6989586621679129727": [ + 22 + ], + "local-6989586621679129734": [ + 22 + ], + "local-6989586621679129738": [ + 22 + ], + "local-6989586621679129741": [ + 22 + ], + "local-6989586621679129745": [ + 22 + ], + "local-6989586621679129748": [ + 22 + ], + "local-6989586621679129751": [ + 22 + ], + "local-6989586621679129754": [ + 22 + ], + "local-6989586621679129762": [ + 22 + ], + "local-6989586621679129768": [ + 22 + ], + "local-6989586621679129772": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "local-6989586621679129781": [ + 25 + ], + "local-6989586621679129782": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "local-6989586621679129786": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "fromBytes": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "line-36": [ + 36 + ], + "toBytes": [ + 36 + ], + "local-6989586621679129791": [ + 36 + ], + "line-37": [ + 37 + ], + "line-38": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "decodeUtf8": [ + 40 + ], + "line-41": [ + 41 + ] + } +} diff --git a/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Id.html b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Id.html new file mode 100644 index 000000000..cd9b0a4a8 --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Id.html @@ -0,0 +1,14 @@ +LibTmux.Id
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux.Id

Description

Distinct session, physical-window and physical-pane IDs.

Parsing and rendering are pure. An ID carries no endpoint, server lifetime + or liveness evidence. Render an ID for external text; use its numeric + accessor when an application needs the mathematical value.

Start with parseSessionId, parseWindowId or parsePaneId. Each type's + documentation links its parser and renderer. Contextual numeric indices + belong to LibTmux.Value.

>>> :set -XOverloadedStrings
+>>> fmap renderWindowId (parseWindowId "@17")
+Right "@17"
+>>> either (const "rejected") renderPaneId (parsePaneId "@17")
+"rejected"
+

Entity identities

data SessionId Source #

A session's unsigned 32-bit tmux identifier, written with a $ prefix. + Parse with parseSessionId; render with renderSessionId.

Instances

Instances details
NFData SessionId Source # 
Instance details

Defined in LibTmux.Id

Methods

rnf :: SessionId -> () #

Eq SessionId Source # 
Instance details

Defined in LibTmux.Id

Ord SessionId Source # 
Instance details

Defined in LibTmux.Id

Show SessionId Source # 
Instance details

Defined in LibTmux.Id

data WindowId Source #

A physical window's identifier, independent of its session links. + Parse with parseWindowId; render with renderWindowId.

Instances

Instances details
NFData WindowId Source # 
Instance details

Defined in LibTmux.Id

Methods

rnf :: WindowId -> () #

Eq WindowId Source # 
Instance details

Defined in LibTmux.Id

Ord WindowId Source # 
Instance details

Defined in LibTmux.Id

Show WindowId Source # 
Instance details

Defined in LibTmux.Id

data PaneId Source #

A physical pane's identifier, written with a % prefix. + Parse with parsePaneId; render with renderPaneId.

Instances

Instances details
NFData PaneId Source # 
Instance details

Defined in LibTmux.Id

Methods

rnf :: PaneId -> () #

Eq PaneId Source # 
Instance details

Defined in LibTmux.Id

Methods

(==) :: PaneId -> PaneId -> Bool #

(/=) :: PaneId -> PaneId -> Bool #

Ord PaneId Source # 
Instance details

Defined in LibTmux.Id

Show PaneId Source # 
Instance details

Defined in LibTmux.Id

Parse external values

data IdError Source #

Invalid canonical syntax, entity prefix or native unsigned range. + Diagnostics retain at most 64 characters of input.

Constructors

InvalidId 

Fields

Instances

Instances details
Eq IdError Source # 
Instance details

Defined in LibTmux.Id

Methods

(==) :: IdError -> IdError -> Bool #

(/=) :: IdError -> IdError -> Bool #

Show IdError Source # 
Instance details

Defined in LibTmux.Id

parseSessionId :: Text -> Either IdError SessionId Source #

Parse $0 through $4294967295. No whitespace or leading zeroes.

parseWindowId :: Text -> Either IdError WindowId Source #

Parse a canonical @number identifying a physical window.

parsePaneId :: Text -> Either IdError PaneId Source #

Parse a canonical %number identifying a physical pane.

Render target text

renderSessionId :: SessionId -> Text Source #

Render the session prefix and decimal ID.

renderWindowId :: WindowId -> Text Source #

Render the physical window prefix and decimal ID.

renderPaneId :: PaneId -> Text Source #

Render the physical pane prefix and decimal ID.

Read numeric values

sessionIdValue :: SessionId -> Integer Source #

Read the numeric session ID without narrowing conversion.

windowIdValue :: WindowId -> Integer Source #

Read the numeric physical window ID.

paneIdValue :: PaneId -> Integer Source #

Read the numeric physical pane ID.

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-Client.html b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-Client.html new file mode 100644 index 000000000..7c9ffb5df --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-Client.html @@ -0,0 +1,4 @@ +LibTmux.Query.Client
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux.Query.Client

Description

Captured tmux client fields for LibTmux.Query.

Client means an observed tmux client, not the operational Server handle. + The tmux 3.3a baseline captures attached clients. tty can be + absent for a control client; bytes retain endpoint path semantics.

Documentation

name :: Field Client PosixString Source #

Lossless client name supplied by tmux.

pid :: Field Client Integer Source #

Positive operating-system process ID, for observation rather than signalling.

tty :: Field Client (Maybe PosixPath) Source #

Observed client tty, or Nothing when tmux reports no tty.

attachment :: ToOptional Client ClientAttachment Source #

Optional captured selection, used with optionalRelated. Absence fails + that positive predicate and satisfies its negation.

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-ClientAttachment.html b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-ClientAttachment.html new file mode 100644 index 000000000..88862d788 --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-ClientAttachment.html @@ -0,0 +1,3 @@ +LibTmux.Query.ClientAttachment
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux.Query.ClientAttachment

Description

Selected session, window and pane of a captured client.

Use with LibTmux.Query and LibTmux.Query.Client. All tokens describe + the tmux 3.3a baseline. The selected PaneOccurrence keeps the client's + actual window-link index rather than choosing another link to that window.

Documentation

sessionId :: Field ClientAttachment SessionId Source #

Native ID of the selected session.

windowId :: Field ClientAttachment WindowId Source #

Native ID of the selected physical window.

windowIndex :: Field ClientAttachment WindowIndex Source #

Selected link index in the client's session.

paneId :: Field ClientAttachment PaneId Source #

Native ID of the selected physical pane.

session :: ToOne ClientAttachment Session Source #

Selected session observation, used with related.

window :: ToOne ClientAttachment Window Source #

Selected physical window observation.

pane :: ToOne ClientAttachment PaneOccurrence Source #

Selected pane in its actual session/index context.

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-Link.html b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-Link.html new file mode 100644 index 000000000..ed10decf8 --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-Link.html @@ -0,0 +1,3 @@ +LibTmux.Query.Link
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux.Query.Link

Description

Fields and navigation for an observed sessionindexwindow binding.

Use with LibTmux.Query. All tokens belong to the tmux 3.3a baseline. + The same physical window can occur at several indices in one session; + WindowLink retains each appearance. active is contextual to the session.

Documentation

sessionId :: Field WindowLink SessionId Source #

Native ID of the session that owns this observed link.

windowId :: Field WindowLink WindowId Source #

Native ID of the shared physical window.

index :: Field WindowLink WindowIndex Source #

Window-link index within the session; reindexing can change it.

active :: Field WindowLink Bool Source #

Whether this link is selected in its session.

session :: ToOne WindowLink Session Source #

Resolve the session in the supplied snapshot with related.

window :: ToOne WindowLink Window Source #

Resolve the shared physical window in the supplied snapshot.

panes :: ToMany WindowLink Pane Source #

Physical panes reached through this link, ordered by pane index.

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-Occurrence.html b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-Occurrence.html new file mode 100644 index 000000000..d22668683 --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-Occurrence.html @@ -0,0 +1,3 @@ +LibTmux.Query.Occurrence
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux.Query.Occurrence

Description

Context-preserving pane appearances for LibTmux.Query.

These tmux 3.3a baseline relationships read detached PaneOccurrence + values. Filtering occurrences preserves repeated appearances; use the + physical pane source when uniqueness should ignore links.

Documentation

pane :: ToOne PaneOccurrence Pane Source #

The physical pane observed through this occurrence, used with related.

link :: ToOne PaneOccurrence WindowLink Source #

The observed session and window-index context of this appearance.

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-Pane.html b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-Pane.html new file mode 100644 index 000000000..7398819d2 --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-Pane.html @@ -0,0 +1,4 @@ +LibTmux.Query.Pane
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux.Query.Pane

Description

Physical pane fields and its required window relationship.

Use these tokens with LibTmux.Query; each describes an owned Pane + from LibTmux.Snapshot. All are available in the tmux 3.3a baseline. + Text comparisons are exact. Command and path values retain POSIX bytes + from the endpoint rather than promising UTF-8 or local path semantics.

Documentation

id :: Field Pane PaneId Source #

Native pane ID. Equality alone does not establish Server identity.

windowId :: Field Pane WindowId Source #

Native ID of the pane's physical window; use window to navigate it.

index :: Field Pane PaneIndex Source #

Pane index within its window, distinct from a window-link index.

width :: Field Pane Dimension Source #

Positive width in cells. Use dimensionAtLeast for an integer threshold.

height :: Field Pane Dimension Source #

Positive height in cells, independent of window-link context.

active :: Field Pane Bool Source #

Whether this is the active pane of its physical window.

dead :: Field Pane Bool Source #

Whether tmux observed the pane's process as dead.

title :: Field Pane Text Source #

UTF-8 pane title. contains performs exact Text substring matching.

currentCommand :: Field Pane PosixString Source #

Foreground command name as lossless POSIX bytes, not a shell command line.

currentPath :: Field Pane PosixPath Source #

Observed current directory on the tmux endpoint, preserving POSIX bytes.

window :: ToOne Pane Window Source #

Resolve the pane's physical window in the supplied snapshot with related.

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-ServerInfo.html b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-ServerInfo.html new file mode 100644 index 000000000..04cbc7762 --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-ServerInfo.html @@ -0,0 +1,3 @@ +LibTmux.Query.ServerInfo
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux.Query.ServerInfo

Description

Captured daemon metadata for LibTmux.Query.

The tmux 3.3a baseline supplies one ServerInfo per complete snapshot. + PID and start time are diagnostics, not a replacement for generation-bound + references or proof of present liveness.

Documentation

pid :: Field ServerInfo Integer Source #

Observed daemon process ID.

startedAt :: Field ServerInfo Integer Source #

Daemon start time in epoch seconds, as reported by tmux.

version :: Field ServerInfo TmuxVersion Source #

Parsed tmux release, compared using the library's version ordering.

socketPath :: Field ServerInfo PosixPath Source #

Reported socket path on the tmux endpoint, retaining POSIX bytes.

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-Session.html b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-Session.html new file mode 100644 index 000000000..e04779315 --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-Session.html @@ -0,0 +1,3 @@ +LibTmux.Query.Session
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux.Query.Session

Description

Session fields and contextual children for LibTmux.Query.

All tokens describe the tmux 3.3a baseline. windowLinks preserves each + observed index, including several links to one physical window. clients + describes captured attachments and may be a known empty relationship.

Documentation

id :: Field Session SessionId Source #

Native session ID without a connection-generation guarantee.

name :: Field Session Text Source #

Captured UTF-8 session name. Equality does not normalize Unicode.

attached :: Field Session Integer Source #

Nonnegative count of attached clients as observed by tmux.

windowLinks :: ToMany Session WindowLink Source #

Every window link owned by this session, retaining index and multiplicity.

clients :: ToMany Session Client Source #

Captured clients attached to this session; an empty list is known absence.

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-Window.html b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-Window.html new file mode 100644 index 000000000..586fc6242 --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query-Window.html @@ -0,0 +1,4 @@ +LibTmux.Query.Window
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux.Query.Window

Description

Physical window fields and relationships for LibTmux.Query.

Fields describe the tmux 3.3a baseline. A physical Window can have + several windowLinks; its name and pane set are shared across them. + Window names use lossless TmuxText because older supported tmux + releases can retain labels that are not valid UTF-8.

Documentation

id :: Field Window WindowId Source #

Native physical window ID, independent of a session's link index.

name :: Field Window TmuxText Source #

Lossless window label. Equality and ordering compare its retained bytes.

width :: Field Window Dimension Source #

Positive physical window width in cells.

height :: Field Window Dimension Source #

Positive physical window height in cells.

panes :: ToMany Window Pane Source #

Physical panes in this window, ordered by pane index.

windowLinks :: ToMany Window WindowLink Source #

All contextual appearances of this window across captured sessions.

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query.html b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query.html new file mode 100644 index 000000000..79eb47c73 --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Query.html @@ -0,0 +1,67 @@ +LibTmux.Query
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux.Query

Description

Typed selection over detached tmux observations.

Build a Query with a source and matching, then use runQuery to read + an existing Snapshot without IO. fetch explicitly acquires a new + snapshot. Ordinary lists and application predicates remain available + through LibTmux.Snapshot; portable expressions contain no callbacks.

Import field modules qualified: LibTmux.Query.Pane, + LibTmux.Query.Session, LibTmux.Query.Window, LibTmux.Query.Link, + LibTmux.Query.Occurrence, LibTmux.Query.Client, + LibTmux.Query.ClientAttachment and LibTmux.Query.ServerInfo. + Field tokens describe captured values; reading them never contacts tmux.

Query construction, operands and results are finite. Execution validates + every declared requirement before filtering, stably ordering and limiting. + The default source order and multiplicity come from the supplied snapshot. + A result establishes what was observed, not current liveness or a reserved + command target. See exactlyOne before selecting an explicit reference.

>>> exactlyOne [1 :: Integer]
+Right 1
+>>> exactlyOne ([] :: [Integer])
+Left NoMatches
+>>> atMostOne ([] :: [Integer])
+Right Nothing
+>>> atMostOne [1, 2 :: Integer]
+Left AtLeastTwoMatches
+
Synopsis

Descriptions

data Field row value Source #

Fields belong to physical rows or contextual links, never both implicitly.

data Expr row Source #

A pure predicate description for one row type. Field and relationship + tokens retain their identity; arbitrary application functions stay outside + this portable representation. Nominal roles prevent cross-row coercion.

data Query row Source #

A source, predicate, stable ordering and optional final limit. Building a + query performs no IO and retains no Server handle. Use LibTmux.Query to evaluate.

data Order row Source #

One ascending or descending field ordering. Combine keys with orderBy.

data ToMany parent child Source #

A closed one-to-many relationship. Obtain tokens from the entity field + modules and use some, every or none. Constructors are private.

data ToOne parent child Source #

A required relationship in a validated graph, used with related.

data ToOptional parent child Source #

An observed optional relationship, used with optionalRelated. + Known absence is separate from an unavailable relationship.

Ordered sources

sessions :: Query Session Source #

Physical sessions in numeric ID order.

windows :: Query Window Source #

Unique physical windows in numeric ID order, independent of their links.

panes :: Query Pane Source #

Unique physical panes in numeric ID order; use paneOccurrences for context.

windowLinks :: Query WindowLink Source #

Contextual links in session-ID then window-index order, retaining multiplicity.

paneOccurrences :: Query PaneOccurrence Source #

Pane appearances in link order, then pane-index order within each window.

clients :: Query Client Source #

Captured clients in bytewise name order, then PID.

serverInfo :: Query ServerInfo Source #

The single captured daemon-metadata observation.

Scalar predicates

eq :: Eq value => Field row value -> value -> Expr row Source #

Exact equality in the field's declared type. No Unicode normalization, + case folding or byte-to-text conversion is implicit.

oneOf :: Eq value => Field row value -> [value] -> Expr row Source #

Membership using exact equality against a finite operand list. An empty + list never matches, but its field requirement is still validated.

contains :: Field row Text -> Text -> Expr row Source #

Exact, case-sensitive Text substring matching. Byte-bearing fields are + deliberately excluded; use typed equality for their retained values.

ge :: Field row Integer -> Integer -> Expr row Source #

Compare a mathematical Integer field with an unbounded threshold: + greater-or-equal, greater, less-or-equal or less, respectively.

gt :: Field row Integer -> Integer -> Expr row Source #

Compare a mathematical Integer field with an unbounded threshold: + greater-or-equal, greater, less-or-equal or less, respectively.

le :: Field row Integer -> Integer -> Expr row Source #

Compare a mathematical Integer field with an unbounded threshold: + greater-or-equal, greater, less-or-equal or less, respectively.

lt :: Field row Integer -> Integer -> Expr row Source #

Compare a mathematical Integer field with an unbounded threshold: + greater-or-equal, greater, less-or-equal or less, respectively.

dimensionAtLeast :: Field row Dimension -> Integer -> Expr row Source #

Compare a positive cell dimension to an Integer threshold, inclusively. + Negative and arbitrarily large thresholds are valid predicates; they do not + construct a command dimension. Use not_ for a strict opposite bound.

dimensionAtMost :: Field row Dimension -> Integer -> Expr row Source #

Compare a positive cell dimension to an Integer threshold, inclusively. + Negative and arbitrarily large thresholds are valid predicates; they do not + construct a command dimension. Use not_ for a strict opposite bound.

paneIndexAtLeast :: Field row PaneIndex -> Integer -> Expr row Source #

Inclusive bounds on a pane index, without narrowing or constructing an index.

paneIndexAtMost :: Field row PaneIndex -> Integer -> Expr row Source #

Inclusive bounds on a pane index, without narrowing or constructing an index.

windowIndexAtLeast :: Field row WindowIndex -> Integer -> Expr row Source #

Inclusive bounds on a contextual window index, using Integer thresholds.

windowIndexAtMost :: Field row WindowIndex -> Integer -> Expr row Source #

Inclusive bounds on a contextual window index, using Integer thresholds.

Logic and relationships

allOf :: [Expr row] -> Expr row Source #

Finite conjunction and disjunction. Empty lists mean True and False, + respectively. Validation checks every branch before evaluation short-circuits.

anyOf :: [Expr row] -> Expr row Source #

Finite conjunction and disjunction. Empty lists mean True and False, + respectively. Validation checks every branch before evaluation short-circuits.

not_ :: Expr row -> Expr row Source #

Logical negation, preserving the expression's validation requirements.

some :: ToMany row child -> Expr child -> Expr row Source #

Existential, universal or absent matching children. A known empty + relationship yields False, True or True, respectively. The child expression + applies to one child at a time; put conditions inside one allOf when the + same child must satisfy them. Unavailable relationships remain errors.

every :: ToMany row child -> Expr child -> Expr row Source #

Existential, universal or absent matching children. A known empty + relationship yields False, True or True, respectively. The child expression + applies to one child at a time; put conditions inside one allOf when the + same child must satisfy them. Unavailable relationships remain errors.

none :: ToMany row child -> Expr child -> Expr row Source #

Existential, universal or absent matching children. A known empty + relationship yields False, True or True, respectively. The child expression + applies to one child at a time; put conditions inside one allOf when the + same child must satisfy them. Unavailable relationships remain errors.

related :: ToOne row child -> Expr child -> Expr row Source #

Test the required related observation in the supplied snapshot. + A failed lookup returns RelationshipLookupFailed, never False or absence.

optionalRelated :: ToOptional row child -> Expr child -> Expr row Source #

Test a known optional target. Absence yields False, so negation includes + absence as well as targets that fail the child predicate.

Selection and ordering

matching :: Expr row -> Query row -> Query row Source #

Conjoin a predicate with existing predicates without changing the source.

orderBy :: [Order row] -> Query row -> Query row Source #

Replace the ordering keys. Sorting is stable and follows filtering; + an empty key list retains source order. Limits are always applied afterward.

ascending :: Ord value => Field row value -> Order row Source #

Order by the declared field's Ord instance in ascending or descending order. + Text and byte-bearing types retain their own comparison semantics.

descending :: Ord value => Field row value -> Order row Source #

Order by the declared field's Ord instance in ascending or descending order. + Text and byte-bearing types retain their own comparison semantics.

limit :: Natural -> Query row -> Query row Source #

Replace the final nonnegative limit, applied after filtering and ordering + regardless of builder order. A zero limit still validates every requirement.

Inspect and evaluate

data QueryRequirements Source #

Inspectable dependencies, not a serialized query or an optimization plan.

Constructors

QueryRequirements 

Fields

requirements :: Query row -> QueryRequirements Source #

Collect every declared field and relationship, including ordering and + branches that may short-circuit. This is pure and does not contact tmux.

data QueryError Source #

Pure validation or navigation failure. Operational acquisition failures + remain exceptions at the Server boundary rather than becoming empty results.

Constructors

FieldUnavailable !Text

Stable field key unavailable to the evaluator.

RelationshipUnavailable !Text

Stable relationship key unavailable to the evaluator.

RequiresTmux !Text !TmuxVersion !TmuxVersion

Field, required release and observed release.

InvalidFieldRequirement !Text

A catalogue entry has invalid version metadata.

RelationshipLookupFailed !Text !LookupError

Relationship key and the failed pure lookup.

Instances

Instances details
Eq QueryError Source # 
Instance details

Defined in LibTmux.Internal.Query

Show QueryError Source # 
Instance details

Defined in LibTmux.Internal.Query

runQuery :: Snapshot -> Query row -> Either QueryError [row] Source #

Validate and evaluate against the supplied complete snapshot. Every + requirement is checked before reading rows, including empty sources and + zero limits. Consuming a successful result performs only pure processing + of owned observations. No acquisition, pushdown or refresh occurs.

fetch :: Server -> Query row -> IO (Either QueryError [row]) Source #

Acquire a complete fresh snapshot and evaluate the query against it. + Compiled evaluator support is checked before IO; version requirements are + checked against acquired server metadata. Operational failures propagate + as exceptions from capture; use tryTmux to retain their + context and recovery owners. Cancellation propagates unchanged.

This performs one acquisition per call, even when the query is reused or + has a zero limit. Use runQuery to reuse an existing Snapshot. No filter + is pushed into tmux in this implementation.

Cardinality

data CardinalityError Source #

Selection cardinality without retaining observations or counting ambiguity.

Constructors

NoMatches

The selection is empty where one value was required.

AtLeastTwoMatches

A second match exists; no complete count is computed.

exactlyOne :: [row] -> Either CardinalityError row Source #

Require exactly one value. Uniqueness can require traversing the entire + input; ambiguity is established at the second match without forcing its tail. + This neither acquires data nor reserves a live command target.

atMostOne :: [row] -> Either CardinalityError (Maybe row) Source #

Permit absence but reject a second match, with the same traversal behavior + as exactlyOne. Use ordinary listToMaybe when choosing the first is intended.

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Server.html b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Server.html new file mode 100644 index 000000000..58421e324 --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Server.html @@ -0,0 +1,54 @@ +LibTmux.Server
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux.Server

Description

Observe an existing tmux daemon through an owned Server handle.

A Server represents one adoption of one endpoint. withServer owns its + socket pin, native command clients and cleanup workers. Closing this scope + releases those resources; it does not send kill-server. The tmux noun + Client refers to detached observations in LibTmux.Snapshot. + withRuntime and withServerIn give several handles shared resource limits + and independent Server scopes.

capture returns fully decoded, validated values. Field access and graph + navigation are pure. Captures use an observation interval, not an atomic + transaction over tmux and operating-system state.

Operational failures use TmuxException. tryTmux catches that type only. + Cancellation retains its original exception class. If bounded cleanup + cannot finish, cleanupRecoveries retrieves the owning recovery scope + from the exception context. A failed callback remains the primary failure.

Synopsis

Open and observe

data Server Source #

One pinned endpoint and connection generation. + Retaining this value after withServer or withServerIn keeps no admission open.

data ServerConfig Source #

Pure configuration, checked when withServer or withServerIn opens the handle. + Paths retain POSIX bytes; no text decoding or shell interpretation occurs.

Constructors

ServerConfig 

Fields

Instances

Instances details
Eq ServerConfig Source # 
Instance details

Defined in LibTmux.Server

Show ServerConfig Source # 
Instance details

Defined in LibTmux.Server

serverConfig :: PosixPath -> ServerConfig Source #

Configure an existing socket, resolving tmux through PATH when opened. + The private pin uses the socket's parent directory. The capture timeout is + two seconds; callers can change it before opening a Server scope.

withServer :: ServerConfig -> (Server -> IO a) -> IO a Source #

Open one handle, run the callback, then perform bounded owned cleanup. + Cleanup never replaces a callback exception. Incomplete cleanup raises + CleanupFailed after success, or annotates the original callback failure + with a reachable CleanupRecovery. No daemon shutdown is requested.

capture :: Server -> IO Snapshot Source #

Acquire the complete baseline graph, metadata and attached clients. + Returned values own their data and remain usable after withServer exits. + Capacity and acquisition failure are errors; they never become empty lists.

serverGeneration :: Server -> Generation Source #

The handle's opaque generation, available without contacting tmux.

Shared ownership

data Runtime Source #

Shared resource limits and cleanup ownership for Server handles. Create + one with withRuntime, then adopt endpoints through withServerIn. + Detached Snapshot values retain no Runtime.

withRuntime :: (Runtime -> IO a) -> IO a Source #

Own a Runtime for the callback and perform bounded cleanup afterward. + Closing it retires every adopted handle; application-owned threads remain + the application's responsibility. Late adoption fails with RuntimeClosed. + The daemon remains running.

Callback failures and cancellation keep their original exception class. + Incomplete cleanup retains a CleanupRecovery in the exception context; + use tryTmux and cleanupRecoveries to keep that responsibility reachable.

withServerIn :: Runtime -> ServerConfig -> (Server -> IO a) -> IO a Source #

Adopt one endpoint within an existing Runtime and close only that handle + after the callback. Other handles remain admitted under the shared limits; + each adoption has its own serverGeneration. Use withServer for one handle.

Failed adoption can retain a CleanupRecovery before a Server exists. + Inspection, retry and waiting through that owner stay scoped to the failed + adoption. Cleanup preserves application exceptions, incoming masking state + and cancellation; known acquisition failures use TmuxException.

Operational failures

data TmuxException Source #

Library operational failures. Context-preserving catching retains any + cleanup owners; the original application or cancellation exception keeps + its class when the callback itself failed.

Constructors

ServerClosed

Admission through the retained Server handle has closed.

RuntimeClosed

Admission through the retained Runtime has closed.

InvalidConfiguration !Text

Configuration failed before acquisition.

InvalidObservation !Text

Acquired metadata failed final validation.

OperationFailed !SomeException

Known backend failure with its original cause.

CleanupFailed !CleanupStatus !(Maybe SomeException)

Cleanup remained incomplete or its worker could not start.

tryTmux :: IO a -> IO (Either (ExceptionWithContext TmuxException) a) Source #

Catch library failures with their exception context. Retain this value + when handling an error so cleanup and capture owners stay reachable. + Application exceptions and asynchronous cancellation propagate.

Scope cleanup

data CleanupRecovery Source #

Reachable responsibility after an incomplete or failed scope release. + Retaining this value keeps its selected cleanup target and Runtime reachable.

data CleanupStatus Source #

Local observations of the selected physical and logical responsibility. + Each inspection returns new metadata; it performs no tmux operation.

Constructors

CleanupStatus 

Fields

Instances

Instances details
Show CleanupStatus Source # 
Instance details

Defined in LibTmux.Internal.Scope

cleanupRecoveries :: ExceptionContext -> [CleanupRecovery] Source #

Cleanup owners retained by a failed or cancelled scope. The context + comes from tryTmux or tryWithContext. Inspection performs no tmux IO. + Nested scopes can contribute overlapping owners; inspect and resume each + retained responsibility through inspectCleanup and resumeCleanup.

cleanupFailure :: CleanupRecovery -> Maybe SomeException Source #

Exception that interrupted the original cleanup attempt, when there was + one. Pending ownership alone need not have an associated exception.

cleanupObservation :: CleanupRecovery -> CleanupStatus Source #

The cleanup metadata recorded when this recovery owner was attached.

inspectCleanup :: CleanupRecovery -> IO CleanupStatus Source #

Inspect current owned cleanup and logical uncertainty without tmux IO.

resumeCleanup :: CleanupRecovery -> IO CleanupStatus Source #

Retry bounded owned cleanup. An incomplete result retains this owner; + the operation does not retry a tmux command or release logical uncertainty.

awaitCleanup :: CleanupRecovery -> IO CleanupStatus Source #

Wait for this target's physical cleanup, then inspect its logical debt. + The wait has no deadline. + Cancellation or failure preserves an annotated cleanup owner. Use + resumeCleanup when the caller requires a bounded attempt.

detachUnresolved :: CleanupRecovery -> Operation -> IO Bool Source #

Relinquish one logical operation from this cleanup scope. This releases + no native resources and does not prove that daemon-side work completed.

Correlated capture recovery

data CaptureRecovery Source #

A reachable owner for one failed or cancelled capture. The receipt holds + metadata only; the Runtime retains any remaining native and logical owners.

captureRecoveries :: ExceptionContext -> [CaptureRecovery] Source #

Capture owners retained in an exception context, including cancellation.

recoveryOperation :: CaptureRecovery -> Operation Source #

Metadata-only operation identity for the failed capture.

recoveryGeneration :: CaptureRecovery -> Generation Source #

Correlate the failed capture with its Server generation.

data ReadRecovery Source #

Logical responsibility and an operation's physical owners, observed together. + A released native child does not establish a daemon-side command outcome.

Constructors

ReadRecovery 

Fields

Instances

Instances details
Show ReadRecovery Source # 
Instance details

Defined in LibTmux.Internal.Runtime

inspectCaptureRecovery :: CaptureRecovery -> IO ReadRecovery Source #

Observe logical outcome, decoder ownership and native cleanup locally. + This reads runtime metadata and performs no tmux command.

resumeCaptureRecovery :: CaptureRecovery -> IO () Source #

Resume existing cleanup without dispatching the capture again.

detachCaptureRecovery :: CaptureRecovery -> IO Bool Source #

Explicitly detach logical uncertainty while preserving native ownership.

data Operation Source #

Metadata-only operation identity, readable after responsibility retires. + Its owning scope controls advancement and explicit detachment.

Instances

Instances details
Eq Operation Source # 
Instance details

Defined in LibTmux.Internal.Scheduler

Show Operation Source # 
Instance details

Defined in LibTmux.Internal.Scheduler

data Status Source #

Progress, published result and responsibility are independent observations. + A retained uncertain operation still consumes admission and its lane permit.

Constructors

Status 

Fields

Instances

Instances details
Eq Status Source # 
Instance details

Defined in LibTmux.Internal.Scheduler

Methods

(==) :: Status -> Status -> Bool #

(/=) :: Status -> Status -> Bool #

Show Status Source # 
Instance details

Defined in LibTmux.Internal.Scheduler

data Stage Source #

Last observed progress. Publishing an uncertain Outcome does not + advance this stage or establish OperationComplete.

Instances

Instances details
Eq Stage Source # 
Instance details

Defined in LibTmux.Internal.Scheduler

Methods

(==) :: Stage -> Stage -> Bool #

(/=) :: Stage -> Stage -> Bool #

Show Stage Source # 
Instance details

Defined in LibTmux.Internal.Scheduler

Methods

showsPrec :: Int -> Stage -> ShowS #

show :: Stage -> String #

showList :: [Stage] -> ShowS #

data Outcome Source #

First caller result. Later evidence can retire responsibility without + rewriting OutcomeUnknown or ConnectionRetired.

Constructors

Succeeded

Validated successful response and completion proof.

Failed

Validated command failure.

NotDispatched

Proof that the operation was never dispatched.

OutcomeUnknown

Dispatch may have happened; completion remains uncertain.

ConnectionRetired

The connection retired while responsibility remained.

Instances

Instances details
Eq Outcome Source # 
Instance details

Defined in LibTmux.Internal.Scheduler

Methods

(==) :: Outcome -> Outcome -> Bool #

(/=) :: Outcome -> Outcome -> Bool #

Show Outcome Source # 
Instance details

Defined in LibTmux.Internal.Scheduler

operationStatus :: Operation -> IO Status Source #

Read retained operation metadata, including after its physical cleanup.

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Snapshot-Fixture.html b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Snapshot-Fixture.html new file mode 100644 index 000000000..0f7d46be9 --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Snapshot-Fixture.html @@ -0,0 +1,16 @@ +LibTmux.Snapshot.Fixture
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux.Snapshot.Fixture

Description

Build validated detached snapshots for pure application tests.

No operation in this module contacts tmux. Named fixture references can + model successive observations; they never equal a live Server generation. + Snapshot and live-reference constructors remain hidden. + Validation checks graph and metadata laws; wire decoding, tmux normalization + and transport limits belong to acquisition rather than fixture construction.

Start with fixtureOrigin and emptyFixture, construct ordinary observation + records using this module's reference builders, then call validateFixture.

Offline identity

data FixtureOrigin Source #

A named offline namespace. Equal names deliberately compare equal, so + tests can model successive observations. This cannot represent a Server.

fixtureOrigin :: Text -> FixtureOrigin Source #

Select a pure fixture namespace. No endpoint lookup or random IO occurs.

fixtureGeneration :: FixtureOrigin -> Generation Source #

The offline generation for Fixture metadata. Replacing it with a connection + generation causes validateFixture to reject the metadata.

sessionRef :: FixtureOrigin -> SessionId -> SessionRef Source #

Construct a session reference that belongs only to this offline origin.

windowRef :: FixtureOrigin -> WindowId -> WindowRef Source #

Construct a physical window reference without granting live authority.

paneRef :: FixtureOrigin -> PaneId -> PaneRef Source #

Construct a pane reference without consulting or targeting a daemon.

Complete fixture inputs

data Fixture Source #

Ordinary finite inputs. Validation applies the captured graph's laws; + record construction or updates alone do not establish those laws.

Constructors

Fixture 

Fields

Instances

Instances details
Eq Fixture Source # 
Instance details

Defined in LibTmux.Snapshot.Fixture

Methods

(==) :: Fixture -> Fixture -> Bool #

(/=) :: Fixture -> Fixture -> Bool #

Show Fixture Source # 
Instance details

Defined in LibTmux.Snapshot.Fixture

data AttachedClient Source #

An attached client's native identity and context before graph validation. + Validation resolves its values from the same snapshot; it never trusts a + caller-supplied nested attachment record.

Constructors

AttachedClient 

Fields

emptyFixture :: FixtureOrigin -> TmuxVersion -> Fixture Source #

Empty complete inputs with explicit synthetic metadata: PID 1, epoch 0 + and path fixture:offline. No process or socket exists by implication. + The version and every edited field are checked by validateFixture.

Validation

data FixtureError Source #

A failed graph or complete-snapshot validation, with domain + context from the validator. Failed input never becomes an empty snapshot.

Constructors

InvalidGraph !Text

Invalid references, multiplicity, attachment counts or selections.

InvalidSnapshot !Text

Invalid metadata or attached-client context.

Instances

Instances details
Eq FixtureError Source # 
Instance details

Defined in LibTmux.Snapshot.Fixture

Show FixtureError Source # 
Instance details

Defined in LibTmux.Snapshot.Fixture

validateFixture :: FixtureOrigin -> Fixture -> Either FixtureError Snapshot Source #

Validate and force owned values using the capture graph's invariants. + Successful fixtures have no acquisition interval and carry offline + provenance. Their references cannot equal references from a Server scope.

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Snapshot.html b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Snapshot.html new file mode 100644 index 000000000..d06e23271 --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Snapshot.html @@ -0,0 +1,32 @@ +LibTmux.Snapshot
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux.Snapshot

Description

Detached tmux observations and pure navigation.

LibTmux.Server acquires a Snapshot in IO. Every operation in this + module reads owned Haskell values, including after the Server closes. + Use ordinary lists, comprehensions and folds for application predicates.

Window and Pane are physical entities. A WindowLink identifies an + observed sessionindexwindow binding; PaneOccurrence retains that + context. paneOccurrences therefore preserves repeated appearances while + panes lists each physical pane once.

References compare identity within one Server generation. A lookup reads + the supplied snapshot, including a newer snapshot from that same Server. + Independent Server scopes have different generations. Resolve an ID again + with lookupPaneId when deliberately selecting a newly observed entity.

Observation fields are exported for record dot and local updates. Editing + a record does not change a snapshot's indexes or establish provenance. + LibTmux.Snapshot.Fixture constructs validated offline snapshots; + snapshotOrigin distinguishes them from observations acquired through IO.

Synopsis

Complete observations

data Snapshot Source #

Validated metadata, physical graph and attached-client observations. + Construction checks every join and forces owned values. List processing + and indexed lookup remain pure after the operational Server closes.

Instances

Instances details
NFData Snapshot Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

rnf :: Snapshot -> () #

Eq Snapshot Source # 
Instance details

Defined in LibTmux.Internal.Graph

Show Snapshot Source # 
Instance details

Defined in LibTmux.Internal.Graph

data ServerInfo Source #

Reported daemon metadata within one adopted generation. PID and start + time are observations; they do not grant signal authority or durable identity.

Constructors

ServerInfo 

Fields

Instances

Instances details
NFData ServerInfo Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

rnf :: ServerInfo -> () #

Eq ServerInfo Source # 
Instance details

Defined in LibTmux.Internal.Graph

Show ServerInfo Source # 
Instance details

Defined in LibTmux.Internal.Graph

data SnapshotOrigin Source #

Where the validated values were obtained. A server capture does not + establish current liveness. Offline namespaces carry no targeting authority.

Constructors

AcquiredFromTmux

Acquired through an operational Server handle.

DefinedOffline !Text

Constructed and validated in a named fixture namespace.

snapshotOrigin :: Snapshot -> SnapshotOrigin Source #

Inspect provenance without contacting tmux. See + LibTmux.Snapshot.Fixture for validated offline construction.

serverInfo :: Snapshot -> ServerInfo Source #

Daemon metadata captured with this graph.

captureInterval :: Snapshot -> Maybe CaptureInterval Source #

Acquisition bounds attached to a live capture. An unstamped decoded + profile stays private; an offline fixture has no external capture interval.

data CaptureInterval Source #

Monotonic process-clock bounds around acquisition. These values describe + an interval and do not promise an atomic observation or a wall-clock epoch.

Constructors

CaptureInterval 

Fields

Physical and contextual values

data Session Source #

Detached physical session. Navigate its appearances through WindowLink.

Constructors

Session 

Fields

  • ref :: !SessionRef

    Target identity in the observation's generation.

  • name :: !Text

    Session name as reported and decoded by tmux.

  • attached :: !Integer

    Nonnegative reported count, independent of the captured client listing.

Instances

Instances details
NFData Session Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

rnf :: Session -> () #

Eq Session Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

(==) :: Session -> Session -> Bool #

(/=) :: Session -> Session -> Bool #

Show Session Source # 
Instance details

Defined in LibTmux.Internal.Graph

data Window Source #

Detached physical window, independent of its session and index appearances.

Constructors

Window 

Fields

Instances

Instances details
NFData Window Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

rnf :: Window -> () #

Eq Window Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

(==) :: Window -> Window -> Bool #

(/=) :: Window -> Window -> Bool #

Show Window Source # 
Instance details

Defined in LibTmux.Internal.Graph

data Pane Source #

Detached physical pane. Its window can appear in several session contexts; + PaneOccurrence preserves an appearance without duplicating physical identity.

Constructors

Pane 

Fields

Instances

Instances details
NFData Pane Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

rnf :: Pane -> () #

Eq Pane Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

(==) :: Pane -> Pane -> Bool #

(/=) :: Pane -> Pane -> Bool #

Show Pane Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

showsPrec :: Int -> Pane -> ShowS #

show :: Pane -> String #

showList :: [Pane] -> ShowS #

data WindowLink Source #

One observed sessionindexwindow binding. Indices are reusable positions; + this value describes captured context. The same window may appear repeatedly.

Constructors

WindowLink 

Fields

Instances

data PaneOccurrence Source #

A physical pane together with one contextual window appearance.

Constructors

PaneOccurrence 

Fields

  • pane :: !Pane

    Captured physical pane value.

  • link :: !WindowLink

    Session and index context through which it appears.

Instances

Instances details
NFData PaneOccurrence Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

rnf :: PaneOccurrence -> () #

Eq PaneOccurrence Source # 
Instance details

Defined in LibTmux.Internal.Graph

Show PaneOccurrence Source # 
Instance details

Defined in LibTmux.Internal.Graph

data Client Source #

A detached client observation, not an operational connection or live ref. + The live profile lists attached clients; an offline value may be unattached.

Constructors

Client 

Fields

Instances

Instances details
NFData Client Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

rnf :: Client -> () #

Eq Client Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

(==) :: Client -> Client -> Bool #

(/=) :: Client -> Client -> Bool #

Show Client Source # 
Instance details

Defined in LibTmux.Internal.Graph

data ClientAttachment Source #

An attachment contains this capture's values. It never resolves a retained + client name against a later capture. The pane is the session window's global + active pane, not an independent client focus; its link retains session context.

Constructors

ClientAttachment 

Fields

Target identity

data Generation Source #

Opaque connection or offline-fixture identity. Independent Server handles + receive distinct tokens; named fixtures never equal an adopted endpoint.

data SessionRef Source #

Session targeting identity within a Generation. Compare observations + separately when their captured field values matter.

data WindowRef Source #

Physical window targeting identity within a Generation. A window can + have several WindowLink appearances.

Instances

Instances details
NFData WindowRef Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

rnf :: WindowRef -> () #

Eq WindowRef Source # 
Instance details

Defined in LibTmux.Internal.Graph

Ord WindowRef Source # 
Instance details

Defined in LibTmux.Internal.Graph

Show WindowRef Source # 
Instance details

Defined in LibTmux.Internal.Graph

data PaneRef Source #

Physical pane targeting identity within a Generation. This carries + identity, while the supplied Snapshot determines the observed values.

Instances

Instances details
NFData PaneRef Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

rnf :: PaneRef -> () #

Eq PaneRef Source # 
Instance details

Defined in LibTmux.Internal.Graph

Methods

(==) :: PaneRef -> PaneRef -> Bool #

(/=) :: PaneRef -> PaneRef -> Bool #

Ord PaneRef Source # 
Instance details

Defined in LibTmux.Internal.Graph

Show PaneRef Source # 
Instance details

Defined in LibTmux.Internal.Graph

sessionId :: SessionRef -> SessionId Source #

Native session ID, without the reference's generation guarantee.

windowId :: WindowRef -> WindowId Source #

Native physical window ID. Window-link indices are separate values.

paneId :: PaneRef -> PaneId Source #

Native pane ID. Comparing IDs alone does not compare Server identity.

Ordered sources

sessions :: Snapshot -> [Session] Source #

Physical sessions in numeric ID order.

windows :: Snapshot -> [Window] Source #

Physical windows in numeric ID order, independent of their links.

panes :: Snapshot -> [Pane] Source #

Physical panes in numeric ID order. Use paneOccurrences for link context.

windowLinks :: Snapshot -> [WindowLink] Source #

Window appearances in session ID and window-index order.

paneOccurrences :: Snapshot -> [PaneOccurrence] Source #

Every pane appearance, ordered by link and then pane index.

clients :: Snapshot -> [Client] Source #

Captured attached clients in reported-name and PID order. Names may repeat.

Indexed navigation

data LookupError Source #

A reference that cannot resolve in the supplied immutable snapshot. + Missing entities are distinct from a successfully observed empty relation.

Constructors

ForeignGeneration

The reference belongs to another connection generation.

MissingSession !SessionRef

No session with this identity was captured.

MissingWindow !WindowRef

No physical window with this identity was captured.

MissingPane !PaneRef

No physical pane with this identity was captured.

Instances

Instances details
Eq LookupError Source # 
Instance details

Defined in LibTmux.Internal.Graph

Show LookupError Source # 
Instance details

Defined in LibTmux.Internal.Graph

lookupSession :: Snapshot -> SessionRef -> Either LookupError Session Source #

Resolve a session in this snapshot. Missing and foreign refs are errors.

lookupWindow :: Snapshot -> WindowRef -> Either LookupError Window Source #

Resolve the supplied generation's physical window in this snapshot.

lookupPane :: Snapshot -> PaneRef -> Either LookupError Pane Source #

Resolve the supplied generation's physical pane in this snapshot.

linksForSession :: Snapshot -> SessionRef -> Either LookupError [WindowLink] Source #

A session's window links in window-index order, preserving repeated windows.

panesForWindow :: Snapshot -> WindowRef -> Either LookupError [Pane] Source #

A physical window's panes in pane-index order, then numeric ID order.

lookupSessionId :: Snapshot -> SessionId -> Either LookupError Session Source #

Select the session currently observed under an ID in this snapshot. + This creates no continuity guarantee with a previously opened Server.

lookupWindowId :: Snapshot -> WindowId -> Either LookupError Window Source #

Select the physical window observed under an ID in this snapshot.

lookupPaneId :: Snapshot -> PaneId -> Either LookupError Pane Source #

Select the pane observed under an ID in this snapshot.

Lossless labels

data TmuxText Source #

A lossless reported label. Equality and ordering compare bytes. + String literals use UTF-8; byte constructors also admit non-text data. + Conversion functions are exposed in LibTmux.Snapshot.

Instances

Instances details
NFData TmuxText Source # 
Instance details

Defined in LibTmux.Internal.TmuxText

Methods

rnf :: TmuxText -> () #

Eq TmuxText Source # 
Instance details

Defined in LibTmux.Internal.TmuxText

Ord TmuxText Source # 
Instance details

Defined in LibTmux.Internal.TmuxText

IsString TmuxText Source # 
Instance details

Defined in LibTmux.Internal.TmuxText

Show TmuxText Source # 
Instance details

Defined in LibTmux.Internal.TmuxText

labelFromBytes :: ByteString -> TmuxText Source #

Copy bytes into an owned label. This performs no encoding replacement.

labelBytes :: TmuxText -> ByteString Source #

Exact bytes reported by tmux, after transport decoding.

labelText :: TmuxText -> Either UnicodeException Text Source #

Decode a label as UTF-8, retaining byte access on failure.

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Value.html b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Value.html new file mode 100644 index 000000000..2ef57c688 --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Value.html @@ -0,0 +1,14 @@ +LibTmux.Value
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux.Value

Description

Positive dimensions and nonnegative contextual indices.

Construction and access are pure. Window-link indices and pane indices + have distinct types; neither substitutes for an entity ID. A constructor + checks the mathematical domain, while command-specific limits belong at + the operation boundary. Use mkDimension, mkWindowIndex and mkPaneIndex + to validate input; their accessors return mathematical integers. Entity + identifiers belong to LibTmux.Id.

>>> fmap dimensionValue (mkDimension 120)
+Right 120
+>>> mkDimension 0
+Left (NonPositiveDimension 0)
+

Checked types

data Dimension Source #

Positive cells, constructed with mkDimension. Command and field limits + are checked separately. Compare dimensions directly or use dimensionValue + with an integer literal.

Instances

Instances details
NFData Dimension Source # 
Instance details

Defined in LibTmux.Value

Methods

rnf :: Dimension -> () #

Eq Dimension Source # 
Instance details

Defined in LibTmux.Value

Ord Dimension Source # 
Instance details

Defined in LibTmux.Value

Show Dimension Source # 
Instance details

Defined in LibTmux.Value

data WindowIndex Source #

Nonnegative index of a window link within a session, not a physical window ID. + Construct with mkWindowIndex; read with windowIndexValue.

Instances

Instances details
NFData WindowIndex Source # 
Instance details

Defined in LibTmux.Value

Methods

rnf :: WindowIndex -> () #

Eq WindowIndex Source # 
Instance details

Defined in LibTmux.Value

Ord WindowIndex Source # 
Instance details

Defined in LibTmux.Value

Show WindowIndex Source # 
Instance details

Defined in LibTmux.Value

data PaneIndex Source #

Nonnegative pane index within a window, not a pane ID. + Construct with mkPaneIndex; read with paneIndexValue.

Instances

Instances details
NFData PaneIndex Source # 
Instance details

Defined in LibTmux.Value

Methods

rnf :: PaneIndex -> () #

Eq PaneIndex Source # 
Instance details

Defined in LibTmux.Value

Ord PaneIndex Source # 
Instance details

Defined in LibTmux.Value

Show PaneIndex Source # 
Instance details

Defined in LibTmux.Value

Validate input

data ValueError Source #

A scalar outside its mathematical domain.

Constructors

NonPositiveDimension !Integer

The supplied dimension was zero or negative.

NegativeIndex !Integer

The supplied contextual index was negative.

Instances

Instances details
Eq ValueError Source # 
Instance details

Defined in LibTmux.Value

Show ValueError Source # 
Instance details

Defined in LibTmux.Value

mkDimension :: Integer -> Either ValueError Dimension Source #

Construct a positive dimension without applying a command-specific maximum.

mkWindowIndex :: Integer -> Either ValueError WindowIndex Source #

Construct a nonnegative window-link index.

mkPaneIndex :: Integer -> Either ValueError PaneIndex Source #

Construct a nonnegative pane index.

Read numeric values

dimensionValue :: Dimension -> Integer Source #

Read a dimension as a mathematical integer, without narrowing conversion.

windowIndexValue :: WindowIndex -> Integer Source #

Read a window-link index as a mathematical integer.

paneIndexValue :: PaneIndex -> Integer Source #

Read a pane index as a mathematical integer.

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Version.html b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Version.html new file mode 100644 index 000000000..95c5d96ac --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-query-native/LibTmux-Version.html @@ -0,0 +1,12 @@ +LibTmux.Version
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux.Version

Description

Parse stable tmux releases and check the supported release range.

These functions consume supplied text. They neither execute tmux -V + nor contact a server. Admission checks the inclusive 3.3a through 3.8 range; + individual features still need capability and conformance checks.

Use parseVersion for input, requireSupported for supported-range + admission and renderVersion for canonical output.

>>> :set -XOverloadedStrings
+>>> fmap renderVersion (parseVersion "tmux 3.3a\n" >>= requireSupported)
+Right "3.3a"
+

Release identity and errors

data TmuxVersion Source #

A stable release, constructed by parseVersion and rendered by + renderVersion. Ordering compares numeric components before the patch letter.

data VersionError Source #

Invalid release syntax or a release outside the supported range.

Constructors

MalformedVersion !Text

Bounded copy of input that is not a stable release.

UnsupportedVersion !TmuxVersion

A stable release outside 3.3a through 3.8.

Instances

Instances details
Eq VersionError Source # 
Instance details

Defined in LibTmux.Version

Show VersionError Source # 
Instance details

Defined in LibTmux.Version

Parse and render

parseVersion :: Text -> Either VersionError TmuxVersion Source #

Parse a stable release or the output of tmux -V, allowing one final LF. + Development builds and trailing data are rejected rather than assigned + capabilities from a guessed stable version. Diagnostics retain at most 64 chars.

renderVersion :: TmuxVersion -> Text Source #

Render the canonical release without the executable name or newline.

Admit a release

requireSupported :: TmuxVersion -> Either VersionError TmuxVersion Source #

Admit every stable release from 3.3a through 3.8, including intermediate + releases. Versions outside that range fail. Individual features need their own + capability checks; passing this check does not qualify an entire release.

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-query-native/LibTmux.html b/packages/api-model/test/fixtures/haskell-query-native/LibTmux.html new file mode 100644 index 000000000..609010abf --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-query-native/LibTmux.html @@ -0,0 +1,6 @@ +LibTmux
libtmux-haskell
Safe HaskellNone
LanguageGHC2024

LibTmux

Description

Capture tmux state in IO and process detached observations with ordinary + Haskell collections. Start with withServer and capture; navigation and + field access from LibTmux.Snapshot perform no external operations.

LibTmux.Server documents ownership and failure recovery. Typed IDs, + checked dimensions and supported releases have their own pure modules. + LibTmux.Query provides qualified typed descriptions over the same + snapshots; query source names are separate from collection access here.

Documentation

module LibTmux.Id

\ No newline at end of file diff --git a/packages/api-model/test/fixtures/haskell-query-native/README.md b/packages/api-model/test/fixtures/haskell-query-native/README.md new file mode 100644 index 000000000..bcde99890 --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-query-native/README.md @@ -0,0 +1,20 @@ +# Native query interface fixture + +These public Haddock pages and the installed interface describe +[`libtmux-haskell` at the recorded revision](https://github.com/libtmux/libtmux-haskell/commit/fb86b60139795746e8964643a4f048fcd8a63d14). +The qualified GHC/Haddock build exposes sixteen modules. Every consumed source +page was checked against committed bytes after excluding generated annotation +tooltips. `provenance.json` identifies the source and module inventory. + +The fixture preserves native type parameters, constraints, signatures, field +owners and module links. It includes the generator's default Documentation +sections where a field module has no authored export groups. Private defining +files provide source locations, without becoming public reference modules. + +The native source identifier for the `Order` type also names its private +constructor. Its source link retains the defining file; the exporter does not +invent a unique line for that ambiguous target. + +The scalar and seven-module observation fixtures remain separate qualification +inputs. This fixture adds the public query interface; it exposes no query AST +constructors or private mutation methods. diff --git a/packages/api-model/test/fixtures/haskell-query-native/artifact.json b/packages/api-model/test/fixtures/haskell-query-native/artifact.json new file mode 100644 index 000000000..60fcfa336 --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-query-native/artifact.json @@ -0,0 +1,21487 @@ +{ + "compiler": "9.14.1", + "component": "lib:libtmux-haskell", + "haddock": "2.33.0", + "modules": [ + { + "groups": [], + "name": "LibTmux", + "reexports": [ + { + "href": "LibTmux-Server.html", + "module": "LibTmux.Server" + }, + { + "href": "LibTmux-Snapshot.html", + "module": "LibTmux.Snapshot" + }, + { + "href": "LibTmux-Id.html", + "module": "LibTmux.Id" + }, + { + "href": "LibTmux-Value.html", + "module": "LibTmux.Value" + }, + { + "href": "LibTmux-Version.html", + "module": "LibTmux.Version" + } + ] + }, + { + "groups": [ + { + "members": [ + "LibTmux.Id#t:SessionId", + "LibTmux.Id#t:WindowId", + "LibTmux.Id#t:PaneId" + ], + "title": "Entity identities" + }, + { + "members": [ + "LibTmux.Id#t:IdError", + "LibTmux.Id#v:parseSessionId", + "LibTmux.Id#v:parseWindowId", + "LibTmux.Id#v:parsePaneId" + ], + "title": "Parse external values" + }, + { + "members": [ + "LibTmux.Id#v:renderSessionId", + "LibTmux.Id#v:renderWindowId", + "LibTmux.Id#v:renderPaneId" + ], + "title": "Render target text" + }, + { + "members": [ + "LibTmux.Id#v:sessionIdValue", + "LibTmux.Id#v:windowIdValue", + "LibTmux.Id#v:paneIdValue" + ], + "title": "Read numeric values" + } + ], + "name": "LibTmux.Id", + "reexports": [] + }, + { + "groups": [ + { + "members": [ + "LibTmux.Query#t:Field", + "LibTmux.Query#t:Expr", + "LibTmux.Query#t:Query", + "LibTmux.Query#t:Order", + "LibTmux.Query#t:ToMany", + "LibTmux.Query#t:ToOne", + "LibTmux.Query#t:ToOptional" + ], + "title": "Descriptions" + }, + { + "members": [ + "LibTmux.Query#v:sessions", + "LibTmux.Query#v:windows", + "LibTmux.Query#v:panes", + "LibTmux.Query#v:windowLinks", + "LibTmux.Query#v:paneOccurrences", + "LibTmux.Query#v:clients", + "LibTmux.Query#v:serverInfo" + ], + "title": "Ordered sources" + }, + { + "members": [ + "LibTmux.Query#v:eq", + "LibTmux.Query#v:oneOf", + "LibTmux.Query#v:contains", + "LibTmux.Query#v:ge", + "LibTmux.Query#v:gt", + "LibTmux.Query#v:le", + "LibTmux.Query#v:lt", + "LibTmux.Query#v:dimensionAtLeast", + "LibTmux.Query#v:dimensionAtMost", + "LibTmux.Query#v:paneIndexAtLeast", + "LibTmux.Query#v:paneIndexAtMost", + "LibTmux.Query#v:windowIndexAtLeast", + "LibTmux.Query#v:windowIndexAtMost" + ], + "title": "Scalar predicates" + }, + { + "members": [ + "LibTmux.Query#v:allOf", + "LibTmux.Query#v:anyOf", + "LibTmux.Query#v:not_", + "LibTmux.Query#v:some", + "LibTmux.Query#v:every", + "LibTmux.Query#v:none", + "LibTmux.Query#v:related", + "LibTmux.Query#v:optionalRelated" + ], + "title": "Logic and relationships" + }, + { + "members": [ + "LibTmux.Query#v:matching", + "LibTmux.Query#v:orderBy", + "LibTmux.Query#v:ascending", + "LibTmux.Query#v:descending", + "LibTmux.Query#v:limit" + ], + "title": "Selection and ordering" + }, + { + "members": [ + "LibTmux.Query#t:QueryRequirements", + "LibTmux.Query#v:requirements", + "LibTmux.Query#t:QueryError", + "LibTmux.Query#v:runQuery", + "LibTmux.Query#v:fetch" + ], + "title": "Inspect and evaluate" + }, + { + "members": [ + "LibTmux.Query#t:CardinalityError", + "LibTmux.Query#v:exactlyOne", + "LibTmux.Query#v:atMostOne" + ], + "title": "Cardinality" + } + ], + "name": "LibTmux.Query", + "reexports": [] + }, + { + "groups": [ + { + "members": [ + "LibTmux.Query.Client#v:name", + "LibTmux.Query.Client#v:pid", + "LibTmux.Query.Client#v:tty", + "LibTmux.Query.Client#v:attachment" + ], + "title": "Documentation" + } + ], + "name": "LibTmux.Query.Client", + "reexports": [] + }, + { + "groups": [ + { + "members": [ + "LibTmux.Query.ClientAttachment#v:sessionId", + "LibTmux.Query.ClientAttachment#v:windowId", + "LibTmux.Query.ClientAttachment#v:windowIndex", + "LibTmux.Query.ClientAttachment#v:paneId", + "LibTmux.Query.ClientAttachment#v:session", + "LibTmux.Query.ClientAttachment#v:window", + "LibTmux.Query.ClientAttachment#v:pane" + ], + "title": "Documentation" + } + ], + "name": "LibTmux.Query.ClientAttachment", + "reexports": [] + }, + { + "groups": [ + { + "members": [ + "LibTmux.Query.Link#v:sessionId", + "LibTmux.Query.Link#v:windowId", + "LibTmux.Query.Link#v:index", + "LibTmux.Query.Link#v:active", + "LibTmux.Query.Link#v:session", + "LibTmux.Query.Link#v:window", + "LibTmux.Query.Link#v:panes" + ], + "title": "Documentation" + } + ], + "name": "LibTmux.Query.Link", + "reexports": [] + }, + { + "groups": [ + { + "members": [ + "LibTmux.Query.Occurrence#v:pane", + "LibTmux.Query.Occurrence#v:link" + ], + "title": "Documentation" + } + ], + "name": "LibTmux.Query.Occurrence", + "reexports": [] + }, + { + "groups": [ + { + "members": [ + "LibTmux.Query.Pane#v:id", + "LibTmux.Query.Pane#v:windowId", + "LibTmux.Query.Pane#v:index", + "LibTmux.Query.Pane#v:width", + "LibTmux.Query.Pane#v:height", + "LibTmux.Query.Pane#v:active", + "LibTmux.Query.Pane#v:dead", + "LibTmux.Query.Pane#v:title", + "LibTmux.Query.Pane#v:currentCommand", + "LibTmux.Query.Pane#v:currentPath", + "LibTmux.Query.Pane#v:window" + ], + "title": "Documentation" + } + ], + "name": "LibTmux.Query.Pane", + "reexports": [] + }, + { + "groups": [ + { + "members": [ + "LibTmux.Query.ServerInfo#v:pid", + "LibTmux.Query.ServerInfo#v:startedAt", + "LibTmux.Query.ServerInfo#v:version", + "LibTmux.Query.ServerInfo#v:socketPath" + ], + "title": "Documentation" + } + ], + "name": "LibTmux.Query.ServerInfo", + "reexports": [] + }, + { + "groups": [ + { + "members": [ + "LibTmux.Query.Session#v:id", + "LibTmux.Query.Session#v:name", + "LibTmux.Query.Session#v:attached", + "LibTmux.Query.Session#v:windowLinks", + "LibTmux.Query.Session#v:clients" + ], + "title": "Documentation" + } + ], + "name": "LibTmux.Query.Session", + "reexports": [] + }, + { + "groups": [ + { + "members": [ + "LibTmux.Query.Window#v:id", + "LibTmux.Query.Window#v:name", + "LibTmux.Query.Window#v:width", + "LibTmux.Query.Window#v:height", + "LibTmux.Query.Window#v:panes", + "LibTmux.Query.Window#v:windowLinks" + ], + "title": "Documentation" + } + ], + "name": "LibTmux.Query.Window", + "reexports": [] + }, + { + "groups": [ + { + "members": [ + "LibTmux.Server#t:Server", + "LibTmux.Server#t:ServerConfig", + "LibTmux.Server#v:serverConfig", + "LibTmux.Server#v:withServer", + "LibTmux.Server#v:capture", + "LibTmux.Server#v:serverGeneration" + ], + "title": "Open and observe" + }, + { + "members": [ + "LibTmux.Server#t:Runtime", + "LibTmux.Server#v:withRuntime", + "LibTmux.Server#v:withServerIn" + ], + "title": "Shared ownership" + }, + { + "members": [ + "LibTmux.Server#t:TmuxException", + "LibTmux.Server#v:tryTmux" + ], + "title": "Operational failures" + }, + { + "members": [ + "LibTmux.Server#t:CleanupRecovery", + "LibTmux.Server#t:CleanupStatus", + "LibTmux.Server#v:cleanupRecoveries", + "LibTmux.Server#v:cleanupFailure", + "LibTmux.Server#v:cleanupObservation", + "LibTmux.Server#v:inspectCleanup", + "LibTmux.Server#v:resumeCleanup", + "LibTmux.Server#v:awaitCleanup", + "LibTmux.Server#v:detachUnresolved" + ], + "title": "Scope cleanup" + }, + { + "members": [ + "LibTmux.Server#t:CaptureRecovery", + "LibTmux.Server#v:captureRecoveries", + "LibTmux.Server#v:recoveryOperation", + "LibTmux.Server#v:recoveryGeneration", + "LibTmux.Server#t:ReadRecovery", + "LibTmux.Server#v:inspectCaptureRecovery", + "LibTmux.Server#v:resumeCaptureRecovery", + "LibTmux.Server#v:detachCaptureRecovery", + "LibTmux.Server#t:Operation", + "LibTmux.Server#t:Status", + "LibTmux.Server#t:Stage", + "LibTmux.Server#t:Outcome", + "LibTmux.Server#v:operationStatus" + ], + "title": "Correlated capture recovery" + } + ], + "name": "LibTmux.Server", + "reexports": [] + }, + { + "groups": [ + { + "members": [ + "LibTmux.Snapshot#t:Snapshot", + "LibTmux.Snapshot#t:ServerInfo", + "LibTmux.Snapshot#t:SnapshotOrigin", + "LibTmux.Snapshot#v:snapshotOrigin", + "LibTmux.Snapshot#v:serverInfo", + "LibTmux.Snapshot#v:captureInterval", + "LibTmux.Snapshot#t:CaptureInterval" + ], + "title": "Complete observations" + }, + { + "members": [ + "LibTmux.Snapshot#t:Session", + "LibTmux.Snapshot#t:Window", + "LibTmux.Snapshot#t:Pane", + "LibTmux.Snapshot#t:WindowLink", + "LibTmux.Snapshot#t:PaneOccurrence", + "LibTmux.Snapshot#t:Client", + "LibTmux.Snapshot#t:ClientAttachment" + ], + "title": "Physical and contextual values" + }, + { + "members": [ + "LibTmux.Snapshot#t:Generation", + "LibTmux.Snapshot#t:SessionRef", + "LibTmux.Snapshot#t:WindowRef", + "LibTmux.Snapshot#t:PaneRef", + "LibTmux.Snapshot#v:sessionId", + "LibTmux.Snapshot#v:windowId", + "LibTmux.Snapshot#v:paneId" + ], + "title": "Target identity" + }, + { + "members": [ + "LibTmux.Snapshot#v:sessions", + "LibTmux.Snapshot#v:windows", + "LibTmux.Snapshot#v:panes", + "LibTmux.Snapshot#v:windowLinks", + "LibTmux.Snapshot#v:paneOccurrences", + "LibTmux.Snapshot#v:clients" + ], + "title": "Ordered sources" + }, + { + "members": [ + "LibTmux.Snapshot#t:LookupError", + "LibTmux.Snapshot#v:lookupSession", + "LibTmux.Snapshot#v:lookupWindow", + "LibTmux.Snapshot#v:lookupPane", + "LibTmux.Snapshot#v:linksForSession", + "LibTmux.Snapshot#v:panesForWindow", + "LibTmux.Snapshot#v:lookupSessionId", + "LibTmux.Snapshot#v:lookupWindowId", + "LibTmux.Snapshot#v:lookupPaneId" + ], + "title": "Indexed navigation" + }, + { + "members": [ + "LibTmux.Snapshot#t:TmuxText", + "LibTmux.Snapshot#v:labelFromBytes", + "LibTmux.Snapshot#v:labelBytes", + "LibTmux.Snapshot#v:labelText" + ], + "title": "Lossless labels" + } + ], + "name": "LibTmux.Snapshot", + "reexports": [] + }, + { + "groups": [ + { + "members": [ + "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "LibTmux.Snapshot.Fixture#v:fixtureOrigin", + "LibTmux.Snapshot.Fixture#v:fixtureGeneration", + "LibTmux.Snapshot.Fixture#v:sessionRef", + "LibTmux.Snapshot.Fixture#v:windowRef", + "LibTmux.Snapshot.Fixture#v:paneRef" + ], + "title": "Offline identity" + }, + { + "members": [ + "LibTmux.Snapshot.Fixture#t:Fixture", + "LibTmux.Snapshot.Fixture#t:AttachedClient", + "LibTmux.Snapshot.Fixture#v:emptyFixture" + ], + "title": "Complete fixture inputs" + }, + { + "members": [ + "LibTmux.Snapshot.Fixture#t:FixtureError", + "LibTmux.Snapshot.Fixture#v:validateFixture" + ], + "title": "Validation" + } + ], + "name": "LibTmux.Snapshot.Fixture", + "reexports": [] + }, + { + "groups": [ + { + "members": [ + "LibTmux.Value#t:Dimension", + "LibTmux.Value#t:WindowIndex", + "LibTmux.Value#t:PaneIndex" + ], + "title": "Checked types" + }, + { + "members": [ + "LibTmux.Value#t:ValueError", + "LibTmux.Value#v:mkDimension", + "LibTmux.Value#v:mkWindowIndex", + "LibTmux.Value#v:mkPaneIndex" + ], + "title": "Validate input" + }, + { + "members": [ + "LibTmux.Value#v:dimensionValue", + "LibTmux.Value#v:windowIndexValue", + "LibTmux.Value#v:paneIndexValue" + ], + "title": "Read numeric values" + } + ], + "name": "LibTmux.Value", + "reexports": [] + }, + { + "groups": [ + { + "members": [ + "LibTmux.Version#t:TmuxVersion", + "LibTmux.Version#t:VersionError" + ], + "title": "Release identity and errors" + }, + { + "members": [ + "LibTmux.Version#v:parseVersion", + "LibTmux.Version#v:renderVersion" + ], + "title": "Parse and render" + }, + { + "members": [ + "LibTmux.Version#v:requireSupported" + ], + "title": "Admit a release" + } + ], + "name": "LibTmux.Version", + "reexports": [] + } + ], + "nativeProvenance": { + "exporter": { + "build": { + "cabal": "3.18.2.0", + "compiler": "ghc-9.14.1", + "platform": "x86_64-linux", + "unit": "libtmux-haskell-0.1.0.0-inplace" + }, + "interfaceStream": "stderr", + "name": "Haddock public interface export", + "nativeArtifacts": [ + { + "path": "LibTmux-Id.html", + "sha256": "cf7102eba62a0e9b02e7ea7acefb85d1822a4d192a1fceb680246ed42bd10d45" + }, + { + "path": "LibTmux-Query-Client.html", + "sha256": "841c8d5a537f3d06d0f7a4a192c7922bf88bdbfbc0e6027143f0a36464826d8b" + }, + { + "path": "LibTmux-Query-ClientAttachment.html", + "sha256": "fc039ad4e8e5f78703a4fd47abb7691edd8e6a63ea4421f7fd944899c98f6204" + }, + { + "path": "LibTmux-Query-Link.html", + "sha256": "1dfbdc7a40b484dd04c7a949fc88ff4d28d405e95707900d5231cd17ab522fdf" + }, + { + "path": "LibTmux-Query-Occurrence.html", + "sha256": "792f12ae0bbc792264ad9261b94070046cc31ee8bd20a3b6ec34bf742249ae9a" + }, + { + "path": "LibTmux-Query-Pane.html", + "sha256": "036fcb94031ed3818ba7dc372e1950d706c1a66c359db35d833156c553054c03" + }, + { + "path": "LibTmux-Query-ServerInfo.html", + "sha256": "1df595aa9f3a7bb189165062f1c59047598b313502ec6252dbc285ab30fc4888" + }, + { + "path": "LibTmux-Query-Session.html", + "sha256": "b7a7b61ae49403b4bf7eeaa5be68371f6e216afa0748c4041c8244d0409155e4" + }, + { + "path": "LibTmux-Query-Window.html", + "sha256": "aaa13d0c47e88ed2551aeb7c45e19c506e262a87c75d627c21b7ff3ef9b74705" + }, + { + "path": "LibTmux-Query.html", + "sha256": "0c77ec7728fcaddd2d4a35744ba3da1270b265e77efe9212fdc0ad9aa0f6d4f1" + }, + { + "path": "LibTmux-Server.html", + "sha256": "ea41128f95487a63c251630abbbe3587153ec01b896ca703be97815458e61dc8" + }, + { + "path": "LibTmux-Snapshot-Fixture.html", + "sha256": "9d0939a019c99f33119619f0c424a87fea6e87abbd0a8ade758d78e05ae53a7c" + }, + { + "path": "LibTmux-Snapshot.html", + "sha256": "1f842b842539860588b079367edede8eb65986ed23a695bb3c9dc592af911a10" + }, + { + "path": "LibTmux-Value.html", + "sha256": "4160151534c27a8c787c9ab36fa6dcbf740fc193a7a3553935172be72111ff1d" + }, + { + "path": "LibTmux-Version.html", + "sha256": "3461a42be3733565d16ab18cf3b729e41eab6ef20e87c90b2ca10fa993999510" + }, + { + "path": "LibTmux.html", + "sha256": "a92d346516db99e4d4086fd9b4322c363eb5bc5a155ce28264e07eafac0c9e15" + }, + { + "path": "interface.haddock", + "sha256": "f1b379ffb656b6092d26960513ce994c6e000ad1e381285e93c2e427eba3d745" + }, + { + "path": "interface.json", + "sha256": "c1253b84879a0675e7ce6eac66135343bc9eb838416cad730087b605c40a06f6" + }, + { + "path": "src/LibTmux.Id.html", + "sha256": "4ffe3b428181e97542f140f27d29b4886487f3e42932a71de1c49027ce82379c" + }, + { + "path": "src/LibTmux.Internal.Capture.html", + "sha256": "39717a61c3d14c25bb35e1de8674e58d2ed6541f3e402fd88b9bae4b15861935" + }, + { + "path": "src/LibTmux.Internal.Field.html", + "sha256": "6c9ee76d4aea3fe98c1a385f5b3045e9bc90c6415bcb09028e55a61ee42fab15" + }, + { + "path": "src/LibTmux.Internal.Graph.html", + "sha256": "2b7a173ec6cb2cd836d02eac2f3f7afde831c07ff668617c6c30c9058f8148cb" + }, + { + "path": "src/LibTmux.Internal.Query.html", + "sha256": "c578a743c9975dcd792895c68264c8acb768df9f5ad8b8857aa9fc9cb5972025" + }, + { + "path": "src/LibTmux.Internal.Runtime.html", + "sha256": "dffb79b5ee22778adfdc78192d0f79543737bd1be23bfaeffca2e4894cf66567" + }, + { + "path": "src/LibTmux.Internal.Scheduler.html", + "sha256": "0f979509677d529e8dde05ee8bdaebbaeba3a769186b92491bd9523677ed99fc" + }, + { + "path": "src/LibTmux.Internal.Scope.html", + "sha256": "f1ff040ee7c377d0239289613ceeb63975e7bd91632a60c8e1e05e6005982c69" + }, + { + "path": "src/LibTmux.Internal.TmuxText.html", + "sha256": "e7b157d01e6c3a38aaeebcffda929c8b622dec125eb4bdfdd6273c4f7195a173" + }, + { + "path": "src/LibTmux.Query.Client.html", + "sha256": "63b8825e19f974abe4572598f213e5ad677d1b330659911109bfa39ba5853c10" + }, + { + "path": "src/LibTmux.Query.ClientAttachment.html", + "sha256": "ddd214d2151a04e988d7573b5a37922793a51d0dc253467a7ace7eafdcf24522" + }, + { + "path": "src/LibTmux.Query.Link.html", + "sha256": "704c97d3a9393b3a8834b5c4c5723cde3aaf9353272bb29bc4dce0c17260cc94" + }, + { + "path": "src/LibTmux.Query.Occurrence.html", + "sha256": "6b8434f01e2172bb84b29907ca9f41e9983b0e2250cee6134d7086f406a57034" + }, + { + "path": "src/LibTmux.Query.Pane.html", + "sha256": "a914f4b39e741ccca3dfba10941a037266cda6b39991c9901eb53f0d47de0ec3" + }, + { + "path": "src/LibTmux.Query.ServerInfo.html", + "sha256": "a1eb1a088b566436a553697610f9841c926dd7fcdaaf04acc6fe8072e3e09037" + }, + { + "path": "src/LibTmux.Query.Session.html", + "sha256": "e9f14446ea7e4998944700ee53f869d26e3a43ad44013590ec2f0bc833c8b247" + }, + { + "path": "src/LibTmux.Query.Window.html", + "sha256": "d1c54f7e867221a773a1f6b0b3994954a1be51ee841349cd3ad575e449e18293" + }, + { + "path": "src/LibTmux.Query.html", + "sha256": "dff07cc91ad3d3f33a74b955eadbd04e2c44f7e814f50908a82b5fada8e7082a" + }, + { + "path": "src/LibTmux.Server.html", + "sha256": "6abb571aab22a70c813796783a6b1ac4736698aa4adfff68a9abd54a8fa71e3b" + }, + { + "path": "src/LibTmux.Snapshot.Fixture.html", + "sha256": "67bbac3c3526fd4852c12974bd40b9998026f30efb918127ba4092a3b50fa6c7" + }, + { + "path": "src/LibTmux.Snapshot.html", + "sha256": "32e83f30b4b7253801906fa4ad091a0833294b0e06f13287c0c7fb882fef992b" + }, + { + "path": "src/LibTmux.Value.html", + "sha256": "41c181002b623ebedd852980c252161f0fff4734bf059746eb3625463059fbc2" + }, + { + "path": "src/LibTmux.Version.html", + "sha256": "02c525d9a7dccfb68d33bb4c35a15d28dc95afd635e1cd37e2f8ded829c61798" + }, + { + "path": "src/LibTmux.html", + "sha256": "b6361b9092cbd079dd75ae5b91977c3ed8b4ef1ed0c2505b1febcb59de386d19" + } + ], + "path": "packages/api-model/scripts/export-haskell.py", + "repository": "libtmux/docs", + "revision": "cfa95b798860468e591a507c415ae2b144c54365", + "sha256": "aad4d4268e794992f097be5bfc16deaefee36ede86a2deb9282384043520e9d9", + "version": 3 + }, + "files": [ + { + "path": ".tool-versions", + "sha256": "13c8a19b336b86a161f4d5ea74347960e884e2c0887d399fe752d84eecfd35e7" + }, + { + "path": "cabal.project", + "sha256": "c438ff6007a6c5bcec78d847e4070cbb1e24aa3fc717904e1acb78c8c69e794b" + }, + { + "path": "libtmux-haskell.cabal", + "sha256": "72432a342d0a6fc03b53cfd2632eec72b1be8942adbd06918c4066a4cd9ad3ac" + }, + { + "path": "src/LibTmux.hs", + "sha256": "472751bad0084e5c946c6ac95a9f178987c15a3de1d7054c6dff49fedba85f79" + }, + { + "path": "src/LibTmux/Id.hs", + "sha256": "3456edf88bf412e8769e5c96cc5d35b7b118ea3bd3786f167c9002f9804fb3b7" + }, + { + "path": "src/LibTmux/Query.hs", + "sha256": "43c7b3854e6a7183b383a54216923d31225fa7f42271459f5cdb824bf2c9835c" + }, + { + "path": "src/LibTmux/Query/Client.hs", + "sha256": "323e70a2657ee88e9405e1f05cf0cb285ac05239a1f9966bbfc8046c8c0bb050" + }, + { + "path": "src/LibTmux/Query/ClientAttachment.hs", + "sha256": "c5c544c04de75b2af264ec156d198fdac3fea4e34a64d79b538ea03d0c711dea" + }, + { + "path": "src/LibTmux/Query/Link.hs", + "sha256": "13b994e13f3e97a4e7df8fde5baaf4081c24a2d85ddba488367c7c1a8e5e2bae" + }, + { + "path": "src/LibTmux/Query/Occurrence.hs", + "sha256": "5d52a00a8c7c219525cf44e86ee9ab03f2028a75665909a0ec6545e7f1545a9c" + }, + { + "path": "src/LibTmux/Query/Pane.hs", + "sha256": "f6139bc34220eb1e891e567fb1e6c21097ee2bab937440a469be97282cb0280f" + }, + { + "path": "src/LibTmux/Query/ServerInfo.hs", + "sha256": "9fc7ae60cee0028a5299c587a1383ef1db57d90cfd938483dcda1b04c902c105" + }, + { + "path": "src/LibTmux/Query/Session.hs", + "sha256": "e11148b360cc19465cc346eda1f9141f8c64e55e3bb5c68fb653d559d78bec5b" + }, + { + "path": "src/LibTmux/Query/Window.hs", + "sha256": "7d92de6a8214c059dbb35f5e5f3216c3b25afed3b9263ec1601e50bbaa1a23b1" + }, + { + "path": "src/LibTmux/Server.hs", + "sha256": "035d12943663cf28eccf1ba3347bc2a0c9c3920a21a4f6d799c5607e7bb58219" + }, + { + "path": "src/LibTmux/Snapshot.hs", + "sha256": "cddfee4e757f1dd4b35ee9f099fa796c86213ea7ff50a4727ddf198d26aaa2a1" + }, + { + "path": "src/LibTmux/Snapshot/Fixture.hs", + "sha256": "b1b53369587d2ea963a97ba2b34ce963233130c4e47581292510613e7819a919" + }, + { + "path": "src/LibTmux/Value.hs", + "sha256": "e199c3d0bbf08a159daa35bb4ae9a5d2ad4761117d375f292dd8b250bb459e55" + }, + { + "path": "src/LibTmux/Version.hs", + "sha256": "cf4e4d94a113a95ffb7b650cffbd0b4f702608627db84b7c7bf7630b83e4dfa7" + }, + { + "path": "internal/LibTmux/Internal/Capture.hs", + "sha256": "5ed6c354cb887e8736e99976193f3cc6322eb6ea4792da6aa7fc14f56a9e834c" + }, + { + "path": "internal/LibTmux/Internal/Field.hs", + "sha256": "231b792d490fabb7a15aa35655eca04eecf27c403020907dec32edff459466da" + }, + { + "path": "internal/LibTmux/Internal/Graph.hs", + "sha256": "65b8d58914fd905f30513efc6b1b791ab606728012abf7e5a57d982bd393eb2d" + }, + { + "path": "internal/LibTmux/Internal/Query.hs", + "sha256": "ebf60049d2972df5fec0c36dfe7f363386a93f2aa621dcf659f335a87f32c905" + }, + { + "path": "internal/LibTmux/Internal/Runtime.hs", + "sha256": "5cddf08065f480e916c51014f9b0138691bc7824866835464395bc4e1fb7d252" + }, + { + "path": "internal/LibTmux/Internal/Scheduler.hs", + "sha256": "d97dd8c431a84c41ab947baac096e757cf498ebb0747b0e311fa7a73eee927b1" + }, + { + "path": "internal/LibTmux/Internal/Scope.hs", + "sha256": "22ecc01d74e51a62e2ba6493857d1ec9d5403a50bd2c101bd5ba28d179791fed" + }, + { + "path": "internal/LibTmux/Internal/TmuxText.hs", + "sha256": "5c58645aa089c306cf68f69c4b209eba78f915320547c0d1b8bdfb003b086dd8" + } + ] + }, + "package": { + "exposedModules": [ + "LibTmux", + "LibTmux.Id", + "LibTmux.Query", + "LibTmux.Query.Client", + "LibTmux.Query.ClientAttachment", + "LibTmux.Query.Link", + "LibTmux.Query.Occurrence", + "LibTmux.Query.Pane", + "LibTmux.Query.ServerInfo", + "LibTmux.Query.Session", + "LibTmux.Query.Window", + "LibTmux.Server", + "LibTmux.Snapshot", + "LibTmux.Snapshot.Fixture", + "LibTmux.Value", + "LibTmux.Version" + ], + "name": "libtmux-haskell", + "version": "0.1.0.0" + }, + "port": "haskell", + "profile": "queries/1", + "repo": "libtmux/libtmux-haskell", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14", + "schema": "libtmux.haskell-api/3", + "symbols": [ + { + "apiScope": "exported", + "definingModule": "LibTmux", + "doc": { + "body": ":obj:`LibTmux.Server ` documents ownership and failure recovery. Typed IDs,\n checked dimensions and supported releases have their own pure modules.\n :obj:`LibTmux.Query ` provides qualified typed descriptions over the same\n snapshots; query source names are separate from collection access here.", + "summary": "Capture tmux state in IO and process detached observations with ordinary\n Haskell collections. Start with :obj:`withServer ` and :obj:`capture `; navigation and\n field access from :obj:`LibTmux.Snapshot ` perform no external operations." + }, + "id": "LibTmux", + "kind": "module", + "modifiers": [], + "name": "LibTmux", + "nativeLocation": { + "module": "LibTmux" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "body": "Parsing and rendering are pure. An ID carries no endpoint, server lifetime\n or liveness evidence. Render an ID for external text; use its numeric\n accessor when an application needs the mathematical value.\n\nStart with :obj:`parseSessionId `, :obj:`parseWindowId ` or :obj:`parsePaneId `. Each type's\n documentation links its parser and renderer. Contextual numeric indices\n belong to :obj:`LibTmux.Value `.\n\n\n\n```haskell\n>>> :set -XOverloadedStrings\n>>> fmap renderWindowId (parseWindowId \"@17\")\nRight \"@17\"\n>>> either (const \"rejected\") renderPaneId (parsePaneId \"@17\")\n\"rejected\"\n```", + "summary": "Distinct session, physical-window and physical-pane IDs." + }, + "id": "LibTmux.Id", + "kind": "module", + "modifiers": [], + "name": "LibTmux.Id", + "nativeLocation": { + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux/Id.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query", + "doc": { + "body": "Build a :obj:`Query ` with a source and :obj:`matching `, then use :obj:`runQuery ` to read\n an existing :obj:`Snapshot ` without IO. :obj:`fetch ` explicitly acquires a new\n snapshot. Ordinary lists and application predicates remain available\n through :obj:`LibTmux.Snapshot `; portable expressions contain no callbacks.\n\nImport field modules qualified: :obj:`LibTmux.Query.Pane `,\n :obj:`LibTmux.Query.Session `, :obj:`LibTmux.Query.Window `, :obj:`LibTmux.Query.Link `,\n :obj:`LibTmux.Query.Occurrence `, :obj:`LibTmux.Query.Client `,\n :obj:`LibTmux.Query.ClientAttachment ` and :obj:`LibTmux.Query.ServerInfo `.\n Field tokens describe captured values; reading them never contacts tmux.\n\nQuery construction, operands and results are finite. Execution validates\n every declared requirement before filtering, stably ordering and limiting.\n The default source order and multiplicity come from the supplied snapshot.\n A result establishes what was observed, not current liveness or a reserved\n command target. See :obj:`exactlyOne ` before selecting an explicit reference.\n\n\n\n```haskell\n>>> exactlyOne [1 :: Integer]\nRight 1\n>>> exactlyOne ([] :: [Integer])\nLeft NoMatches\n>>> atMostOne ([] :: [Integer])\nRight Nothing\n>>> atMostOne [1, 2 :: Integer]\nLeft AtLeastTwoMatches\n```", + "summary": "Typed selection over detached tmux observations." + }, + "id": "LibTmux.Query", + "kind": "module", + "modifiers": [], + "name": "LibTmux.Query", + "nativeLocation": { + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux/Query.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Client", + "doc": { + "body": ":obj:`Client ` means an observed tmux client, not the operational Server handle.\n The tmux 3.3a baseline captures attached clients. :obj:`tty ` can be\n absent for a control client; bytes retain endpoint path semantics.", + "summary": "Captured tmux client fields for :obj:`LibTmux.Query `." + }, + "id": "LibTmux.Query.Client", + "kind": "module", + "modifiers": [], + "name": "LibTmux.Query.Client", + "nativeLocation": { + "module": "LibTmux.Query.Client" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux/Query/Client.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.ClientAttachment", + "doc": { + "body": "Use with :obj:`LibTmux.Query ` and :obj:`LibTmux.Query.Client `. All tokens describe\n the tmux 3.3a baseline. The selected :obj:`PaneOccurrence ` keeps the client's\n actual window-link index rather than choosing another link to that window.", + "summary": "Selected session, window and pane of a captured client." + }, + "id": "LibTmux.Query.ClientAttachment", + "kind": "module", + "modifiers": [], + "name": "LibTmux.Query.ClientAttachment", + "nativeLocation": { + "module": "LibTmux.Query.ClientAttachment" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux/Query/ClientAttachment.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Link", + "doc": { + "body": "Use with :obj:`LibTmux.Query `. All tokens belong to the tmux 3.3a baseline.\n The same physical window can occur at several indices in one session;\n :obj:`WindowLink ` retains each appearance. :obj:`active ` is contextual to the session.", + "summary": "Fields and navigation for an observed session*index*window binding." + }, + "id": "LibTmux.Query.Link", + "kind": "module", + "modifiers": [], + "name": "LibTmux.Query.Link", + "nativeLocation": { + "module": "LibTmux.Query.Link" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux/Query/Link.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Occurrence", + "doc": { + "body": "These tmux 3.3a baseline relationships read detached :obj:`PaneOccurrence `\n values. Filtering occurrences preserves repeated appearances; use the\n physical pane source when uniqueness should ignore links.", + "summary": "Context-preserving pane appearances for :obj:`LibTmux.Query `." + }, + "id": "LibTmux.Query.Occurrence", + "kind": "module", + "modifiers": [], + "name": "LibTmux.Query.Occurrence", + "nativeLocation": { + "module": "LibTmux.Query.Occurrence" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux/Query/Occurrence.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Pane", + "doc": { + "body": "Use these tokens with :obj:`LibTmux.Query `; each describes an owned :obj:`Pane `\n from :obj:`LibTmux.Snapshot `. All are available in the tmux 3.3a baseline.\n Text comparisons are exact. Command and path values retain POSIX bytes\n from the endpoint rather than promising UTF-8 or local path semantics.", + "summary": "Physical pane fields and its required window relationship." + }, + "id": "LibTmux.Query.Pane", + "kind": "module", + "modifiers": [], + "name": "LibTmux.Query.Pane", + "nativeLocation": { + "module": "LibTmux.Query.Pane" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux/Query/Pane.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.ServerInfo", + "doc": { + "body": "The tmux 3.3a baseline supplies one :obj:`ServerInfo ` per complete snapshot.\n PID and start time are diagnostics, not a replacement for generation-bound\n references or proof of present liveness.", + "summary": "Captured daemon metadata for :obj:`LibTmux.Query `." + }, + "id": "LibTmux.Query.ServerInfo", + "kind": "module", + "modifiers": [], + "name": "LibTmux.Query.ServerInfo", + "nativeLocation": { + "module": "LibTmux.Query.ServerInfo" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux/Query/ServerInfo.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Session", + "doc": { + "body": "All tokens describe the tmux 3.3a baseline. :obj:`windowLinks ` preserves each\n observed index, including several links to one physical window. :obj:`clients `\n describes captured attachments and may be a known empty relationship.", + "summary": "Session fields and contextual children for :obj:`LibTmux.Query `." + }, + "id": "LibTmux.Query.Session", + "kind": "module", + "modifiers": [], + "name": "LibTmux.Query.Session", + "nativeLocation": { + "module": "LibTmux.Query.Session" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux/Query/Session.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Window", + "doc": { + "body": "Fields describe the tmux 3.3a baseline. A physical :obj:`Window ` can have\n several :obj:`windowLinks `; its name and pane set are shared across them.\n Window names use lossless :obj:`TmuxText ` because older supported tmux\n releases can retain labels that are not valid UTF-8.", + "summary": "Physical window fields and relationships for :obj:`LibTmux.Query `." + }, + "id": "LibTmux.Query.Window", + "kind": "module", + "modifiers": [], + "name": "LibTmux.Query.Window", + "nativeLocation": { + "module": "LibTmux.Query.Window" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux/Query/Window.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "body": "A :obj:`Server ` represents one adoption of one endpoint. :obj:`withServer ` owns its\n socket pin, native command clients and cleanup workers. Closing this scope\n releases those resources; it does not send `kill-server`. The tmux noun\n `Client` refers to detached observations in :obj:`LibTmux.Snapshot `.\n :obj:`withRuntime ` and :obj:`withServerIn ` give several handles shared resource limits\n and independent Server scopes.\n\n:obj:`capture ` returns fully decoded, validated values. Field access and graph\n navigation are pure. Captures use an observation interval, not an atomic\n transaction over tmux and operating-system state.\n\nOperational failures use :obj:`TmuxException `. :obj:`tryTmux ` catches that type only.\n Cancellation retains its original exception class. If bounded cleanup\n cannot finish, :obj:`cleanupRecoveries ` retrieves the owning recovery scope\n from the exception context. A failed callback remains the primary failure.", + "summary": "Observe an existing tmux daemon through an owned Server handle." + }, + "id": "LibTmux.Server", + "kind": "module", + "modifiers": [], + "name": "LibTmux.Server", + "nativeLocation": { + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux/Server.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "body": ":obj:`LibTmux.Server ` acquires a :obj:`Snapshot ` in IO. Every operation in this\n module reads owned Haskell values, including after the Server closes.\n Use ordinary lists, comprehensions and folds for application predicates.\n\n:obj:`Window ` and :obj:`Pane ` are physical entities. A :obj:`WindowLink ` identifies an\n observed session*index*window binding; :obj:`PaneOccurrence ` retains that\n context. :obj:`paneOccurrences ` therefore preserves repeated appearances while\n :obj:`panes ` lists each physical pane once.\n\nReferences compare identity within one Server generation. A lookup reads\n the supplied snapshot, including a newer snapshot from that same Server.\n Independent Server scopes have different generations. Resolve an ID again\n with :obj:`lookupPaneId ` when deliberately selecting a newly observed entity.\n\nObservation fields are exported for record dot and local updates. Editing\n a record does not change a snapshot's indexes or establish provenance.\n :obj:`LibTmux.Snapshot.Fixture ` constructs validated offline snapshots;\n :obj:`snapshotOrigin ` distinguishes them from observations acquired through IO.", + "summary": "Detached tmux observations and pure navigation." + }, + "id": "LibTmux.Snapshot", + "kind": "module", + "modifiers": [], + "name": "LibTmux.Snapshot", + "nativeLocation": { + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "body": "No operation in this module contacts tmux. Named fixture references can\n model successive observations; they never equal a live Server generation.\n Snapshot and live-reference constructors remain hidden.\n Validation checks graph and metadata laws; wire decoding, tmux normalization\n and transport limits belong to acquisition rather than fixture construction.\n\nStart with :obj:`fixtureOrigin ` and :obj:`emptyFixture `, construct ordinary observation\n records using this module's reference builders, then call :obj:`validateFixture `.", + "summary": "Build validated detached snapshots for pure application tests." + }, + "id": "LibTmux.Snapshot.Fixture", + "kind": "module", + "modifiers": [], + "name": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "body": "Construction and access are pure. Window-link indices and pane indices\n have distinct types; neither substitutes for an entity ID. A constructor\n checks the mathematical domain, while command-specific limits belong at\n the operation boundary. Use :obj:`mkDimension `, :obj:`mkWindowIndex ` and :obj:`mkPaneIndex `\n to validate input; their accessors return mathematical integers. Entity\n identifiers belong to :obj:`LibTmux.Id `.\n\n\n\n```haskell\n>>> fmap dimensionValue (mkDimension 120)\nRight 120\n>>> mkDimension 0\nLeft (NonPositiveDimension 0)\n```", + "summary": "Positive dimensions and nonnegative contextual indices." + }, + "id": "LibTmux.Value", + "kind": "module", + "modifiers": [], + "name": "LibTmux.Value", + "nativeLocation": { + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux/Value.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Version", + "doc": { + "body": "These functions consume supplied text. They neither execute `tmux -V`\n nor contact a server. Admission checks the inclusive 3.3a through 3.8 range;\n individual features still need capability and conformance checks.\n\nUse :obj:`parseVersion ` for input, :obj:`requireSupported ` for supported-range\n admission and :obj:`renderVersion ` for canonical output.\n\n\n\n```haskell\n>>> :set -XOverloadedStrings\n>>> fmap renderVersion (parseVersion \"tmux 3.3a\\n\" >>= requireSupported)\nRight \"3.3a\"\n```", + "summary": "Parse stable tmux releases and check the supported release range." + }, + "id": "LibTmux.Version", + "kind": "module", + "modifiers": [], + "name": "LibTmux.Version", + "nativeLocation": { + "module": "LibTmux.Version" + }, + "package": "libtmux-haskell", + "parent": null, + "product": "core", + "signatures": [], + "source": { + "file": "src/LibTmux/Version.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "A session's unsigned 32-bit tmux identifier, written with a `$` prefix.\n Parse with :obj:`parseSessionId `; render with :obj:`renderSessionId `." + }, + "id": "LibTmux.Id#t:SessionId", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`SessionId `", + "raw": "instance NFData SessionId", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 47, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`SessionId `", + "raw": "instance Eq SessionId", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 46, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`SessionId `", + "raw": "instance Ord SessionId", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 46, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`SessionId `", + "raw": "instance Show SessionId", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 46, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "SessionId", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "t:SessionId", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#t:SessionId", + "qualifiedName": "LibTmux.Id.SessionId", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "SessionId" + } + ], + "params": [], + "raw": "data SessionId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 45, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "A physical window's identifier, independent of its session links.\n Parse with :obj:`parseWindowId `; render with :obj:`renderWindowId `." + }, + "id": "LibTmux.Id#t:WindowId", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`WindowId `", + "raw": "instance NFData WindowId", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 53, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`WindowId `", + "raw": "instance Eq WindowId", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 52, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`WindowId `", + "raw": "instance Ord WindowId", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 52, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`WindowId `", + "raw": "instance Show WindowId", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 52, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "WindowId", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "t:WindowId", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#t:WindowId", + "qualifiedName": "LibTmux.Id.WindowId", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "WindowId" + } + ], + "params": [], + "raw": "data WindowId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 51, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "A physical pane's identifier, written with a `%` prefix.\n Parse with :obj:`parsePaneId `; render with :obj:`renderPaneId `." + }, + "id": "LibTmux.Id#t:PaneId", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`PaneId `", + "raw": "instance NFData PaneId", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 59, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`PaneId `", + "raw": "instance Eq PaneId", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 58, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`PaneId `", + "raw": "instance Ord PaneId", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 58, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`PaneId `", + "raw": "instance Show PaneId", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 58, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "PaneId", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "t:PaneId", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#t:PaneId", + "qualifiedName": "LibTmux.Id.PaneId", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "PaneId" + } + ], + "params": [], + "raw": "data PaneId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 57, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Invalid canonical syntax, entity prefix or native unsigned range.\n Diagnostics retain at most 64 characters of input." + }, + "id": "LibTmux.Id#t:IdError", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`IdError `", + "raw": "instance Eq IdError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Id.html#t:IdError", + "target": "LibTmux.Id#t:IdError", + "text": "IdError" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 67, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`IdError `", + "raw": "instance Show IdError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Id.html#t:IdError", + "target": "LibTmux.Id#t:IdError", + "text": "IdError" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 67, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "IdError", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "t:IdError", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#t:IdError", + "qualifiedName": "LibTmux.Id.IdError", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "IdError" + } + ], + "params": [], + "raw": "data IdError" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 63, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": null, + "id": "LibTmux.Id#v:InvalidId", + "kind": "function", + "modifiers": [], + "name": "InvalidId", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:InvalidId", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id#t:IdError", + "product": "core", + "publicId": "LibTmux.Id#v:InvalidId", + "qualifiedName": "LibTmux.Id.InvalidId", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "InvalidId" + } + ], + "params": [], + "raw": "InvalidId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 63, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Required entity prefix." + }, + "id": "LibTmux.Id#v:IdError.expectedPrefix", + "kind": "property", + "modifiers": [], + "name": "expectedPrefix", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:expectedPrefix", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id#t:IdError", + "product": "core", + "publicId": "LibTmux.Id#v:IdError.expectedPrefix", + "qualifiedName": "LibTmux.Id.expectedPrefix", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "expectedPrefix" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Char.html#t:Char", + "text": "Char" + } + ], + "params": [], + "raw": "expectedPrefix :: !Char" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 64, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Bounded copy of the invalid input." + }, + "id": "LibTmux.Id#v:IdError.input", + "kind": "property", + "modifiers": [], + "name": "input", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:input", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id#t:IdError", + "product": "core", + "publicId": "LibTmux.Id#v:IdError.input", + "qualifiedName": "LibTmux.Id.input", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "input" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "input :: !Text" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 65, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Parse `$0` through `$4294967295`. No whitespace or leading zeroes." + }, + "id": "LibTmux.Id#v:parseSessionId", + "kind": "function", + "modifiers": [], + "name": "parseSessionId", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:parseSessionId", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#v:parseSessionId", + "qualifiedName": "LibTmux.Id.parseSessionId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "parseSessionId" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Id.html#t:IdError", + "target": "LibTmux.Id#t:IdError", + "text": "IdError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + } + ], + "params": [], + "raw": "parseSessionId :: Text -> Either IdError SessionId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 71, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Parse a canonical `@number` identifying a physical window." + }, + "id": "LibTmux.Id#v:parseWindowId", + "kind": "function", + "modifiers": [], + "name": "parseWindowId", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:parseWindowId", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#v:parseWindowId", + "qualifiedName": "LibTmux.Id.parseWindowId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "parseWindowId" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Id.html#t:IdError", + "target": "LibTmux.Id#t:IdError", + "text": "IdError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + } + ], + "params": [], + "raw": "parseWindowId :: Text -> Either IdError WindowId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 75, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Parse a canonical `%number` identifying a physical pane." + }, + "id": "LibTmux.Id#v:parsePaneId", + "kind": "function", + "modifiers": [], + "name": "parsePaneId", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:parsePaneId", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#v:parsePaneId", + "qualifiedName": "LibTmux.Id.parsePaneId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "parsePaneId" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Id.html#t:IdError", + "target": "LibTmux.Id#t:IdError", + "text": "IdError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + } + ], + "params": [], + "raw": "parsePaneId :: Text -> Either IdError PaneId" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 79, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Render the session prefix and decimal ID." + }, + "id": "LibTmux.Id#v:renderSessionId", + "kind": "function", + "modifiers": [], + "name": "renderSessionId", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:renderSessionId", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#v:renderSessionId", + "qualifiedName": "LibTmux.Id.renderSessionId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "renderSessionId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "renderSessionId :: SessionId -> Text" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 83, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Render the physical window prefix and decimal ID." + }, + "id": "LibTmux.Id#v:renderWindowId", + "kind": "function", + "modifiers": [], + "name": "renderWindowId", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:renderWindowId", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#v:renderWindowId", + "qualifiedName": "LibTmux.Id.renderWindowId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "renderWindowId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "renderWindowId :: WindowId -> Text" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 87, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Render the physical pane prefix and decimal ID." + }, + "id": "LibTmux.Id#v:renderPaneId", + "kind": "function", + "modifiers": [], + "name": "renderPaneId", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:renderPaneId", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#v:renderPaneId", + "qualifiedName": "LibTmux.Id.renderPaneId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "renderPaneId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "renderPaneId :: PaneId -> Text" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 91, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Read the numeric session ID without narrowing conversion." + }, + "id": "LibTmux.Id#v:sessionIdValue", + "kind": "function", + "modifiers": [], + "name": "sessionIdValue", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:sessionIdValue", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#v:sessionIdValue", + "qualifiedName": "LibTmux.Id.sessionIdValue", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "sessionIdValue" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "sessionIdValue :: SessionId -> Integer" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 95, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Read the numeric physical window ID." + }, + "id": "LibTmux.Id#v:windowIdValue", + "kind": "function", + "modifiers": [], + "name": "windowIdValue", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:windowIdValue", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#v:windowIdValue", + "qualifiedName": "LibTmux.Id.windowIdValue", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windowIdValue" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "windowIdValue :: WindowId -> Integer" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 99, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Id", + "doc": { + "summary": "Read the numeric physical pane ID." + }, + "id": "LibTmux.Id#v:paneIdValue", + "kind": "function", + "modifiers": [], + "name": "paneIdValue", + "namespace": "LibTmux.Id", + "nativeLocation": { + "anchor": "v:paneIdValue", + "module": "LibTmux.Id" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Id", + "product": "core", + "publicId": "LibTmux.Id#v:paneIdValue", + "qualifiedName": "LibTmux.Id.paneIdValue", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "paneIdValue" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "paneIdValue :: PaneId -> Integer" + } + ], + "source": { + "file": "src/LibTmux/Id.hs", + "line": 103, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Field", + "doc": { + "summary": "Fields belong to physical rows or contextual links, never both implicitly." + }, + "id": "LibTmux.Query#t:Field", + "instances": [], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "Field", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "t:Field", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#t:Field", + "qualifiedName": "LibTmux.Query.Field", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Field" + }, + { + "text": " row value" + } + ], + "params": [], + "raw": "data Field row value" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Field.hs", + "line": 29, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "A pure predicate description for one row type. Field and relationship\n tokens retain their identity; arbitrary application functions stay outside\n this portable representation. Nominal roles prevent cross-row coercion." + }, + "id": "LibTmux.Query#t:Expr", + "instances": [], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "Expr", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "t:Expr", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#t:Expr", + "qualifiedName": "LibTmux.Query.Expr", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Expr" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "data Expr row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 100, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "A source, predicate, stable ordering and optional final limit. Building a\n query performs no IO and retains no Server handle. Use :obj:`LibTmux.Query ` to evaluate." + }, + "id": "LibTmux.Query#t:Query", + "instances": [], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "Query", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "t:Query", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#t:Query", + "qualifiedName": "LibTmux.Query.Query", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Query" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "data Query row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 120, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "One ascending or descending field ordering. Combine keys with :obj:`orderBy `." + }, + "id": "LibTmux.Query#t:Order", + "instances": [], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "Order", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "t:Order", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#t:Order", + "qualifiedName": "LibTmux.Query.Order", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Order" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "data Order row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "A closed one-to-many relationship. Obtain tokens from the entity field\n modules and use :obj:`some `, :obj:`every ` or :obj:`none `. Constructors are private." + }, + "id": "LibTmux.Query#t:ToMany", + "instances": [], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "ToMany", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "t:ToMany", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#t:ToMany", + "qualifiedName": "LibTmux.Query.ToMany", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "ToMany" + }, + { + "text": " parent child" + } + ], + "params": [], + "raw": "data ToMany parent child" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 55, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "A required relationship in a validated graph, used with :obj:`related `." + }, + "id": "LibTmux.Query#t:ToOne", + "instances": [], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "ToOne", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "t:ToOne", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#t:ToOne", + "qualifiedName": "LibTmux.Query.ToOne", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "ToOne" + }, + { + "text": " parent child" + } + ], + "params": [], + "raw": "data ToOne parent child" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 63, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "An observed optional relationship, used with :obj:`optionalRelated `.\n Known absence is separate from an unavailable relationship." + }, + "id": "LibTmux.Query#t:ToOptional", + "instances": [], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "ToOptional", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "t:ToOptional", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#t:ToOptional", + "qualifiedName": "LibTmux.Query.ToOptional", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "ToOptional" + }, + { + "text": " parent child" + } + ], + "params": [], + "raw": "data ToOptional parent child" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 75, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Physical sessions in numeric ID order." + }, + "id": "LibTmux.Query#v:sessions", + "kind": "function", + "modifiers": [], + "name": "sessions", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:sessions", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:sessions", + "qualifiedName": "LibTmux.Query.sessions", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "sessions" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Query", + "target": "LibTmux.Query#t:Query", + "text": "Query" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + } + ], + "params": [], + "raw": "sessions :: Query Session" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 219, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Unique physical windows in numeric ID order, independent of their links." + }, + "id": "LibTmux.Query#v:windows", + "kind": "function", + "modifiers": [], + "name": "windows", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:windows", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:windows", + "qualifiedName": "LibTmux.Query.windows", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windows" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Query", + "target": "LibTmux.Query#t:Query", + "text": "Query" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + } + ], + "params": [], + "raw": "windows :: Query Window" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 222, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Unique physical panes in numeric ID order; use :obj:`paneOccurrences ` for context." + }, + "id": "LibTmux.Query#v:panes", + "kind": "function", + "modifiers": [], + "name": "panes", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:panes", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:panes", + "qualifiedName": "LibTmux.Query.panes", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "panes" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Query", + "target": "LibTmux.Query#t:Query", + "text": "Query" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + } + ], + "params": [], + "raw": "panes :: Query Pane" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 225, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Contextual links in session-ID then window-index order, retaining multiplicity." + }, + "id": "LibTmux.Query#v:windowLinks", + "kind": "function", + "modifiers": [], + "name": "windowLinks", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:windowLinks", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:windowLinks", + "qualifiedName": "LibTmux.Query.windowLinks", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windowLinks" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Query", + "target": "LibTmux.Query#t:Query", + "text": "Query" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + } + ], + "params": [], + "raw": "windowLinks :: Query WindowLink" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 228, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Pane appearances in link order, then pane-index order within each window." + }, + "id": "LibTmux.Query#v:paneOccurrences", + "kind": "function", + "modifiers": [], + "name": "paneOccurrences", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:paneOccurrences", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:paneOccurrences", + "qualifiedName": "LibTmux.Query.paneOccurrences", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "paneOccurrences" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Query", + "target": "LibTmux.Query#t:Query", + "text": "Query" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:PaneOccurrence", + "target": "LibTmux.Snapshot#t:PaneOccurrence", + "text": "PaneOccurrence" + } + ], + "params": [], + "raw": "paneOccurrences :: Query PaneOccurrence" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 231, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Captured clients in bytewise name order, then PID." + }, + "id": "LibTmux.Query#v:clients", + "kind": "function", + "modifiers": [], + "name": "clients", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:clients", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:clients", + "qualifiedName": "LibTmux.Query.clients", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "clients" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Query", + "target": "LibTmux.Query#t:Query", + "text": "Query" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Client", + "target": "LibTmux.Snapshot#t:Client", + "text": "Client" + } + ], + "params": [], + "raw": "clients :: Query Client" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 234, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "The single captured daemon-metadata observation." + }, + "id": "LibTmux.Query#v:serverInfo", + "kind": "function", + "modifiers": [], + "name": "serverInfo", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:serverInfo", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:serverInfo", + "qualifiedName": "LibTmux.Query.serverInfo", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "serverInfo" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Query", + "target": "LibTmux.Query#t:Query", + "text": "Query" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:ServerInfo", + "target": "LibTmux.Snapshot#t:ServerInfo", + "text": "ServerInfo" + } + ], + "params": [], + "raw": "serverInfo :: Query ServerInfo" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 237, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Exact equality in the field's declared type. No Unicode normalization,\n case folding or byte-to-text conversion is implicit." + }, + "id": "LibTmux.Query#v:eq", + "kind": "function", + "modifiers": [], + "name": "eq", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:eq", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:eq", + "qualifiedName": "LibTmux.Query.eq", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "eq" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "text": " value => " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " row value -> value -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "eq :: Eq value => Field row value -> value -> Expr row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 151, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Membership using exact equality against a finite operand list. An empty\n list never matches, but its field requirement is still validated." + }, + "id": "LibTmux.Query#v:oneOf", + "kind": "function", + "modifiers": [], + "name": "oneOf", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:oneOf", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:oneOf", + "qualifiedName": "LibTmux.Query.oneOf", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "oneOf" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "text": " value => " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " row value -> [value] -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "oneOf :: Eq value => Field row value -> [value] -> Expr row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 156, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Exact, case-sensitive Text substring matching. Byte-bearing fields are\n deliberately excluded; use typed equality for their retained values." + }, + "id": "LibTmux.Query#v:contains", + "kind": "function", + "modifiers": [], + "name": "contains", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:contains", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:contains", + "qualifiedName": "LibTmux.Query.contains", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "contains" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " row " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "contains :: Field row Text -> Text -> Expr row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 161, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Compare a mathematical Integer field with an unbounded threshold:\n greater-or-equal, greater, less-or-equal or less, respectively." + }, + "id": "LibTmux.Query#v:ge", + "kind": "function", + "modifiers": [], + "name": "ge", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:ge", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:ge", + "qualifiedName": "LibTmux.Query.ge", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "ge" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " row " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "ge :: Field row Integer -> Integer -> Expr row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 166, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Compare a mathematical Integer field with an unbounded threshold:\n greater-or-equal, greater, less-or-equal or less, respectively." + }, + "id": "LibTmux.Query#v:gt", + "kind": "function", + "modifiers": [], + "name": "gt", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:gt", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:gt", + "qualifiedName": "LibTmux.Query.gt", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "gt" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " row " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "gt :: Field row Integer -> Integer -> Expr row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 167, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Compare a mathematical Integer field with an unbounded threshold:\n greater-or-equal, greater, less-or-equal or less, respectively." + }, + "id": "LibTmux.Query#v:le", + "kind": "function", + "modifiers": [], + "name": "le", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:le", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:le", + "qualifiedName": "LibTmux.Query.le", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "le" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " row " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "le :: Field row Integer -> Integer -> Expr row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 168, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Compare a mathematical Integer field with an unbounded threshold:\n greater-or-equal, greater, less-or-equal or less, respectively." + }, + "id": "LibTmux.Query#v:lt", + "kind": "function", + "modifiers": [], + "name": "lt", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:lt", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:lt", + "qualifiedName": "LibTmux.Query.lt", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "lt" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " row " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "lt :: Field row Integer -> Integer -> Expr row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 169, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Compare a positive cell dimension to an Integer threshold, inclusively.\n Negative and arbitrarily large thresholds are valid predicates; they do not\n construct a command dimension. Use :obj:`not_ ` for a strict opposite bound." + }, + "id": "LibTmux.Query#v:dimensionAtLeast", + "kind": "function", + "modifiers": [], + "name": "dimensionAtLeast", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:dimensionAtLeast", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:dimensionAtLeast", + "qualifiedName": "LibTmux.Query.dimensionAtLeast", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "dimensionAtLeast" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " row " + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "dimensionAtLeast :: Field row Dimension -> Integer -> Expr row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 175, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Compare a positive cell dimension to an Integer threshold, inclusively.\n Negative and arbitrarily large thresholds are valid predicates; they do not\n construct a command dimension. Use :obj:`not_ ` for a strict opposite bound." + }, + "id": "LibTmux.Query#v:dimensionAtMost", + "kind": "function", + "modifiers": [], + "name": "dimensionAtMost", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:dimensionAtMost", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:dimensionAtMost", + "qualifiedName": "LibTmux.Query.dimensionAtMost", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "dimensionAtMost" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " row " + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "dimensionAtMost :: Field row Dimension -> Integer -> Expr row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 176, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Inclusive bounds on a pane index, without narrowing or constructing an index." + }, + "id": "LibTmux.Query#v:paneIndexAtLeast", + "kind": "function", + "modifiers": [], + "name": "paneIndexAtLeast", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:paneIndexAtLeast", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:paneIndexAtLeast", + "qualifiedName": "LibTmux.Query.paneIndexAtLeast", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "paneIndexAtLeast" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " row " + }, + { + "href": "LibTmux-Value.html#t:PaneIndex", + "target": "LibTmux.Value#t:PaneIndex", + "text": "PaneIndex" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "paneIndexAtLeast :: Field row PaneIndex -> Integer -> Expr row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 180, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Inclusive bounds on a pane index, without narrowing or constructing an index." + }, + "id": "LibTmux.Query#v:paneIndexAtMost", + "kind": "function", + "modifiers": [], + "name": "paneIndexAtMost", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:paneIndexAtMost", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:paneIndexAtMost", + "qualifiedName": "LibTmux.Query.paneIndexAtMost", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "paneIndexAtMost" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " row " + }, + { + "href": "LibTmux-Value.html#t:PaneIndex", + "target": "LibTmux.Value#t:PaneIndex", + "text": "PaneIndex" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "paneIndexAtMost :: Field row PaneIndex -> Integer -> Expr row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 181, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Inclusive bounds on a contextual window index, using Integer thresholds." + }, + "id": "LibTmux.Query#v:windowIndexAtLeast", + "kind": "function", + "modifiers": [], + "name": "windowIndexAtLeast", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:windowIndexAtLeast", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:windowIndexAtLeast", + "qualifiedName": "LibTmux.Query.windowIndexAtLeast", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windowIndexAtLeast" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " row " + }, + { + "href": "LibTmux-Value.html#t:WindowIndex", + "target": "LibTmux.Value#t:WindowIndex", + "text": "WindowIndex" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "windowIndexAtLeast :: Field row WindowIndex -> Integer -> Expr row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 185, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Inclusive bounds on a contextual window index, using Integer thresholds." + }, + "id": "LibTmux.Query#v:windowIndexAtMost", + "kind": "function", + "modifiers": [], + "name": "windowIndexAtMost", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:windowIndexAtMost", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:windowIndexAtMost", + "qualifiedName": "LibTmux.Query.windowIndexAtMost", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windowIndexAtMost" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " row " + }, + { + "href": "LibTmux-Value.html#t:WindowIndex", + "target": "LibTmux.Value#t:WindowIndex", + "text": "WindowIndex" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "windowIndexAtMost :: Field row WindowIndex -> Integer -> Expr row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 186, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Finite conjunction and disjunction. Empty lists mean True and False,\n respectively. Validation checks every branch before evaluation short-circuits." + }, + "id": "LibTmux.Query#v:allOf", + "kind": "function", + "modifiers": [], + "name": "allOf", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:allOf", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:allOf", + "qualifiedName": "LibTmux.Query.allOf", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "allOf" + }, + { + "text": " :: [" + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row] -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "allOf :: [Expr row] -> Expr row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 191, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Finite conjunction and disjunction. Empty lists mean True and False,\n respectively. Validation checks every branch before evaluation short-circuits." + }, + "id": "LibTmux.Query#v:anyOf", + "kind": "function", + "modifiers": [], + "name": "anyOf", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:anyOf", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:anyOf", + "qualifiedName": "LibTmux.Query.anyOf", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "anyOf" + }, + { + "text": " :: [" + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row] -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "anyOf :: [Expr row] -> Expr row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 192, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Logical negation, preserving the expression's validation requirements." + }, + "id": "LibTmux.Query#v:not_", + "kind": "function", + "modifiers": [], + "name": "not_", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:not_", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:not_", + "qualifiedName": "LibTmux.Query.not_", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "not_" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "not_ :: Expr row -> Expr row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 196, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Existential, universal or absent matching children. A known empty\n relationship yields False, True or True, respectively. The child expression\n applies to one child at a time; put conditions inside one :obj:`allOf ` when the\n same child must satisfy them. Unavailable relationships remain errors." + }, + "id": "LibTmux.Query#v:some", + "kind": "function", + "modifiers": [], + "name": "some", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:some", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:some", + "qualifiedName": "LibTmux.Query.some", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "some" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:ToMany", + "target": "LibTmux.Query#t:ToMany", + "text": "ToMany" + }, + { + "text": " row child -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " child -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "some :: ToMany row child -> Expr child -> Expr row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 203, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Existential, universal or absent matching children. A known empty\n relationship yields False, True or True, respectively. The child expression\n applies to one child at a time; put conditions inside one :obj:`allOf ` when the\n same child must satisfy them. Unavailable relationships remain errors." + }, + "id": "LibTmux.Query#v:every", + "kind": "function", + "modifiers": [], + "name": "every", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:every", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:every", + "qualifiedName": "LibTmux.Query.every", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "every" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:ToMany", + "target": "LibTmux.Query#t:ToMany", + "text": "ToMany" + }, + { + "text": " row child -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " child -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "every :: ToMany row child -> Expr child -> Expr row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 204, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Existential, universal or absent matching children. A known empty\n relationship yields False, True or True, respectively. The child expression\n applies to one child at a time; put conditions inside one :obj:`allOf ` when the\n same child must satisfy them. Unavailable relationships remain errors." + }, + "id": "LibTmux.Query#v:none", + "kind": "function", + "modifiers": [], + "name": "none", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:none", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:none", + "qualifiedName": "LibTmux.Query.none", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "none" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:ToMany", + "target": "LibTmux.Query#t:ToMany", + "text": "ToMany" + }, + { + "text": " row child -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " child -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "none :: ToMany row child -> Expr child -> Expr row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 205, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Test the required related observation in the supplied snapshot.\n A failed lookup returns :obj:`RelationshipLookupFailed `, never False or absence." + }, + "id": "LibTmux.Query#v:related", + "kind": "function", + "modifiers": [], + "name": "related", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:related", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:related", + "qualifiedName": "LibTmux.Query.related", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "related" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:ToOne", + "target": "LibTmux.Query#t:ToOne", + "text": "ToOne" + }, + { + "text": " row child -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " child -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "related :: ToOne row child -> Expr child -> Expr row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 210, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Test a known optional target. Absence yields False, so negation includes\n absence as well as targets that fail the child predicate." + }, + "id": "LibTmux.Query#v:optionalRelated", + "kind": "function", + "modifiers": [], + "name": "optionalRelated", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:optionalRelated", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:optionalRelated", + "qualifiedName": "LibTmux.Query.optionalRelated", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "optionalRelated" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:ToOptional", + "target": "LibTmux.Query#t:ToOptional", + "text": "ToOptional" + }, + { + "text": " row child -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " child -> " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "optionalRelated :: ToOptional row child -> Expr child -> Expr row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 215, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Conjoin a predicate with existing predicates without changing the source." + }, + "id": "LibTmux.Query#v:matching", + "kind": "function", + "modifiers": [], + "name": "matching", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:matching", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:matching", + "qualifiedName": "LibTmux.Query.matching", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "matching" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Expr", + "target": "LibTmux.Query#t:Expr", + "text": "Expr" + }, + { + "text": " row -> " + }, + { + "href": "LibTmux-Query.html#t:Query", + "target": "LibTmux.Query#t:Query", + "text": "Query" + }, + { + "text": " row -> " + }, + { + "href": "LibTmux-Query.html#t:Query", + "target": "LibTmux.Query#t:Query", + "text": "Query" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "matching :: Expr row -> Query row -> Query row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 241, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Replace the ordering keys. Sorting is stable and follows filtering;\n an empty key list retains source order. Limits are always applied afterward." + }, + "id": "LibTmux.Query#v:orderBy", + "kind": "function", + "modifiers": [], + "name": "orderBy", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:orderBy", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:orderBy", + "qualifiedName": "LibTmux.Query.orderBy", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "orderBy" + }, + { + "text": " :: [" + }, + { + "href": "LibTmux-Query.html#t:Order", + "target": "LibTmux.Query#t:Order", + "text": "Order" + }, + { + "text": " row] -> " + }, + { + "href": "LibTmux-Query.html#t:Query", + "target": "LibTmux.Query#t:Query", + "text": "Query" + }, + { + "text": " row -> " + }, + { + "href": "LibTmux-Query.html#t:Query", + "target": "LibTmux.Query#t:Query", + "text": "Query" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "orderBy :: [Order row] -> Query row -> Query row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 247, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Order by the declared field's Ord instance in ascending or descending order.\n Text and byte-bearing types retain their own comparison semantics." + }, + "id": "LibTmux.Query#v:ascending", + "kind": "function", + "modifiers": [], + "name": "ascending", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:ascending", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:ascending", + "qualifiedName": "LibTmux.Query.ascending", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "ascending" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "text": " value => " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " row value -> " + }, + { + "href": "LibTmux-Query.html#t:Order", + "target": "LibTmux.Query#t:Order", + "text": "Order" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "ascending :: Ord value => Field row value -> Order row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 252, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Order by the declared field's Ord instance in ascending or descending order.\n Text and byte-bearing types retain their own comparison semantics." + }, + "id": "LibTmux.Query#v:descending", + "kind": "function", + "modifiers": [], + "name": "descending", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:descending", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:descending", + "qualifiedName": "LibTmux.Query.descending", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "descending" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "text": " value => " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " row value -> " + }, + { + "href": "LibTmux-Query.html#t:Order", + "target": "LibTmux.Query#t:Order", + "text": "Order" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "descending :: Ord value => Field row value -> Order row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 253, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Replace the final nonnegative limit, applied after filtering and ordering\n regardless of builder order. A zero limit still validates every requirement." + }, + "id": "LibTmux.Query#v:limit", + "kind": "function", + "modifiers": [], + "name": "limit", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:limit", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:limit", + "qualifiedName": "LibTmux.Query.limit", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "limit" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/GHC-TypeLits.html#t:Natural", + "text": "Natural" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Query.html#t:Query", + "target": "LibTmux.Query#t:Query", + "text": "Query" + }, + { + "text": " row -> " + }, + { + "href": "LibTmux-Query.html#t:Query", + "target": "LibTmux.Query#t:Query", + "text": "Query" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "limit :: Natural -> Query row -> Query row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 258, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Inspectable dependencies, not a serialized query or an optimization plan." + }, + "id": "LibTmux.Query#t:QueryRequirements", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`QueryRequirements `", + "raw": "instance Eq QueryRequirements", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Query.html#t:QueryRequirements", + "target": "LibTmux.Query#t:QueryRequirements", + "text": "QueryRequirements" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 140, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`QueryRequirements `", + "raw": "instance Show QueryRequirements", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Query.html#t:QueryRequirements", + "target": "LibTmux.Query#t:QueryRequirements", + "text": "QueryRequirements" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 140, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "QueryRequirements", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "t:QueryRequirements", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#t:QueryRequirements", + "qualifiedName": "LibTmux.Query.QueryRequirements", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "QueryRequirements" + } + ], + "params": [], + "raw": "data QueryRequirements" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 133, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": null, + "id": "LibTmux.Query#v:QueryRequirements", + "kind": "function", + "modifiers": [], + "name": "QueryRequirements", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:QueryRequirements", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query#t:QueryRequirements", + "product": "core", + "publicId": "LibTmux.Query#v:QueryRequirements", + "qualifiedName": "LibTmux.Query.QueryRequirements", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "QueryRequirements" + } + ], + "params": [], + "raw": "QueryRequirements" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 133, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Stable name of the ordered root source." + }, + "id": "LibTmux.Query#v:QueryRequirements.sourceName", + "kind": "property", + "modifiers": [], + "name": "sourceName", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:sourceName", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query#t:QueryRequirements", + "product": "core", + "publicId": "LibTmux.Query#v:QueryRequirements.sourceName", + "qualifiedName": "LibTmux.Query.sourceName", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "sourceName" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "sourceName :: !Text" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 134, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Sorted, deduplicated fields, including ordering keys." + }, + "id": "LibTmux.Query#v:QueryRequirements.fieldNames", + "kind": "property", + "modifiers": [], + "name": "fieldNames", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:fieldNames", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query#t:QueryRequirements", + "product": "core", + "publicId": "LibTmux.Query#v:QueryRequirements.fieldNames", + "qualifiedName": "LibTmux.Query.fieldNames", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "fieldNames" + }, + { + "text": " :: ![" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "fieldNames :: ![Text]" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 135, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Sorted, deduplicated relationships at every nesting depth." + }, + "id": "LibTmux.Query#v:QueryRequirements.relationshipNames", + "kind": "property", + "modifiers": [], + "name": "relationshipNames", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:relationshipNames", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query#t:QueryRequirements", + "product": "core", + "publicId": "LibTmux.Query#v:QueryRequirements.relationshipNames", + "qualifiedName": "LibTmux.Query.relationshipNames", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "relationshipNames" + }, + { + "text": " :: ![" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "relationshipNames :: ![Text]" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 136, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Ordering field keys in their specified priority order." + }, + "id": "LibTmux.Query#v:QueryRequirements.orderingFields", + "kind": "property", + "modifiers": [], + "name": "orderingFields", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:orderingFields", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query#t:QueryRequirements", + "product": "core", + "publicId": "LibTmux.Query#v:QueryRequirements.orderingFields", + "qualifiedName": "LibTmux.Query.orderingFields", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "orderingFields" + }, + { + "text": " :: ![" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "orderingFields :: ![Text]" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 137, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Final limit, or [Nothing](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#v:Nothing) for no limit." + }, + "id": "LibTmux.Query#v:QueryRequirements.rowLimit", + "kind": "property", + "modifiers": [], + "name": "rowLimit", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:rowLimit", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query#t:QueryRequirements", + "product": "core", + "publicId": "LibTmux.Query#v:QueryRequirements.rowLimit", + "qualifiedName": "LibTmux.Query.rowLimit", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "rowLimit" + }, + { + "text": " :: !(" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe", + "text": "Maybe" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/GHC-TypeLits.html#t:Natural", + "text": "Natural" + }, + { + "text": ")" + } + ], + "params": [], + "raw": "rowLimit :: !(Maybe Natural)" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 138, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Collect every declared field and relationship, including ordering and\n branches that may short-circuit. This is pure and does not contact tmux." + }, + "id": "LibTmux.Query#v:requirements", + "kind": "function", + "modifiers": [], + "name": "requirements", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:requirements", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:requirements", + "qualifiedName": "LibTmux.Query.requirements", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "requirements" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Query", + "target": "LibTmux.Query#t:Query", + "text": "Query" + }, + { + "text": " row -> " + }, + { + "href": "LibTmux-Query.html#t:QueryRequirements", + "target": "LibTmux.Query#t:QueryRequirements", + "text": "QueryRequirements" + } + ], + "params": [], + "raw": "requirements :: Query row -> QueryRequirements" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 275, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Pure validation or navigation failure. Operational acquisition failures\n remain exceptions at the Server boundary rather than becoming empty results." + }, + "id": "LibTmux.Query#t:QueryError", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`QueryError `", + "raw": "instance Eq QueryError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Query.html#t:QueryError", + "target": "LibTmux.Query#t:QueryError", + "text": "QueryError" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 130, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`QueryError `", + "raw": "instance Show QueryError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Query.html#t:QueryError", + "target": "LibTmux.Query#t:QueryError", + "text": "QueryError" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 130, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "QueryError", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "t:QueryError", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#t:QueryError", + "qualifiedName": "LibTmux.Query.QueryError", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "QueryError" + } + ], + "params": [], + "raw": "data QueryError" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 124, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Stable field key unavailable to the evaluator." + }, + "id": "LibTmux.Query#v:FieldUnavailable", + "kind": "function", + "modifiers": [], + "name": "FieldUnavailable", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:FieldUnavailable", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query#t:QueryError", + "product": "core", + "publicId": "LibTmux.Query#v:FieldUnavailable", + "qualifiedName": "LibTmux.Query.FieldUnavailable", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "FieldUnavailable" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "FieldUnavailable !Text" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 125, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Stable relationship key unavailable to the evaluator." + }, + "id": "LibTmux.Query#v:RelationshipUnavailable", + "kind": "function", + "modifiers": [], + "name": "RelationshipUnavailable", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:RelationshipUnavailable", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query#t:QueryError", + "product": "core", + "publicId": "LibTmux.Query#v:RelationshipUnavailable", + "qualifiedName": "LibTmux.Query.RelationshipUnavailable", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "RelationshipUnavailable" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "RelationshipUnavailable !Text" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 126, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Field, required release and observed release." + }, + "id": "LibTmux.Query#v:RequiresTmux", + "kind": "function", + "modifiers": [], + "name": "RequiresTmux", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:RequiresTmux", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query#t:QueryError", + "product": "core", + "publicId": "LibTmux.Query#v:RequiresTmux", + "qualifiedName": "LibTmux.Query.RequiresTmux", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "RequiresTmux" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + }, + { + "text": " !" + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + }, + { + "text": " !" + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + } + ], + "params": [], + "raw": "RequiresTmux !Text !TmuxVersion !TmuxVersion" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 127, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "A catalogue entry has invalid version metadata." + }, + "id": "LibTmux.Query#v:InvalidFieldRequirement", + "kind": "function", + "modifiers": [], + "name": "InvalidFieldRequirement", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:InvalidFieldRequirement", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query#t:QueryError", + "product": "core", + "publicId": "LibTmux.Query#v:InvalidFieldRequirement", + "qualifiedName": "LibTmux.Query.InvalidFieldRequirement", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "InvalidFieldRequirement" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "InvalidFieldRequirement !Text" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 128, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Relationship key and the failed pure lookup." + }, + "id": "LibTmux.Query#v:RelationshipLookupFailed", + "kind": "function", + "modifiers": [], + "name": "RelationshipLookupFailed", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:RelationshipLookupFailed", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query#t:QueryError", + "product": "core", + "publicId": "LibTmux.Query#v:RelationshipLookupFailed", + "qualifiedName": "LibTmux.Query.RelationshipLookupFailed", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "RelationshipLookupFailed" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + }, + { + "text": " !" + }, + { + "href": "LibTmux-Snapshot.html#t:LookupError", + "target": "LibTmux.Snapshot#t:LookupError", + "text": "LookupError" + } + ], + "params": [], + "raw": "RelationshipLookupFailed !Text !LookupError" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 129, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query", + "doc": { + "summary": "Validate and evaluate against the supplied complete snapshot. Every\n requirement is checked before reading rows, including empty sources and\n zero limits. Consuming a successful result performs only pure processing\n of owned observations. No acquisition, pushdown or refresh occurs." + }, + "id": "LibTmux.Query#v:runQuery", + "kind": "function", + "modifiers": [], + "name": "runQuery", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:runQuery", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:runQuery", + "qualifiedName": "LibTmux.Query.runQuery", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "runQuery" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Query.html#t:Query", + "target": "LibTmux.Query#t:Query", + "text": "Query" + }, + { + "text": " row -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Query.html#t:QueryError", + "target": "LibTmux.Query#t:QueryError", + "text": "QueryError" + }, + { + "text": " [row]" + } + ], + "params": [], + "raw": "runQuery :: Snapshot -> Query row -> Either QueryError [row]" + } + ], + "source": { + "file": "src/LibTmux/Query.hs", + "line": 70, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query", + "doc": { + "body": "This performs one acquisition per call, even when the query is reused or\n has a zero limit. Use :obj:`runQuery ` to reuse an existing :obj:`Snapshot `. No filter\n is pushed into tmux in this implementation.", + "summary": "Acquire a complete fresh snapshot and evaluate the query against it.\n Compiled evaluator support is checked before IO; version requirements are\n checked against acquired server metadata. Operational failures propagate\n as exceptions from :obj:`capture `; use :obj:`tryTmux ` to retain their\n context and recovery owners. Cancellation propagates unchanged." + }, + "id": "LibTmux.Query#v:fetch", + "kind": "function", + "modifiers": [], + "name": "fetch", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:fetch", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:fetch", + "qualifiedName": "LibTmux.Query.fetch", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "fetch" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:Server", + "target": "LibTmux.Server#t:Server", + "text": "Server" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Query.html#t:Query", + "target": "LibTmux.Query#t:Query", + "text": "Query" + }, + { + "text": " row -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " (" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Query.html#t:QueryError", + "target": "LibTmux.Query#t:QueryError", + "text": "QueryError" + }, + { + "text": " [row])" + } + ], + "params": [], + "raw": "fetch :: Server -> Query row -> IO (Either QueryError [row])" + } + ], + "source": { + "file": "src/LibTmux/Query.hs", + "line": 82, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Selection cardinality without retaining observations or counting ambiguity." + }, + "id": "LibTmux.Query#t:CardinalityError", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`CardinalityError `", + "raw": "instance Eq CardinalityError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Query.html#t:CardinalityError", + "target": "LibTmux.Query#t:CardinalityError", + "text": "CardinalityError" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 36, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`CardinalityError `", + "raw": "instance Show CardinalityError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Query.html#t:CardinalityError", + "target": "LibTmux.Query#t:CardinalityError", + "text": "CardinalityError" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 36, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "CardinalityError", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "t:CardinalityError", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#t:CardinalityError", + "qualifiedName": "LibTmux.Query.CardinalityError", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "CardinalityError" + } + ], + "params": [], + "raw": "data CardinalityError" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 33, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "The selection is empty where one value was required." + }, + "id": "LibTmux.Query#v:NoMatches", + "kind": "function", + "modifiers": [], + "name": "NoMatches", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:NoMatches", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query#t:CardinalityError", + "product": "core", + "publicId": "LibTmux.Query#v:NoMatches", + "qualifiedName": "LibTmux.Query.NoMatches", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "NoMatches" + } + ], + "params": [], + "raw": "NoMatches" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 34, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "A second match exists; no complete count is computed." + }, + "id": "LibTmux.Query#v:AtLeastTwoMatches", + "kind": "function", + "modifiers": [], + "name": "AtLeastTwoMatches", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:AtLeastTwoMatches", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query#t:CardinalityError", + "product": "core", + "publicId": "LibTmux.Query#v:AtLeastTwoMatches", + "qualifiedName": "LibTmux.Query.AtLeastTwoMatches", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "AtLeastTwoMatches" + } + ], + "params": [], + "raw": "AtLeastTwoMatches" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 35, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Require exactly one value. Uniqueness can require traversing the entire\n input; ambiguity is established at the second match without forcing its tail.\n This neither acquires data nor reserves a live command target." + }, + "id": "LibTmux.Query#v:exactlyOne", + "kind": "function", + "modifiers": [], + "name": "exactlyOne", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:exactlyOne", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:exactlyOne", + "qualifiedName": "LibTmux.Query.exactlyOne", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "exactlyOne" + }, + { + "text": " :: [row] -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Query.html#t:CardinalityError", + "target": "LibTmux.Query#t:CardinalityError", + "text": "CardinalityError" + }, + { + "text": " row" + } + ], + "params": [], + "raw": "exactlyOne :: [row] -> Either CardinalityError row" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 42, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Query", + "doc": { + "summary": "Permit absence but reject a second match, with the same traversal behavior\n as :obj:`exactlyOne `. Use ordinary `listToMaybe` when choosing the first is intended." + }, + "id": "LibTmux.Query#v:atMostOne", + "kind": "function", + "modifiers": [], + "name": "atMostOne", + "namespace": "LibTmux.Query", + "nativeLocation": { + "anchor": "v:atMostOne", + "module": "LibTmux.Query" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query", + "product": "core", + "publicId": "LibTmux.Query#v:atMostOne", + "qualifiedName": "LibTmux.Query.atMostOne", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "atMostOne" + }, + { + "text": " :: [row] -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Query.html#t:CardinalityError", + "target": "LibTmux.Query#t:CardinalityError", + "text": "CardinalityError" + }, + { + "text": " (" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe", + "text": "Maybe" + }, + { + "text": " row)" + } + ], + "params": [], + "raw": "atMostOne :: [row] -> Either CardinalityError (Maybe row)" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Query.hs", + "line": 49, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Client", + "doc": { + "summary": "Lossless client name supplied by tmux." + }, + "id": "LibTmux.Query.Client#v:name", + "kind": "function", + "modifiers": [], + "name": "name", + "namespace": "LibTmux.Query.Client", + "nativeLocation": { + "anchor": "v:name", + "module": "LibTmux.Query.Client" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Client", + "product": "core", + "publicId": "LibTmux.Query.Client#v:name", + "qualifiedName": "LibTmux.Query.Client.name", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "name" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Client", + "target": "LibTmux.Snapshot#t:Client", + "text": "Client" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixString", + "text": "PosixString" + } + ], + "params": [], + "raw": "name :: Field Client PosixString" + } + ], + "source": { + "file": "src/LibTmux/Query/Client.hs", + "line": 17, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Client", + "doc": { + "summary": "Positive operating-system process ID, for observation rather than signalling." + }, + "id": "LibTmux.Query.Client#v:pid", + "kind": "function", + "modifiers": [], + "name": "pid", + "namespace": "LibTmux.Query.Client", + "nativeLocation": { + "anchor": "v:pid", + "module": "LibTmux.Query.Client" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Client", + "product": "core", + "publicId": "LibTmux.Query.Client#v:pid", + "qualifiedName": "LibTmux.Query.Client.pid", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "pid" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Client", + "target": "LibTmux.Snapshot#t:Client", + "text": "Client" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "pid :: Field Client Integer" + } + ], + "source": { + "file": "src/LibTmux/Query/Client.hs", + "line": 21, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Client", + "doc": { + "summary": "Observed client tty, or [Nothing](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#v:Nothing) when tmux reports no tty." + }, + "id": "LibTmux.Query.Client#v:tty", + "kind": "function", + "modifiers": [], + "name": "tty", + "namespace": "LibTmux.Query.Client", + "nativeLocation": { + "anchor": "v:tty", + "module": "LibTmux.Query.Client" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Client", + "product": "core", + "publicId": "LibTmux.Query.Client#v:tty", + "qualifiedName": "LibTmux.Query.Client.tty", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "tty" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Client", + "target": "LibTmux.Snapshot#t:Client", + "text": "Client" + }, + { + "text": " (" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe", + "text": "Maybe" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath", + "text": "PosixPath" + }, + { + "text": ")" + } + ], + "params": [], + "raw": "tty :: Field Client (Maybe PosixPath)" + } + ], + "source": { + "file": "src/LibTmux/Query/Client.hs", + "line": 25, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Client", + "doc": { + "summary": "Optional captured selection, used with :obj:`optionalRelated `. Absence fails\n that positive predicate and satisfies its negation." + }, + "id": "LibTmux.Query.Client#v:attachment", + "kind": "function", + "modifiers": [], + "name": "attachment", + "namespace": "LibTmux.Query.Client", + "nativeLocation": { + "anchor": "v:attachment", + "module": "LibTmux.Query.Client" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Client", + "product": "core", + "publicId": "LibTmux.Query.Client#v:attachment", + "qualifiedName": "LibTmux.Query.Client.attachment", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "attachment" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:ToOptional", + "target": "LibTmux.Query#t:ToOptional", + "text": "ToOptional" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Client", + "target": "LibTmux.Snapshot#t:Client", + "text": "Client" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:ClientAttachment", + "target": "LibTmux.Snapshot#t:ClientAttachment", + "text": "ClientAttachment" + } + ], + "params": [], + "raw": "attachment :: ToOptional Client ClientAttachment" + } + ], + "source": { + "file": "src/LibTmux/Query/Client.hs", + "line": 30, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.ClientAttachment", + "doc": { + "summary": "Native ID of the selected session." + }, + "id": "LibTmux.Query.ClientAttachment#v:sessionId", + "kind": "function", + "modifiers": [], + "name": "sessionId", + "namespace": "LibTmux.Query.ClientAttachment", + "nativeLocation": { + "anchor": "v:sessionId", + "module": "LibTmux.Query.ClientAttachment" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.ClientAttachment", + "product": "core", + "publicId": "LibTmux.Query.ClientAttachment#v:sessionId", + "qualifiedName": "LibTmux.Query.ClientAttachment.sessionId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "sessionId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:ClientAttachment", + "target": "LibTmux.Snapshot#t:ClientAttachment", + "text": "ClientAttachment" + }, + { + "text": " " + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + } + ], + "params": [], + "raw": "sessionId :: Field ClientAttachment SessionId" + } + ], + "source": { + "file": "src/LibTmux/Query/ClientAttachment.hs", + "line": 19, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.ClientAttachment", + "doc": { + "summary": "Native ID of the selected physical window." + }, + "id": "LibTmux.Query.ClientAttachment#v:windowId", + "kind": "function", + "modifiers": [], + "name": "windowId", + "namespace": "LibTmux.Query.ClientAttachment", + "nativeLocation": { + "anchor": "v:windowId", + "module": "LibTmux.Query.ClientAttachment" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.ClientAttachment", + "product": "core", + "publicId": "LibTmux.Query.ClientAttachment#v:windowId", + "qualifiedName": "LibTmux.Query.ClientAttachment.windowId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windowId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:ClientAttachment", + "target": "LibTmux.Snapshot#t:ClientAttachment", + "text": "ClientAttachment" + }, + { + "text": " " + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + } + ], + "params": [], + "raw": "windowId :: Field ClientAttachment WindowId" + } + ], + "source": { + "file": "src/LibTmux/Query/ClientAttachment.hs", + "line": 23, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.ClientAttachment", + "doc": { + "summary": "Selected link index in the client's session." + }, + "id": "LibTmux.Query.ClientAttachment#v:windowIndex", + "kind": "function", + "modifiers": [], + "name": "windowIndex", + "namespace": "LibTmux.Query.ClientAttachment", + "nativeLocation": { + "anchor": "v:windowIndex", + "module": "LibTmux.Query.ClientAttachment" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.ClientAttachment", + "product": "core", + "publicId": "LibTmux.Query.ClientAttachment#v:windowIndex", + "qualifiedName": "LibTmux.Query.ClientAttachment.windowIndex", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windowIndex" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:ClientAttachment", + "target": "LibTmux.Snapshot#t:ClientAttachment", + "text": "ClientAttachment" + }, + { + "text": " " + }, + { + "href": "LibTmux-Value.html#t:WindowIndex", + "target": "LibTmux.Value#t:WindowIndex", + "text": "WindowIndex" + } + ], + "params": [], + "raw": "windowIndex :: Field ClientAttachment WindowIndex" + } + ], + "source": { + "file": "src/LibTmux/Query/ClientAttachment.hs", + "line": 27, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.ClientAttachment", + "doc": { + "summary": "Native ID of the selected physical pane." + }, + "id": "LibTmux.Query.ClientAttachment#v:paneId", + "kind": "function", + "modifiers": [], + "name": "paneId", + "namespace": "LibTmux.Query.ClientAttachment", + "nativeLocation": { + "anchor": "v:paneId", + "module": "LibTmux.Query.ClientAttachment" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.ClientAttachment", + "product": "core", + "publicId": "LibTmux.Query.ClientAttachment#v:paneId", + "qualifiedName": "LibTmux.Query.ClientAttachment.paneId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "paneId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:ClientAttachment", + "target": "LibTmux.Snapshot#t:ClientAttachment", + "text": "ClientAttachment" + }, + { + "text": " " + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + } + ], + "params": [], + "raw": "paneId :: Field ClientAttachment PaneId" + } + ], + "source": { + "file": "src/LibTmux/Query/ClientAttachment.hs", + "line": 31, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.ClientAttachment", + "doc": { + "summary": "Selected session observation, used with :obj:`related `." + }, + "id": "LibTmux.Query.ClientAttachment#v:session", + "kind": "function", + "modifiers": [], + "name": "session", + "namespace": "LibTmux.Query.ClientAttachment", + "nativeLocation": { + "anchor": "v:session", + "module": "LibTmux.Query.ClientAttachment" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.ClientAttachment", + "product": "core", + "publicId": "LibTmux.Query.ClientAttachment#v:session", + "qualifiedName": "LibTmux.Query.ClientAttachment.session", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "session" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:ToOne", + "target": "LibTmux.Query#t:ToOne", + "text": "ToOne" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:ClientAttachment", + "target": "LibTmux.Snapshot#t:ClientAttachment", + "text": "ClientAttachment" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + } + ], + "params": [], + "raw": "session :: ToOne ClientAttachment Session" + } + ], + "source": { + "file": "src/LibTmux/Query/ClientAttachment.hs", + "line": 35, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.ClientAttachment", + "doc": { + "summary": "Selected physical window observation." + }, + "id": "LibTmux.Query.ClientAttachment#v:window", + "kind": "function", + "modifiers": [], + "name": "window", + "namespace": "LibTmux.Query.ClientAttachment", + "nativeLocation": { + "anchor": "v:window", + "module": "LibTmux.Query.ClientAttachment" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.ClientAttachment", + "product": "core", + "publicId": "LibTmux.Query.ClientAttachment#v:window", + "qualifiedName": "LibTmux.Query.ClientAttachment.window", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "window" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:ToOne", + "target": "LibTmux.Query#t:ToOne", + "text": "ToOne" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:ClientAttachment", + "target": "LibTmux.Snapshot#t:ClientAttachment", + "text": "ClientAttachment" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + } + ], + "params": [], + "raw": "window :: ToOne ClientAttachment Window" + } + ], + "source": { + "file": "src/LibTmux/Query/ClientAttachment.hs", + "line": 39, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.ClientAttachment", + "doc": { + "summary": "Selected pane in its actual session/index context." + }, + "id": "LibTmux.Query.ClientAttachment#v:pane", + "kind": "function", + "modifiers": [], + "name": "pane", + "namespace": "LibTmux.Query.ClientAttachment", + "nativeLocation": { + "anchor": "v:pane", + "module": "LibTmux.Query.ClientAttachment" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.ClientAttachment", + "product": "core", + "publicId": "LibTmux.Query.ClientAttachment#v:pane", + "qualifiedName": "LibTmux.Query.ClientAttachment.pane", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "pane" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:ToOne", + "target": "LibTmux.Query#t:ToOne", + "text": "ToOne" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:ClientAttachment", + "target": "LibTmux.Snapshot#t:ClientAttachment", + "text": "ClientAttachment" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:PaneOccurrence", + "target": "LibTmux.Snapshot#t:PaneOccurrence", + "text": "PaneOccurrence" + } + ], + "params": [], + "raw": "pane :: ToOne ClientAttachment PaneOccurrence" + } + ], + "source": { + "file": "src/LibTmux/Query/ClientAttachment.hs", + "line": 43, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Link", + "doc": { + "summary": "Native ID of the session that owns this observed link." + }, + "id": "LibTmux.Query.Link#v:sessionId", + "kind": "function", + "modifiers": [], + "name": "sessionId", + "namespace": "LibTmux.Query.Link", + "nativeLocation": { + "anchor": "v:sessionId", + "module": "LibTmux.Query.Link" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Link", + "product": "core", + "publicId": "LibTmux.Query.Link#v:sessionId", + "qualifiedName": "LibTmux.Query.Link.sessionId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "sessionId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + }, + { + "text": " " + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + } + ], + "params": [], + "raw": "sessionId :: Field WindowLink SessionId" + } + ], + "source": { + "file": "src/LibTmux/Query/Link.hs", + "line": 17, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Link", + "doc": { + "summary": "Native ID of the shared physical window." + }, + "id": "LibTmux.Query.Link#v:windowId", + "kind": "function", + "modifiers": [], + "name": "windowId", + "namespace": "LibTmux.Query.Link", + "nativeLocation": { + "anchor": "v:windowId", + "module": "LibTmux.Query.Link" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Link", + "product": "core", + "publicId": "LibTmux.Query.Link#v:windowId", + "qualifiedName": "LibTmux.Query.Link.windowId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windowId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + }, + { + "text": " " + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + } + ], + "params": [], + "raw": "windowId :: Field WindowLink WindowId" + } + ], + "source": { + "file": "src/LibTmux/Query/Link.hs", + "line": 21, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Link", + "doc": { + "summary": "Window-link index within the session; reindexing can change it." + }, + "id": "LibTmux.Query.Link#v:index", + "kind": "function", + "modifiers": [], + "name": "index", + "namespace": "LibTmux.Query.Link", + "nativeLocation": { + "anchor": "v:index", + "module": "LibTmux.Query.Link" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Link", + "product": "core", + "publicId": "LibTmux.Query.Link#v:index", + "qualifiedName": "LibTmux.Query.Link.index", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "index" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + }, + { + "text": " " + }, + { + "href": "LibTmux-Value.html#t:WindowIndex", + "target": "LibTmux.Value#t:WindowIndex", + "text": "WindowIndex" + } + ], + "params": [], + "raw": "index :: Field WindowLink WindowIndex" + } + ], + "source": { + "file": "src/LibTmux/Query/Link.hs", + "line": 25, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Link", + "doc": { + "summary": "Whether this link is selected in its session." + }, + "id": "LibTmux.Query.Link#v:active", + "kind": "function", + "modifiers": [], + "name": "active", + "namespace": "LibTmux.Query.Link", + "nativeLocation": { + "anchor": "v:active", + "module": "LibTmux.Query.Link" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Link", + "product": "core", + "publicId": "LibTmux.Query.Link#v:active", + "qualifiedName": "LibTmux.Query.Link.active", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "active" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool", + "text": "Bool" + } + ], + "params": [], + "raw": "active :: Field WindowLink Bool" + } + ], + "source": { + "file": "src/LibTmux/Query/Link.hs", + "line": 29, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Link", + "doc": { + "summary": "Resolve the session in the supplied snapshot with :obj:`related `." + }, + "id": "LibTmux.Query.Link#v:session", + "kind": "function", + "modifiers": [], + "name": "session", + "namespace": "LibTmux.Query.Link", + "nativeLocation": { + "anchor": "v:session", + "module": "LibTmux.Query.Link" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Link", + "product": "core", + "publicId": "LibTmux.Query.Link#v:session", + "qualifiedName": "LibTmux.Query.Link.session", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "session" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:ToOne", + "target": "LibTmux.Query#t:ToOne", + "text": "ToOne" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + } + ], + "params": [], + "raw": "session :: ToOne WindowLink Session" + } + ], + "source": { + "file": "src/LibTmux/Query/Link.hs", + "line": 33, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Link", + "doc": { + "summary": "Resolve the shared physical window in the supplied snapshot." + }, + "id": "LibTmux.Query.Link#v:window", + "kind": "function", + "modifiers": [], + "name": "window", + "namespace": "LibTmux.Query.Link", + "nativeLocation": { + "anchor": "v:window", + "module": "LibTmux.Query.Link" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Link", + "product": "core", + "publicId": "LibTmux.Query.Link#v:window", + "qualifiedName": "LibTmux.Query.Link.window", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "window" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:ToOne", + "target": "LibTmux.Query#t:ToOne", + "text": "ToOne" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + } + ], + "params": [], + "raw": "window :: ToOne WindowLink Window" + } + ], + "source": { + "file": "src/LibTmux/Query/Link.hs", + "line": 37, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Link", + "doc": { + "summary": "Physical panes reached through this link, ordered by pane index." + }, + "id": "LibTmux.Query.Link#v:panes", + "kind": "function", + "modifiers": [], + "name": "panes", + "namespace": "LibTmux.Query.Link", + "nativeLocation": { + "anchor": "v:panes", + "module": "LibTmux.Query.Link" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Link", + "product": "core", + "publicId": "LibTmux.Query.Link#v:panes", + "qualifiedName": "LibTmux.Query.Link.panes", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "panes" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:ToMany", + "target": "LibTmux.Query#t:ToMany", + "text": "ToMany" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + } + ], + "params": [], + "raw": "panes :: ToMany WindowLink Pane" + } + ], + "source": { + "file": "src/LibTmux/Query/Link.hs", + "line": 41, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Occurrence", + "doc": { + "summary": "The physical pane observed through this occurrence, used with :obj:`related `." + }, + "id": "LibTmux.Query.Occurrence#v:pane", + "kind": "function", + "modifiers": [], + "name": "pane", + "namespace": "LibTmux.Query.Occurrence", + "nativeLocation": { + "anchor": "v:pane", + "module": "LibTmux.Query.Occurrence" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Occurrence", + "product": "core", + "publicId": "LibTmux.Query.Occurrence#v:pane", + "qualifiedName": "LibTmux.Query.Occurrence.pane", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "pane" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:ToOne", + "target": "LibTmux.Query#t:ToOne", + "text": "ToOne" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:PaneOccurrence", + "target": "LibTmux.Snapshot#t:PaneOccurrence", + "text": "PaneOccurrence" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + } + ], + "params": [], + "raw": "pane :: ToOne PaneOccurrence Pane" + } + ], + "source": { + "file": "src/LibTmux/Query/Occurrence.hs", + "line": 14, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Occurrence", + "doc": { + "summary": "The observed session and window-index context of this appearance." + }, + "id": "LibTmux.Query.Occurrence#v:link", + "kind": "function", + "modifiers": [], + "name": "link", + "namespace": "LibTmux.Query.Occurrence", + "nativeLocation": { + "anchor": "v:link", + "module": "LibTmux.Query.Occurrence" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Occurrence", + "product": "core", + "publicId": "LibTmux.Query.Occurrence#v:link", + "qualifiedName": "LibTmux.Query.Occurrence.link", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "link" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:ToOne", + "target": "LibTmux.Query#t:ToOne", + "text": "ToOne" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:PaneOccurrence", + "target": "LibTmux.Snapshot#t:PaneOccurrence", + "text": "PaneOccurrence" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + } + ], + "params": [], + "raw": "link :: ToOne PaneOccurrence WindowLink" + } + ], + "source": { + "file": "src/LibTmux/Query/Occurrence.hs", + "line": 18, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Pane", + "doc": { + "summary": "Native pane ID. Equality alone does not establish Server identity." + }, + "id": "LibTmux.Query.Pane#v:id", + "kind": "function", + "modifiers": [], + "name": "id", + "namespace": "LibTmux.Query.Pane", + "nativeLocation": { + "anchor": "v:id", + "module": "LibTmux.Query.Pane" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Pane", + "product": "core", + "publicId": "LibTmux.Query.Pane#v:id", + "qualifiedName": "LibTmux.Query.Pane.id", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "id" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + }, + { + "text": " " + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + } + ], + "params": [], + "raw": "id :: Field Pane PaneId" + } + ], + "source": { + "file": "src/LibTmux/Query/Pane.hs", + "line": 25, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Pane", + "doc": { + "summary": "Native ID of the pane's physical window; use :obj:`window ` to navigate it." + }, + "id": "LibTmux.Query.Pane#v:windowId", + "kind": "function", + "modifiers": [], + "name": "windowId", + "namespace": "LibTmux.Query.Pane", + "nativeLocation": { + "anchor": "v:windowId", + "module": "LibTmux.Query.Pane" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Pane", + "product": "core", + "publicId": "LibTmux.Query.Pane#v:windowId", + "qualifiedName": "LibTmux.Query.Pane.windowId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windowId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + }, + { + "text": " " + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + } + ], + "params": [], + "raw": "windowId :: Field Pane WindowId" + } + ], + "source": { + "file": "src/LibTmux/Query/Pane.hs", + "line": 29, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Pane", + "doc": { + "summary": "Pane index within its window, distinct from a window-link index." + }, + "id": "LibTmux.Query.Pane#v:index", + "kind": "function", + "modifiers": [], + "name": "index", + "namespace": "LibTmux.Query.Pane", + "nativeLocation": { + "anchor": "v:index", + "module": "LibTmux.Query.Pane" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Pane", + "product": "core", + "publicId": "LibTmux.Query.Pane#v:index", + "qualifiedName": "LibTmux.Query.Pane.index", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "index" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + }, + { + "text": " " + }, + { + "href": "LibTmux-Value.html#t:PaneIndex", + "target": "LibTmux.Value#t:PaneIndex", + "text": "PaneIndex" + } + ], + "params": [], + "raw": "index :: Field Pane PaneIndex" + } + ], + "source": { + "file": "src/LibTmux/Query/Pane.hs", + "line": 33, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Pane", + "doc": { + "summary": "Positive width in cells. Use :obj:`dimensionAtLeast ` for an integer threshold." + }, + "id": "LibTmux.Query.Pane#v:width", + "kind": "function", + "modifiers": [], + "name": "width", + "namespace": "LibTmux.Query.Pane", + "nativeLocation": { + "anchor": "v:width", + "module": "LibTmux.Query.Pane" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Pane", + "product": "core", + "publicId": "LibTmux.Query.Pane#v:width", + "qualifiedName": "LibTmux.Query.Pane.width", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "width" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + }, + { + "text": " " + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + } + ], + "params": [], + "raw": "width :: Field Pane Dimension" + } + ], + "source": { + "file": "src/LibTmux/Query/Pane.hs", + "line": 37, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Pane", + "doc": { + "summary": "Positive height in cells, independent of window-link context." + }, + "id": "LibTmux.Query.Pane#v:height", + "kind": "function", + "modifiers": [], + "name": "height", + "namespace": "LibTmux.Query.Pane", + "nativeLocation": { + "anchor": "v:height", + "module": "LibTmux.Query.Pane" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Pane", + "product": "core", + "publicId": "LibTmux.Query.Pane#v:height", + "qualifiedName": "LibTmux.Query.Pane.height", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "height" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + }, + { + "text": " " + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + } + ], + "params": [], + "raw": "height :: Field Pane Dimension" + } + ], + "source": { + "file": "src/LibTmux/Query/Pane.hs", + "line": 41, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Pane", + "doc": { + "summary": "Whether this is the active pane of its physical window." + }, + "id": "LibTmux.Query.Pane#v:active", + "kind": "function", + "modifiers": [], + "name": "active", + "namespace": "LibTmux.Query.Pane", + "nativeLocation": { + "anchor": "v:active", + "module": "LibTmux.Query.Pane" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Pane", + "product": "core", + "publicId": "LibTmux.Query.Pane#v:active", + "qualifiedName": "LibTmux.Query.Pane.active", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "active" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool", + "text": "Bool" + } + ], + "params": [], + "raw": "active :: Field Pane Bool" + } + ], + "source": { + "file": "src/LibTmux/Query/Pane.hs", + "line": 45, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Pane", + "doc": { + "summary": "Whether tmux observed the pane's process as dead." + }, + "id": "LibTmux.Query.Pane#v:dead", + "kind": "function", + "modifiers": [], + "name": "dead", + "namespace": "LibTmux.Query.Pane", + "nativeLocation": { + "anchor": "v:dead", + "module": "LibTmux.Query.Pane" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Pane", + "product": "core", + "publicId": "LibTmux.Query.Pane#v:dead", + "qualifiedName": "LibTmux.Query.Pane.dead", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "dead" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool", + "text": "Bool" + } + ], + "params": [], + "raw": "dead :: Field Pane Bool" + } + ], + "source": { + "file": "src/LibTmux/Query/Pane.hs", + "line": 49, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Pane", + "doc": { + "summary": "UTF-8 pane title. :obj:`contains ` performs exact Text substring matching." + }, + "id": "LibTmux.Query.Pane#v:title", + "kind": "function", + "modifiers": [], + "name": "title", + "namespace": "LibTmux.Query.Pane", + "nativeLocation": { + "anchor": "v:title", + "module": "LibTmux.Query.Pane" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Pane", + "product": "core", + "publicId": "LibTmux.Query.Pane#v:title", + "qualifiedName": "LibTmux.Query.Pane.title", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "title" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "title :: Field Pane Text" + } + ], + "source": { + "file": "src/LibTmux/Query/Pane.hs", + "line": 53, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Pane", + "doc": { + "summary": "Foreground command name as lossless POSIX bytes, not a shell command line." + }, + "id": "LibTmux.Query.Pane#v:currentCommand", + "kind": "function", + "modifiers": [], + "name": "currentCommand", + "namespace": "LibTmux.Query.Pane", + "nativeLocation": { + "anchor": "v:currentCommand", + "module": "LibTmux.Query.Pane" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Pane", + "product": "core", + "publicId": "LibTmux.Query.Pane#v:currentCommand", + "qualifiedName": "LibTmux.Query.Pane.currentCommand", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "currentCommand" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixString", + "text": "PosixString" + } + ], + "params": [], + "raw": "currentCommand :: Field Pane PosixString" + } + ], + "source": { + "file": "src/LibTmux/Query/Pane.hs", + "line": 57, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Pane", + "doc": { + "summary": "Observed current directory on the tmux endpoint, preserving POSIX bytes." + }, + "id": "LibTmux.Query.Pane#v:currentPath", + "kind": "function", + "modifiers": [], + "name": "currentPath", + "namespace": "LibTmux.Query.Pane", + "nativeLocation": { + "anchor": "v:currentPath", + "module": "LibTmux.Query.Pane" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Pane", + "product": "core", + "publicId": "LibTmux.Query.Pane#v:currentPath", + "qualifiedName": "LibTmux.Query.Pane.currentPath", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "currentPath" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath", + "text": "PosixPath" + } + ], + "params": [], + "raw": "currentPath :: Field Pane PosixPath" + } + ], + "source": { + "file": "src/LibTmux/Query/Pane.hs", + "line": 61, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Pane", + "doc": { + "summary": "Resolve the pane's physical window in the supplied snapshot with :obj:`related `." + }, + "id": "LibTmux.Query.Pane#v:window", + "kind": "function", + "modifiers": [], + "name": "window", + "namespace": "LibTmux.Query.Pane", + "nativeLocation": { + "anchor": "v:window", + "module": "LibTmux.Query.Pane" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Pane", + "product": "core", + "publicId": "LibTmux.Query.Pane#v:window", + "qualifiedName": "LibTmux.Query.Pane.window", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "window" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:ToOne", + "target": "LibTmux.Query#t:ToOne", + "text": "ToOne" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + } + ], + "params": [], + "raw": "window :: ToOne Pane Window" + } + ], + "source": { + "file": "src/LibTmux/Query/Pane.hs", + "line": 65, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.ServerInfo", + "doc": { + "summary": "Observed daemon process ID." + }, + "id": "LibTmux.Query.ServerInfo#v:pid", + "kind": "function", + "modifiers": [], + "name": "pid", + "namespace": "LibTmux.Query.ServerInfo", + "nativeLocation": { + "anchor": "v:pid", + "module": "LibTmux.Query.ServerInfo" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.ServerInfo", + "product": "core", + "publicId": "LibTmux.Query.ServerInfo#v:pid", + "qualifiedName": "LibTmux.Query.ServerInfo.pid", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "pid" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:ServerInfo", + "target": "LibTmux.Snapshot#t:ServerInfo", + "text": "ServerInfo" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "pid :: Field ServerInfo Integer" + } + ], + "source": { + "file": "src/LibTmux/Query/ServerInfo.hs", + "line": 16, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.ServerInfo", + "doc": { + "summary": "Daemon start time in epoch seconds, as reported by tmux." + }, + "id": "LibTmux.Query.ServerInfo#v:startedAt", + "kind": "function", + "modifiers": [], + "name": "startedAt", + "namespace": "LibTmux.Query.ServerInfo", + "nativeLocation": { + "anchor": "v:startedAt", + "module": "LibTmux.Query.ServerInfo" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.ServerInfo", + "product": "core", + "publicId": "LibTmux.Query.ServerInfo#v:startedAt", + "qualifiedName": "LibTmux.Query.ServerInfo.startedAt", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "startedAt" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:ServerInfo", + "target": "LibTmux.Snapshot#t:ServerInfo", + "text": "ServerInfo" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "startedAt :: Field ServerInfo Integer" + } + ], + "source": { + "file": "src/LibTmux/Query/ServerInfo.hs", + "line": 20, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.ServerInfo", + "doc": { + "summary": "Parsed tmux release, compared using the library's version ordering." + }, + "id": "LibTmux.Query.ServerInfo#v:version", + "kind": "function", + "modifiers": [], + "name": "version", + "namespace": "LibTmux.Query.ServerInfo", + "nativeLocation": { + "anchor": "v:version", + "module": "LibTmux.Query.ServerInfo" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.ServerInfo", + "product": "core", + "publicId": "LibTmux.Query.ServerInfo#v:version", + "qualifiedName": "LibTmux.Query.ServerInfo.version", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "version" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:ServerInfo", + "target": "LibTmux.Snapshot#t:ServerInfo", + "text": "ServerInfo" + }, + { + "text": " " + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + } + ], + "params": [], + "raw": "version :: Field ServerInfo TmuxVersion" + } + ], + "source": { + "file": "src/LibTmux/Query/ServerInfo.hs", + "line": 24, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.ServerInfo", + "doc": { + "summary": "Reported socket path on the tmux endpoint, retaining POSIX bytes." + }, + "id": "LibTmux.Query.ServerInfo#v:socketPath", + "kind": "function", + "modifiers": [], + "name": "socketPath", + "namespace": "LibTmux.Query.ServerInfo", + "nativeLocation": { + "anchor": "v:socketPath", + "module": "LibTmux.Query.ServerInfo" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.ServerInfo", + "product": "core", + "publicId": "LibTmux.Query.ServerInfo#v:socketPath", + "qualifiedName": "LibTmux.Query.ServerInfo.socketPath", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "socketPath" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:ServerInfo", + "target": "LibTmux.Snapshot#t:ServerInfo", + "text": "ServerInfo" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath", + "text": "PosixPath" + } + ], + "params": [], + "raw": "socketPath :: Field ServerInfo PosixPath" + } + ], + "source": { + "file": "src/LibTmux/Query/ServerInfo.hs", + "line": 28, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Session", + "doc": { + "summary": "Native session ID without a connection-generation guarantee." + }, + "id": "LibTmux.Query.Session#v:id", + "kind": "function", + "modifiers": [], + "name": "id", + "namespace": "LibTmux.Query.Session", + "nativeLocation": { + "anchor": "v:id", + "module": "LibTmux.Query.Session" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Session", + "product": "core", + "publicId": "LibTmux.Query.Session#v:id", + "qualifiedName": "LibTmux.Query.Session.id", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "id" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + }, + { + "text": " " + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + } + ], + "params": [], + "raw": "id :: Field Session SessionId" + } + ], + "source": { + "file": "src/LibTmux/Query/Session.hs", + "line": 18, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Session", + "doc": { + "summary": "Captured UTF-8 session name. Equality does not normalize Unicode." + }, + "id": "LibTmux.Query.Session#v:name", + "kind": "function", + "modifiers": [], + "name": "name", + "namespace": "LibTmux.Query.Session", + "nativeLocation": { + "anchor": "v:name", + "module": "LibTmux.Query.Session" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Session", + "product": "core", + "publicId": "LibTmux.Query.Session#v:name", + "qualifiedName": "LibTmux.Query.Session.name", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "name" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "name :: Field Session Text" + } + ], + "source": { + "file": "src/LibTmux/Query/Session.hs", + "line": 22, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Session", + "doc": { + "summary": "Nonnegative count of attached clients as observed by tmux." + }, + "id": "LibTmux.Query.Session#v:attached", + "kind": "function", + "modifiers": [], + "name": "attached", + "namespace": "LibTmux.Query.Session", + "nativeLocation": { + "anchor": "v:attached", + "module": "LibTmux.Query.Session" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Session", + "product": "core", + "publicId": "LibTmux.Query.Session#v:attached", + "qualifiedName": "LibTmux.Query.Session.attached", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "attached" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "attached :: Field Session Integer" + } + ], + "source": { + "file": "src/LibTmux/Query/Session.hs", + "line": 26, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Session", + "doc": { + "summary": "Every window link owned by this session, retaining index and multiplicity." + }, + "id": "LibTmux.Query.Session#v:windowLinks", + "kind": "function", + "modifiers": [], + "name": "windowLinks", + "namespace": "LibTmux.Query.Session", + "nativeLocation": { + "anchor": "v:windowLinks", + "module": "LibTmux.Query.Session" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Session", + "product": "core", + "publicId": "LibTmux.Query.Session#v:windowLinks", + "qualifiedName": "LibTmux.Query.Session.windowLinks", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windowLinks" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:ToMany", + "target": "LibTmux.Query#t:ToMany", + "text": "ToMany" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + } + ], + "params": [], + "raw": "windowLinks :: ToMany Session WindowLink" + } + ], + "source": { + "file": "src/LibTmux/Query/Session.hs", + "line": 30, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Session", + "doc": { + "summary": "Captured clients attached to this session; an empty list is known absence." + }, + "id": "LibTmux.Query.Session#v:clients", + "kind": "function", + "modifiers": [], + "name": "clients", + "namespace": "LibTmux.Query.Session", + "nativeLocation": { + "anchor": "v:clients", + "module": "LibTmux.Query.Session" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Session", + "product": "core", + "publicId": "LibTmux.Query.Session#v:clients", + "qualifiedName": "LibTmux.Query.Session.clients", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "clients" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:ToMany", + "target": "LibTmux.Query#t:ToMany", + "text": "ToMany" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Client", + "target": "LibTmux.Snapshot#t:Client", + "text": "Client" + } + ], + "params": [], + "raw": "clients :: ToMany Session Client" + } + ], + "source": { + "file": "src/LibTmux/Query/Session.hs", + "line": 34, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Window", + "doc": { + "summary": "Native physical window ID, independent of a session's link index." + }, + "id": "LibTmux.Query.Window#v:id", + "kind": "function", + "modifiers": [], + "name": "id", + "namespace": "LibTmux.Query.Window", + "nativeLocation": { + "anchor": "v:id", + "module": "LibTmux.Query.Window" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Window", + "product": "core", + "publicId": "LibTmux.Query.Window#v:id", + "qualifiedName": "LibTmux.Query.Window.id", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "id" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + }, + { + "text": " " + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + } + ], + "params": [], + "raw": "id :: Field Window WindowId" + } + ], + "source": { + "file": "src/LibTmux/Query/Window.hs", + "line": 19, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Window", + "doc": { + "summary": "Lossless window label. Equality and ordering compare its retained bytes." + }, + "id": "LibTmux.Query.Window#v:name", + "kind": "function", + "modifiers": [], + "name": "name", + "namespace": "LibTmux.Query.Window", + "nativeLocation": { + "anchor": "v:name", + "module": "LibTmux.Query.Window" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Window", + "product": "core", + "publicId": "LibTmux.Query.Window#v:name", + "qualifiedName": "LibTmux.Query.Window.name", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "name" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:TmuxText", + "target": "LibTmux.Snapshot#t:TmuxText", + "text": "TmuxText" + } + ], + "params": [], + "raw": "name :: Field Window TmuxText" + } + ], + "source": { + "file": "src/LibTmux/Query/Window.hs", + "line": 23, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Window", + "doc": { + "summary": "Positive physical window width in cells." + }, + "id": "LibTmux.Query.Window#v:width", + "kind": "function", + "modifiers": [], + "name": "width", + "namespace": "LibTmux.Query.Window", + "nativeLocation": { + "anchor": "v:width", + "module": "LibTmux.Query.Window" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Window", + "product": "core", + "publicId": "LibTmux.Query.Window#v:width", + "qualifiedName": "LibTmux.Query.Window.width", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "width" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + }, + { + "text": " " + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + } + ], + "params": [], + "raw": "width :: Field Window Dimension" + } + ], + "source": { + "file": "src/LibTmux/Query/Window.hs", + "line": 27, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Window", + "doc": { + "summary": "Positive physical window height in cells." + }, + "id": "LibTmux.Query.Window#v:height", + "kind": "function", + "modifiers": [], + "name": "height", + "namespace": "LibTmux.Query.Window", + "nativeLocation": { + "anchor": "v:height", + "module": "LibTmux.Query.Window" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Window", + "product": "core", + "publicId": "LibTmux.Query.Window#v:height", + "qualifiedName": "LibTmux.Query.Window.height", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "height" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:Field", + "target": "LibTmux.Query#t:Field", + "text": "Field" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + }, + { + "text": " " + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + } + ], + "params": [], + "raw": "height :: Field Window Dimension" + } + ], + "source": { + "file": "src/LibTmux/Query/Window.hs", + "line": 31, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Window", + "doc": { + "summary": "Physical panes in this window, ordered by pane index." + }, + "id": "LibTmux.Query.Window#v:panes", + "kind": "function", + "modifiers": [], + "name": "panes", + "namespace": "LibTmux.Query.Window", + "nativeLocation": { + "anchor": "v:panes", + "module": "LibTmux.Query.Window" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Window", + "product": "core", + "publicId": "LibTmux.Query.Window#v:panes", + "qualifiedName": "LibTmux.Query.Window.panes", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "panes" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:ToMany", + "target": "LibTmux.Query#t:ToMany", + "text": "ToMany" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + } + ], + "params": [], + "raw": "panes :: ToMany Window Pane" + } + ], + "source": { + "file": "src/LibTmux/Query/Window.hs", + "line": 35, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Query.Window", + "doc": { + "summary": "All contextual appearances of this window across captured sessions." + }, + "id": "LibTmux.Query.Window#v:windowLinks", + "kind": "function", + "modifiers": [], + "name": "windowLinks", + "namespace": "LibTmux.Query.Window", + "nativeLocation": { + "anchor": "v:windowLinks", + "module": "LibTmux.Query.Window" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Query.Window", + "product": "core", + "publicId": "LibTmux.Query.Window#v:windowLinks", + "qualifiedName": "LibTmux.Query.Window.windowLinks", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windowLinks" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Query.html#t:ToMany", + "target": "LibTmux.Query#t:ToMany", + "text": "ToMany" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + } + ], + "params": [], + "raw": "windowLinks :: ToMany Window WindowLink" + } + ], + "source": { + "file": "src/LibTmux/Query/Window.hs", + "line": 39, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "One pinned endpoint and connection generation.\n Retaining this value after :obj:`withServer ` or :obj:`withServerIn ` keeps no admission open." + }, + "id": "LibTmux.Server#t:Server", + "instances": [], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "Server", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:Server", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:Server", + "qualifiedName": "LibTmux.Server.Server", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Server" + } + ], + "params": [], + "raw": "data Server" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 74, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Pure configuration, checked when :obj:`withServer ` or :obj:`withServerIn ` opens the handle.\n Paths retain POSIX bytes; no text decoding or shell interpretation occurs." + }, + "id": "LibTmux.Server#t:ServerConfig", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`ServerConfig `", + "raw": "instance Eq ServerConfig", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Server.html#t:ServerConfig", + "target": "LibTmux.Server#t:ServerConfig", + "text": "ServerConfig" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 125, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`ServerConfig `", + "raw": "instance Show ServerConfig", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Server.html#t:ServerConfig", + "target": "LibTmux.Server#t:ServerConfig", + "text": "ServerConfig" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 125, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "ServerConfig", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:ServerConfig", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:ServerConfig", + "qualifiedName": "LibTmux.Server.ServerConfig", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "ServerConfig" + } + ], + "params": [], + "raw": "data ServerConfig" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 119, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": null, + "id": "LibTmux.Server#v:ServerConfig", + "kind": "function", + "modifiers": [], + "name": "ServerConfig", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:ServerConfig", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:ServerConfig", + "product": "core", + "publicId": "LibTmux.Server#v:ServerConfig", + "qualifiedName": "LibTmux.Server.ServerConfig", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "ServerConfig" + } + ], + "params": [], + "raw": "ServerConfig" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 119, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Existing tmux socket, with an absolute trusted path." + }, + "id": "LibTmux.Server#v:ServerConfig.socketPath", + "kind": "property", + "modifiers": [], + "name": "socketPath", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:socketPath", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:ServerConfig", + "product": "core", + "publicId": "LibTmux.Server#v:ServerConfig.socketPath", + "qualifiedName": "LibTmux.Server.socketPath", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "socketPath" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath", + "text": "PosixPath" + } + ], + "params": [], + "raw": "socketPath :: !PosixPath" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 120, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Executable path or a program resolved once through PATH." + }, + "id": "LibTmux.Server#v:ServerConfig.executable", + "kind": "property", + "modifiers": [], + "name": "executable", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:executable", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:ServerConfig", + "product": "core", + "publicId": "LibTmux.Server#v:ServerConfig.executable", + "qualifiedName": "LibTmux.Server.executable", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "executable" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath", + "text": "PosixPath" + } + ], + "params": [], + "raw": "executable :: !PosixPath" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 121, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Writable trusted directory on the socket's filesystem." + }, + "id": "LibTmux.Server#v:ServerConfig.pinDirectory", + "kind": "property", + "modifiers": [], + "name": "pinDirectory", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:pinDirectory", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:ServerConfig", + "product": "core", + "publicId": "LibTmux.Server#v:ServerConfig.pinDirectory", + "qualifiedName": "LibTmux.Server.pinDirectory", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "pinDirectory" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath", + "text": "PosixPath" + } + ], + "params": [], + "raw": "pinDirectory :: !PosixPath" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 122, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Capture deadline in seconds, greater than zero and at most ten." + }, + "id": "LibTmux.Server#v:ServerConfig.captureTimeout", + "kind": "property", + "modifiers": [], + "name": "captureTimeout", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:captureTimeout", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:ServerConfig", + "product": "core", + "publicId": "LibTmux.Server#v:ServerConfig.captureTimeout", + "qualifiedName": "LibTmux.Server.captureTimeout", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "captureTimeout" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/time-1.15/docs/Data-Time-Clock.html#t:NominalDiffTime", + "text": "NominalDiffTime" + } + ], + "params": [], + "raw": "captureTimeout :: !NominalDiffTime" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 123, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Configure an existing socket, resolving `tmux` through PATH when opened.\n The private pin uses the socket's parent directory. The capture timeout is\n two seconds; callers can change it before opening a Server scope." + }, + "id": "LibTmux.Server#v:serverConfig", + "kind": "function", + "modifiers": [], + "name": "serverConfig", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:serverConfig", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:serverConfig", + "qualifiedName": "LibTmux.Server.serverConfig", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "serverConfig" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath", + "text": "PosixPath" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Server.html#t:ServerConfig", + "target": "LibTmux.Server#t:ServerConfig", + "text": "ServerConfig" + } + ], + "params": [], + "raw": "serverConfig :: PosixPath -> ServerConfig" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 131, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Open one handle, run the callback, then perform bounded owned cleanup.\n Cleanup never replaces a callback exception. Incomplete cleanup raises\n :obj:`CleanupFailed ` after success, or annotates the original callback failure\n with a reachable :obj:`CleanupRecovery `. No daemon shutdown is requested." + }, + "id": "LibTmux.Server#v:withServer", + "kind": "function", + "modifiers": [], + "name": "withServer", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:withServer", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:withServer", + "qualifiedName": "LibTmux.Server.withServer", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "withServer" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:ServerConfig", + "target": "LibTmux.Server#t:ServerConfig", + "text": "ServerConfig" + }, + { + "text": " -> (" + }, + { + "href": "LibTmux-Server.html#t:Server", + "target": "LibTmux.Server#t:Server", + "text": "Server" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " a) -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " a" + } + ], + "params": [], + "raw": "withServer :: ServerConfig -> (Server -> IO a) -> IO a" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 138, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Acquire the complete baseline graph, metadata and attached clients.\n Returned values own their data and remain usable after :obj:`withServer ` exits.\n Capacity and acquisition failure are errors; they never become empty lists." + }, + "id": "LibTmux.Server#v:capture", + "kind": "function", + "modifiers": [], + "name": "capture", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:capture", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:capture", + "qualifiedName": "LibTmux.Server.capture", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "capture" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:Server", + "target": "LibTmux.Server#t:Server", + "text": "Server" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + } + ], + "params": [], + "raw": "capture :: Server -> IO Snapshot" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 157, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "The handle's opaque generation, available without contacting tmux." + }, + "id": "LibTmux.Server#v:serverGeneration", + "kind": "function", + "modifiers": [], + "name": "serverGeneration", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:serverGeneration", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:serverGeneration", + "qualifiedName": "LibTmux.Server.serverGeneration", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "serverGeneration" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:Server", + "target": "LibTmux.Server#t:Server", + "text": "Server" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:Generation", + "target": "LibTmux.Snapshot#t:Generation", + "text": "Generation" + } + ], + "params": [], + "raw": "serverGeneration :: Server -> Generation" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 167, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Shared resource limits and cleanup ownership for Server handles. Create\n one with :obj:`withRuntime `, then adopt endpoints through :obj:`withServerIn `.\n Detached :obj:`Snapshot ` values retain no Runtime." + }, + "id": "LibTmux.Server#t:Runtime", + "instances": [], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "Runtime", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:Runtime", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:Runtime", + "qualifiedName": "LibTmux.Server.Runtime", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Runtime" + } + ], + "params": [], + "raw": "data Runtime" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 79, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "body": "Callback failures and cancellation keep their original exception class.\n Incomplete cleanup retains a :obj:`CleanupRecovery ` in the exception context;\n use :obj:`tryTmux ` and :obj:`cleanupRecoveries ` to keep that responsibility reachable.", + "summary": "Own a Runtime for the callback and perform bounded cleanup afterward.\n Closing it retires every adopted handle; application-owned threads remain\n the application's responsibility. Late adoption fails with :obj:`RuntimeClosed `.\n The daemon remains running." + }, + "id": "LibTmux.Server#v:withRuntime", + "kind": "function", + "modifiers": [], + "name": "withRuntime", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:withRuntime", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:withRuntime", + "qualifiedName": "LibTmux.Server.withRuntime", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "withRuntime" + }, + { + "text": " :: (" + }, + { + "href": "LibTmux-Server.html#t:Runtime", + "target": "LibTmux.Server#t:Runtime", + "text": "Runtime" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " a) -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " a" + } + ], + "params": [], + "raw": "withRuntime :: (Runtime -> IO a) -> IO a" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 90, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "body": "Failed adoption can retain a :obj:`CleanupRecovery ` before a :obj:`Server ` exists.\n Inspection, retry and waiting through that owner stay scoped to the failed\n adoption. Cleanup preserves application exceptions, incoming masking state\n and cancellation; known acquisition failures use :obj:`TmuxException `.", + "summary": "Adopt one endpoint within an existing Runtime and close only that handle\n after the callback. Other handles remain admitted under the shared limits;\n each adoption has its own :obj:`serverGeneration `. Use :obj:`withServer ` for one handle." + }, + "id": "LibTmux.Server#v:withServerIn", + "kind": "function", + "modifiers": [], + "name": "withServerIn", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:withServerIn", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:withServerIn", + "qualifiedName": "LibTmux.Server.withServerIn", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "withServerIn" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:Runtime", + "target": "LibTmux.Server#t:Runtime", + "text": "Runtime" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Server.html#t:ServerConfig", + "target": "LibTmux.Server#t:ServerConfig", + "text": "ServerConfig" + }, + { + "text": " -> (" + }, + { + "href": "LibTmux-Server.html#t:Server", + "target": "LibTmux.Server#t:Server", + "text": "Server" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " a) -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " a" + } + ], + "params": [], + "raw": "withServerIn :: Runtime -> ServerConfig -> (Server -> IO a) -> IO a" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 103, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Library operational failures. Context-preserving catching retains any\n cleanup owners; the original application or cancellation exception keeps\n its class when the callback itself failed." + }, + "id": "LibTmux.Server#t:TmuxException", + "instances": [ + { + "doc": null, + "markdown": "instance [Exception](https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:Exception) :obj:`TmuxException `", + "raw": "instance Exception TmuxException", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:Exception", + "text": "Exception" + }, + { + "href": "LibTmux-Server.html#t:TmuxException", + "target": "LibTmux.Server#t:TmuxException", + "text": "TmuxException" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 29, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`TmuxException `", + "raw": "instance Show TmuxException", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Server.html#t:TmuxException", + "target": "LibTmux.Server#t:TmuxException", + "text": "TmuxException" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 28, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "TmuxException", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:TmuxException", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:TmuxException", + "qualifiedName": "LibTmux.Server.TmuxException", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "TmuxException" + } + ], + "params": [], + "raw": "data TmuxException" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 21, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Admission through the retained Server handle has closed." + }, + "id": "LibTmux.Server#v:ServerClosed", + "kind": "function", + "modifiers": [], + "name": "ServerClosed", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:ServerClosed", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:TmuxException", + "product": "core", + "publicId": "LibTmux.Server#v:ServerClosed", + "qualifiedName": "LibTmux.Server.ServerClosed", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "ServerClosed" + } + ], + "params": [], + "raw": "ServerClosed" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 22, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Admission through the retained Runtime has closed." + }, + "id": "LibTmux.Server#v:RuntimeClosed", + "kind": "function", + "modifiers": [], + "name": "RuntimeClosed", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:RuntimeClosed", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:TmuxException", + "product": "core", + "publicId": "LibTmux.Server#v:RuntimeClosed", + "qualifiedName": "LibTmux.Server.RuntimeClosed", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "RuntimeClosed" + } + ], + "params": [], + "raw": "RuntimeClosed" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 23, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Configuration failed before acquisition." + }, + "id": "LibTmux.Server#v:InvalidConfiguration", + "kind": "function", + "modifiers": [], + "name": "InvalidConfiguration", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:InvalidConfiguration", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:TmuxException", + "product": "core", + "publicId": "LibTmux.Server#v:InvalidConfiguration", + "qualifiedName": "LibTmux.Server.InvalidConfiguration", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "InvalidConfiguration" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "InvalidConfiguration !Text" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 24, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Acquired metadata failed final validation." + }, + "id": "LibTmux.Server#v:InvalidObservation", + "kind": "function", + "modifiers": [], + "name": "InvalidObservation", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:InvalidObservation", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:TmuxException", + "product": "core", + "publicId": "LibTmux.Server#v:InvalidObservation", + "qualifiedName": "LibTmux.Server.InvalidObservation", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "InvalidObservation" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "InvalidObservation !Text" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 25, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Known backend failure with its original cause." + }, + "id": "LibTmux.Server#v:OperationFailed", + "kind": "function", + "modifiers": [], + "name": "OperationFailed", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:OperationFailed", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:TmuxException", + "product": "core", + "publicId": "LibTmux.Server#v:OperationFailed", + "qualifiedName": "LibTmux.Server.OperationFailed", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "OperationFailed" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:SomeException", + "text": "SomeException" + } + ], + "params": [], + "raw": "OperationFailed !SomeException" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 26, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Cleanup remained incomplete or its worker could not start." + }, + "id": "LibTmux.Server#v:CleanupFailed", + "kind": "function", + "modifiers": [], + "name": "CleanupFailed", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:CleanupFailed", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:TmuxException", + "product": "core", + "publicId": "LibTmux.Server#v:CleanupFailed", + "qualifiedName": "LibTmux.Server.CleanupFailed", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "CleanupFailed" + }, + { + "text": " !" + }, + { + "href": "LibTmux-Server.html#t:CleanupStatus", + "target": "LibTmux.Server#t:CleanupStatus", + "text": "CleanupStatus" + }, + { + "text": " !(" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe", + "text": "Maybe" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:SomeException", + "text": "SomeException" + }, + { + "text": ")" + } + ], + "params": [], + "raw": "CleanupFailed !CleanupStatus !(Maybe SomeException)" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 27, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Catch library failures with their exception context. Retain this value\n when handling an error so cleanup and capture owners stay reachable.\n Application exceptions and asynchronous cancellation propagate." + }, + "id": "LibTmux.Server#v:tryTmux", + "kind": "function", + "modifiers": [], + "name": "tryTmux", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:tryTmux", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:tryTmux", + "qualifiedName": "LibTmux.Server.tryTmux", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "tryTmux" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " a -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " (" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " (" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:ExceptionWithContext", + "text": "ExceptionWithContext" + }, + { + "text": " " + }, + { + "href": "LibTmux-Server.html#t:TmuxException", + "target": "LibTmux.Server#t:TmuxException", + "text": "TmuxException" + }, + { + "text": ") a)" + } + ], + "params": [], + "raw": "tryTmux :: IO a -> IO (Either (ExceptionWithContext TmuxException) a)" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 173, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Reachable responsibility after an incomplete or failed scope release.\n Retaining this value keeps its selected cleanup target and Runtime reachable." + }, + "id": "LibTmux.Server#t:CleanupRecovery", + "instances": [ + { + "doc": null, + "markdown": "instance [ExceptionAnnotation](https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception-Annotation.html#t:ExceptionAnnotation) :obj:`CleanupRecovery `", + "raw": "instance ExceptionAnnotation CleanupRecovery", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception-Annotation.html#t:ExceptionAnnotation", + "text": "ExceptionAnnotation" + }, + { + "href": "LibTmux-Server.html#t:CleanupRecovery", + "target": "LibTmux.Server#t:CleanupRecovery", + "text": "CleanupRecovery" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 49, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`CleanupRecovery `", + "raw": "instance Show CleanupRecovery", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Server.html#t:CleanupRecovery", + "target": "LibTmux.Server#t:CleanupRecovery", + "text": "CleanupRecovery" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 47, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "CleanupRecovery", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:CleanupRecovery", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:CleanupRecovery", + "qualifiedName": "LibTmux.Server.CleanupRecovery", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "CleanupRecovery" + } + ], + "params": [], + "raw": "data CleanupRecovery" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 46, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Local observations of the selected physical and logical responsibility.\n Each inspection returns new metadata; it performs no tmux operation." + }, + "id": "LibTmux.Server#t:CleanupStatus", + "instances": [ + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`CleanupStatus `", + "raw": "instance Show CleanupStatus", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Server.html#t:CleanupStatus", + "target": "LibTmux.Server#t:CleanupStatus", + "text": "CleanupStatus" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 40, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "CleanupStatus", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:CleanupStatus", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:CleanupStatus", + "qualifiedName": "LibTmux.Server.CleanupStatus", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "CleanupStatus" + } + ], + "params": [], + "raw": "data CleanupStatus" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 33, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": null, + "id": "LibTmux.Server#v:CleanupStatus", + "kind": "function", + "modifiers": [], + "name": "CleanupStatus", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:CleanupStatus", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:CleanupStatus", + "product": "core", + "publicId": "LibTmux.Server#v:CleanupStatus", + "qualifiedName": "LibTmux.Server.CleanupStatus", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "CleanupStatus" + } + ], + "params": [], + "raw": "CleanupStatus" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 33, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "All physical owners, operation workers and logical responsibility have retired." + }, + "id": "LibTmux.Server#v:CleanupStatus.complete", + "kind": "property", + "modifiers": [], + "name": "complete", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:complete", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:CleanupStatus", + "product": "core", + "publicId": "LibTmux.Server#v:CleanupStatus.complete", + "qualifiedName": "LibTmux.Server.complete", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "complete" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool", + "text": "Bool" + } + ], + "params": [], + "raw": "complete :: !Bool" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 34, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Server handles still awaiting physical retirement." + }, + "id": "LibTmux.Server#v:CleanupStatus.pendingHandles", + "kind": "property", + "modifiers": [], + "name": "pendingHandles", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:pendingHandles", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:CleanupStatus", + "product": "core", + "publicId": "LibTmux.Server#v:CleanupStatus.pendingHandles", + "qualifiedName": "LibTmux.Server.pendingHandles", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "pendingHandles" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Int.html#t:Int", + "text": "Int" + } + ], + "params": [], + "raw": "pendingHandles :: !Int" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 35, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Decoder or recovery workers retaining operation envelopes." + }, + "id": "LibTmux.Server#v:CleanupStatus.pendingReads", + "kind": "property", + "modifiers": [], + "name": "pendingReads", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:pendingReads", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:CleanupStatus", + "product": "core", + "publicId": "LibTmux.Server#v:CleanupStatus.pendingReads", + "qualifiedName": "LibTmux.Server.pendingReads", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "pendingReads" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Int.html#t:Int", + "text": "Int" + } + ], + "params": [], + "raw": "pendingReads :: !Int" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 36, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Retained logical operations with their observed status." + }, + "id": "LibTmux.Server#v:CleanupStatus.unresolved", + "kind": "property", + "modifiers": [], + "name": "unresolved", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:unresolved", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:CleanupStatus", + "product": "core", + "publicId": "LibTmux.Server#v:CleanupStatus.unresolved", + "qualifiedName": "LibTmux.Server.unresolved", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "unresolved" + }, + { + "text": " :: ![(" + }, + { + "href": "LibTmux-Server.html#t:Operation", + "target": "LibTmux.Server#t:Operation", + "text": "Operation" + }, + { + "text": ", " + }, + { + "href": "LibTmux-Server.html#t:Status", + "target": "LibTmux.Server#t:Status", + "text": "Status" + }, + { + "text": ")]" + } + ], + "params": [], + "raw": "unresolved :: ![(Operation, Status)]" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 37, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Currently observed pin, worker or cleanup-request failures." + }, + "id": "LibTmux.Server#v:CleanupStatus.failures", + "kind": "property", + "modifiers": [], + "name": "failures", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:failures", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:CleanupStatus", + "product": "core", + "publicId": "LibTmux.Server#v:CleanupStatus.failures", + "qualifiedName": "LibTmux.Server.failures", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "failures" + }, + { + "text": " :: ![" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:SomeException", + "text": "SomeException" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "failures :: ![SomeException]" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 38, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Cleanup owners retained by a failed or cancelled scope. The context\n comes from :obj:`tryTmux ` or [tryWithContext](https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#v:tryWithContext). Inspection performs no tmux IO.\n Nested scopes can contribute overlapping owners; inspect and resume each\n retained responsibility through :obj:`inspectCleanup ` and :obj:`resumeCleanup `." + }, + "id": "LibTmux.Server#v:cleanupRecoveries", + "kind": "function", + "modifiers": [], + "name": "cleanupRecoveries", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:cleanupRecoveries", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:cleanupRecoveries", + "qualifiedName": "LibTmux.Server.cleanupRecoveries", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "cleanupRecoveries" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception-Context.html#t:ExceptionContext", + "text": "ExceptionContext" + }, + { + "text": " -> [" + }, + { + "href": "LibTmux-Server.html#t:CleanupRecovery", + "target": "LibTmux.Server#t:CleanupRecovery", + "text": "CleanupRecovery" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "cleanupRecoveries :: ExceptionContext -> [CleanupRecovery]" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 180, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Exception that interrupted the original cleanup attempt, when there was\n one. Pending ownership alone need not have an associated exception." + }, + "id": "LibTmux.Server#v:cleanupFailure", + "kind": "function", + "modifiers": [], + "name": "cleanupFailure", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:cleanupFailure", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:cleanupFailure", + "qualifiedName": "LibTmux.Server.cleanupFailure", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "cleanupFailure" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:CleanupRecovery", + "target": "LibTmux.Server#t:CleanupRecovery", + "text": "CleanupRecovery" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe", + "text": "Maybe" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:SomeException", + "text": "SomeException" + } + ], + "params": [], + "raw": "cleanupFailure :: CleanupRecovery -> Maybe SomeException" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 91, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "The cleanup metadata recorded when this recovery owner was attached." + }, + "id": "LibTmux.Server#v:cleanupObservation", + "kind": "function", + "modifiers": [], + "name": "cleanupObservation", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:cleanupObservation", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:cleanupObservation", + "qualifiedName": "LibTmux.Server.cleanupObservation", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "cleanupObservation" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:CleanupRecovery", + "target": "LibTmux.Server#t:CleanupRecovery", + "text": "CleanupRecovery" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Server.html#t:CleanupStatus", + "target": "LibTmux.Server#t:CleanupStatus", + "text": "CleanupStatus" + } + ], + "params": [], + "raw": "cleanupObservation :: CleanupRecovery -> CleanupStatus" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 95, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Inspect current owned cleanup and logical uncertainty without tmux IO." + }, + "id": "LibTmux.Server#v:inspectCleanup", + "kind": "function", + "modifiers": [], + "name": "inspectCleanup", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:inspectCleanup", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:inspectCleanup", + "qualifiedName": "LibTmux.Server.inspectCleanup", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "inspectCleanup" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:CleanupRecovery", + "target": "LibTmux.Server#t:CleanupRecovery", + "text": "CleanupRecovery" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " " + }, + { + "href": "LibTmux-Server.html#t:CleanupStatus", + "target": "LibTmux.Server#t:CleanupStatus", + "text": "CleanupStatus" + } + ], + "params": [], + "raw": "inspectCleanup :: CleanupRecovery -> IO CleanupStatus" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 99, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Retry bounded owned cleanup. An incomplete result retains this owner;\n the operation does not retry a tmux command or release logical uncertainty." + }, + "id": "LibTmux.Server#v:resumeCleanup", + "kind": "function", + "modifiers": [], + "name": "resumeCleanup", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:resumeCleanup", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:resumeCleanup", + "qualifiedName": "LibTmux.Server.resumeCleanup", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "resumeCleanup" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:CleanupRecovery", + "target": "LibTmux.Server#t:CleanupRecovery", + "text": "CleanupRecovery" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " " + }, + { + "href": "LibTmux-Server.html#t:CleanupStatus", + "target": "LibTmux.Server#t:CleanupStatus", + "text": "CleanupStatus" + } + ], + "params": [], + "raw": "resumeCleanup :: CleanupRecovery -> IO CleanupStatus" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 104, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scope", + "doc": { + "summary": "Wait for this target's physical cleanup, then inspect its logical debt.\n The wait has no deadline.\n Cancellation or failure preserves an annotated cleanup owner. Use\n :obj:`resumeCleanup ` when the caller requires a bounded attempt." + }, + "id": "LibTmux.Server#v:awaitCleanup", + "kind": "function", + "modifiers": [], + "name": "awaitCleanup", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:awaitCleanup", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:awaitCleanup", + "qualifiedName": "LibTmux.Server.awaitCleanup", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "awaitCleanup" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:CleanupRecovery", + "target": "LibTmux.Server#t:CleanupRecovery", + "text": "CleanupRecovery" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " " + }, + { + "href": "LibTmux-Server.html#t:CleanupStatus", + "target": "LibTmux.Server#t:CleanupStatus", + "text": "CleanupStatus" + } + ], + "params": [], + "raw": "awaitCleanup :: CleanupRecovery -> IO CleanupStatus" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scope.hs", + "line": 112, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Relinquish one logical operation from this cleanup scope. This releases\n no native resources and does not prove that daemon-side work completed." + }, + "id": "LibTmux.Server#v:detachUnresolved", + "kind": "function", + "modifiers": [], + "name": "detachUnresolved", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:detachUnresolved", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:detachUnresolved", + "qualifiedName": "LibTmux.Server.detachUnresolved", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "detachUnresolved" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:CleanupRecovery", + "target": "LibTmux.Server#t:CleanupRecovery", + "text": "CleanupRecovery" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Server.html#t:Operation", + "target": "LibTmux.Server#t:Operation", + "text": "Operation" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool", + "text": "Bool" + } + ], + "params": [], + "raw": "detachUnresolved :: CleanupRecovery -> Operation -> IO Bool" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 185, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Capture", + "doc": { + "summary": "A reachable owner for one failed or cancelled capture. The receipt holds\n metadata only; the Runtime retains any remaining native and logical owners." + }, + "id": "LibTmux.Server#t:CaptureRecovery", + "instances": [ + { + "doc": null, + "markdown": "instance [ExceptionAnnotation](https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception-Annotation.html#t:ExceptionAnnotation) :obj:`CaptureRecovery `", + "raw": "instance ExceptionAnnotation CaptureRecovery", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception-Annotation.html#t:ExceptionAnnotation", + "text": "ExceptionAnnotation" + }, + { + "href": "LibTmux-Server.html#t:CaptureRecovery", + "target": "LibTmux.Server#t:CaptureRecovery", + "text": "CaptureRecovery" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Capture.hs", + "line": 53, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`CaptureRecovery `", + "raw": "instance Show CaptureRecovery", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Server.html#t:CaptureRecovery", + "target": "LibTmux.Server#t:CaptureRecovery", + "text": "CaptureRecovery" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Capture.hs", + "line": 50, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "CaptureRecovery", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:CaptureRecovery", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:CaptureRecovery", + "qualifiedName": "LibTmux.Server.CaptureRecovery", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "CaptureRecovery" + } + ], + "params": [], + "raw": "data CaptureRecovery" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Capture.hs", + "line": 49, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Capture owners retained in an exception context, including cancellation." + }, + "id": "LibTmux.Server#v:captureRecoveries", + "kind": "function", + "modifiers": [], + "name": "captureRecoveries", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:captureRecoveries", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:captureRecoveries", + "qualifiedName": "LibTmux.Server.captureRecoveries", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "captureRecoveries" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception-Context.html#t:ExceptionContext", + "text": "ExceptionContext" + }, + { + "text": " -> [" + }, + { + "href": "LibTmux-Server.html#t:CaptureRecovery", + "target": "LibTmux.Server#t:CaptureRecovery", + "text": "CaptureRecovery" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "captureRecoveries :: ExceptionContext -> [CaptureRecovery]" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 189, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Metadata-only operation identity for the failed capture." + }, + "id": "LibTmux.Server#v:recoveryOperation", + "kind": "function", + "modifiers": [], + "name": "recoveryOperation", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:recoveryOperation", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:recoveryOperation", + "qualifiedName": "LibTmux.Server.recoveryOperation", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "recoveryOperation" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:CaptureRecovery", + "target": "LibTmux.Server#t:CaptureRecovery", + "text": "CaptureRecovery" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Server.html#t:Operation", + "target": "LibTmux.Server#t:Operation", + "text": "Operation" + } + ], + "params": [], + "raw": "recoveryOperation :: CaptureRecovery -> Operation" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 193, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Correlate the failed capture with its Server generation." + }, + "id": "LibTmux.Server#v:recoveryGeneration", + "kind": "function", + "modifiers": [], + "name": "recoveryGeneration", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:recoveryGeneration", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:recoveryGeneration", + "qualifiedName": "LibTmux.Server.recoveryGeneration", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "recoveryGeneration" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:CaptureRecovery", + "target": "LibTmux.Server#t:CaptureRecovery", + "text": "CaptureRecovery" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:Generation", + "target": "LibTmux.Snapshot#t:Generation", + "text": "Generation" + } + ], + "params": [], + "raw": "recoveryGeneration :: CaptureRecovery -> Generation" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 197, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Runtime", + "doc": { + "summary": "Logical responsibility and an operation's physical owners, observed together.\n A released native child does not establish a daemon-side command outcome." + }, + "id": "LibTmux.Server#t:ReadRecovery", + "instances": [ + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`ReadRecovery `", + "raw": "instance Show ReadRecovery", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Server.html#t:ReadRecovery", + "target": "LibTmux.Server#t:ReadRecovery", + "text": "ReadRecovery" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Runtime.hs", + "line": 108, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "ReadRecovery", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:ReadRecovery", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:ReadRecovery", + "qualifiedName": "LibTmux.Server.ReadRecovery", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "ReadRecovery" + } + ], + "params": [], + "raw": "data ReadRecovery" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Runtime.hs", + "line": 102, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Runtime", + "doc": null, + "id": "LibTmux.Server#v:ReadRecovery", + "kind": "function", + "modifiers": [], + "name": "ReadRecovery", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:ReadRecovery", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:ReadRecovery", + "product": "core", + "publicId": "LibTmux.Server#v:ReadRecovery", + "qualifiedName": "LibTmux.Server.ReadRecovery", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "ReadRecovery" + } + ], + "params": [], + "raw": "ReadRecovery" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Runtime.hs", + "line": 102, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Runtime", + "doc": { + "summary": "Logical progress, original result and retained responsibility." + }, + "id": "LibTmux.Server#v:ReadRecovery.logical", + "kind": "property", + "modifiers": [], + "name": "logical", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:logical", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:ReadRecovery", + "product": "core", + "publicId": "LibTmux.Server#v:ReadRecovery.logical", + "qualifiedName": "LibTmux.Server.logical", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "logical" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Server.html#t:Status", + "target": "LibTmux.Server#t:Status", + "text": "Status" + } + ], + "params": [], + "raw": "logical :: !Status" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Runtime.hs", + "line": 103, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Runtime", + "doc": { + "summary": "A decoder or recovery worker still owns this operation." + }, + "id": "LibTmux.Server#v:ReadRecovery.workerOwned", + "kind": "property", + "modifiers": [], + "name": "workerOwned", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:workerOwned", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:ReadRecovery", + "product": "core", + "publicId": "LibTmux.Server#v:ReadRecovery.workerOwned", + "qualifiedName": "LibTmux.Server.workerOwned", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "workerOwned" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool", + "text": "Bool" + } + ], + "params": [], + "raw": "workerOwned :: !Bool" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Runtime.hs", + "line": 104, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Runtime", + "doc": { + "summary": "Retained decoder or recovery failure." + }, + "id": "LibTmux.Server#v:ReadRecovery.workerFailure", + "kind": "property", + "modifiers": [], + "name": "workerFailure", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:workerFailure", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:ReadRecovery", + "product": "core", + "publicId": "LibTmux.Server#v:ReadRecovery.workerFailure", + "qualifiedName": "LibTmux.Server.workerFailure", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "workerFailure" + }, + { + "text": " :: !(" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe", + "text": "Maybe" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:SomeException", + "text": "SomeException" + }, + { + "text": ")" + } + ], + "params": [], + "raw": "workerFailure :: !(Maybe SomeException)" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Runtime.hs", + "line": 105, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Runtime", + "doc": { + "summary": "A native child or its cleanup remains owned." + }, + "id": "LibTmux.Server#v:ReadRecovery.nativeOwned", + "kind": "property", + "modifiers": [], + "name": "nativeOwned", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:nativeOwned", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:ReadRecovery", + "product": "core", + "publicId": "LibTmux.Server#v:ReadRecovery.nativeOwned", + "qualifiedName": "LibTmux.Server.nativeOwned", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "nativeOwned" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool", + "text": "Bool" + } + ], + "params": [], + "raw": "nativeOwned :: !Bool" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Runtime.hs", + "line": 106, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Runtime", + "doc": { + "summary": "Retained native cleanup failure." + }, + "id": "LibTmux.Server#v:ReadRecovery.nativeFailure", + "kind": "property", + "modifiers": [], + "name": "nativeFailure", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:nativeFailure", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:ReadRecovery", + "product": "core", + "publicId": "LibTmux.Server#v:ReadRecovery.nativeFailure", + "qualifiedName": "LibTmux.Server.nativeFailure", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "nativeFailure" + }, + { + "text": " :: !(" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe", + "text": "Maybe" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:SomeException", + "text": "SomeException" + }, + { + "text": ")" + } + ], + "params": [], + "raw": "nativeFailure :: !(Maybe SomeException)" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Runtime.hs", + "line": 107, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Observe logical outcome, decoder ownership and native cleanup locally.\n This reads runtime metadata and performs no tmux command." + }, + "id": "LibTmux.Server#v:inspectCaptureRecovery", + "kind": "function", + "modifiers": [], + "name": "inspectCaptureRecovery", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:inspectCaptureRecovery", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:inspectCaptureRecovery", + "qualifiedName": "LibTmux.Server.inspectCaptureRecovery", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "inspectCaptureRecovery" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:CaptureRecovery", + "target": "LibTmux.Server#t:CaptureRecovery", + "text": "CaptureRecovery" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " " + }, + { + "href": "LibTmux-Server.html#t:ReadRecovery", + "target": "LibTmux.Server#t:ReadRecovery", + "text": "ReadRecovery" + } + ], + "params": [], + "raw": "inspectCaptureRecovery :: CaptureRecovery -> IO ReadRecovery" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 202, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Resume existing cleanup without dispatching the capture again." + }, + "id": "LibTmux.Server#v:resumeCaptureRecovery", + "kind": "function", + "modifiers": [], + "name": "resumeCaptureRecovery", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:resumeCaptureRecovery", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:resumeCaptureRecovery", + "qualifiedName": "LibTmux.Server.resumeCaptureRecovery", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "resumeCaptureRecovery" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:CaptureRecovery", + "target": "LibTmux.Server#t:CaptureRecovery", + "text": "CaptureRecovery" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " ()" + } + ], + "params": [], + "raw": "resumeCaptureRecovery :: CaptureRecovery -> IO ()" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 206, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Explicitly detach logical uncertainty while preserving native ownership." + }, + "id": "LibTmux.Server#v:detachCaptureRecovery", + "kind": "function", + "modifiers": [], + "name": "detachCaptureRecovery", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:detachCaptureRecovery", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:detachCaptureRecovery", + "qualifiedName": "LibTmux.Server.detachCaptureRecovery", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "detachCaptureRecovery" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:CaptureRecovery", + "target": "LibTmux.Server#t:CaptureRecovery", + "text": "CaptureRecovery" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool", + "text": "Bool" + } + ], + "params": [], + "raw": "detachCaptureRecovery :: CaptureRecovery -> IO Bool" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 210, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "Metadata-only operation identity, readable after responsibility retires.\n Its owning scope controls advancement and explicit detachment." + }, + "id": "LibTmux.Server#t:Operation", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Operation `", + "raw": "instance Eq Operation", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Server.html#t:Operation", + "target": "LibTmux.Server#t:Operation", + "text": "Operation" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 45, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Operation `", + "raw": "instance Show Operation", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Server.html#t:Operation", + "target": "LibTmux.Server#t:Operation", + "text": "Operation" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 47, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "Operation", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:Operation", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:Operation", + "qualifiedName": "LibTmux.Server.Operation", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Operation" + } + ], + "params": [], + "raw": "data Operation" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 44, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "Progress, published result and responsibility are independent observations.\n A retained uncertain operation still consumes admission and its lane permit." + }, + "id": "LibTmux.Server#t:Status", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Status `", + "raw": "instance Eq Status", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Server.html#t:Status", + "target": "LibTmux.Server#t:Status", + "text": "Status" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 87, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Status `", + "raw": "instance Show Status", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Server.html#t:Status", + "target": "LibTmux.Server#t:Status", + "text": "Status" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 87, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "Status", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:Status", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:Status", + "qualifiedName": "LibTmux.Server.Status", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Status" + } + ], + "params": [], + "raw": "data Status" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 82, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": null, + "id": "LibTmux.Server#v:Status", + "kind": "function", + "modifiers": [], + "name": "Status", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:Status", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Status", + "product": "core", + "publicId": "LibTmux.Server#v:Status", + "qualifiedName": "LibTmux.Server.Status", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "Status" + } + ], + "params": [], + "raw": "Status" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 82, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "Last proven progress." + }, + "id": "LibTmux.Server#v:Status.stage", + "kind": "property", + "modifiers": [], + "name": "stage", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:stage", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Status", + "product": "core", + "publicId": "LibTmux.Server#v:Status.stage", + "qualifiedName": "LibTmux.Server.stage", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "stage" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Server.html#t:Stage", + "target": "LibTmux.Server#t:Stage", + "text": "Stage" + } + ], + "params": [], + "raw": "stage :: !Stage" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 83, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "First published caller result, when available." + }, + "id": "LibTmux.Server#v:Status.outcome", + "kind": "property", + "modifiers": [], + "name": "outcome", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:outcome", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Status", + "product": "core", + "publicId": "LibTmux.Server#v:Status.outcome", + "qualifiedName": "LibTmux.Server.outcome", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "outcome" + }, + { + "text": " :: !(" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe", + "text": "Maybe" + }, + { + "text": " " + }, + { + "href": "LibTmux-Server.html#t:Outcome", + "target": "LibTmux.Server#t:Outcome", + "text": "Outcome" + }, + { + "text": ")" + } + ], + "params": [], + "raw": "outcome :: !(Maybe Outcome)" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 84, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "Whether the scope still retains logical responsibility." + }, + "id": "LibTmux.Server#v:Status.retained", + "kind": "property", + "modifiers": [], + "name": "retained", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:retained", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Status", + "product": "core", + "publicId": "LibTmux.Server#v:Status.retained", + "qualifiedName": "LibTmux.Server.retained", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "retained" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool", + "text": "Bool" + } + ], + "params": [], + "raw": "retained :: !Bool" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 85, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "Last observed progress. Publishing an uncertain :obj:`Outcome ` does not\n advance this stage or establish :obj:`OperationComplete `." + }, + "id": "LibTmux.Server#t:Stage", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Stage `", + "raw": "instance Eq Stage", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Server.html#t:Stage", + "target": "LibTmux.Server#t:Stage", + "text": "Stage" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 68, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Stage `", + "raw": "instance Show Stage", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Server.html#t:Stage", + "target": "LibTmux.Server#t:Stage", + "text": "Stage" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 68, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "Stage", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:Stage", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:Stage", + "qualifiedName": "LibTmux.Server.Stage", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Stage" + } + ], + "params": [], + "raw": "data Stage" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 67, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": null, + "id": "LibTmux.Server#v:Queued", + "kind": "function", + "modifiers": [], + "name": "Queued", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:Queued", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Stage", + "product": "core", + "publicId": "LibTmux.Server#v:Queued", + "qualifiedName": "LibTmux.Server.Queued", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "Queued" + } + ], + "params": [], + "raw": "Queued" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 67, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": null, + "id": "LibTmux.Server#v:Dispatching", + "kind": "function", + "modifiers": [], + "name": "Dispatching", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:Dispatching", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Stage", + "product": "core", + "publicId": "LibTmux.Server#v:Dispatching", + "qualifiedName": "LibTmux.Server.Dispatching", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "Dispatching" + } + ], + "params": [], + "raw": "Dispatching" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 67, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": null, + "id": "LibTmux.Server#v:Dispatched", + "kind": "function", + "modifiers": [], + "name": "Dispatched", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:Dispatched", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Stage", + "product": "core", + "publicId": "LibTmux.Server#v:Dispatched", + "qualifiedName": "LibTmux.Server.Dispatched", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "Dispatched" + } + ], + "params": [], + "raw": "Dispatched" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 67, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": null, + "id": "LibTmux.Server#v:ResponseClosed", + "kind": "function", + "modifiers": [], + "name": "ResponseClosed", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:ResponseClosed", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Stage", + "product": "core", + "publicId": "LibTmux.Server#v:ResponseClosed", + "qualifiedName": "LibTmux.Server.ResponseClosed", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "ResponseClosed" + } + ], + "params": [], + "raw": "ResponseClosed" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 67, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": null, + "id": "LibTmux.Server#v:OperationComplete", + "kind": "function", + "modifiers": [], + "name": "OperationComplete", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:OperationComplete", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Stage", + "product": "core", + "publicId": "LibTmux.Server#v:OperationComplete", + "qualifiedName": "LibTmux.Server.OperationComplete", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "OperationComplete" + } + ], + "params": [], + "raw": "OperationComplete" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 67, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "First caller result. Later evidence can retire responsibility without\n rewriting :obj:`OutcomeUnknown ` or :obj:`ConnectionRetired `." + }, + "id": "LibTmux.Server#t:Outcome", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Outcome `", + "raw": "instance Eq Outcome", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Server.html#t:Outcome", + "target": "LibTmux.Server#t:Outcome", + "text": "Outcome" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 78, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Outcome `", + "raw": "instance Show Outcome", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Server.html#t:Outcome", + "target": "LibTmux.Server#t:Outcome", + "text": "Outcome" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 78, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "Outcome", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "t:Outcome", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#t:Outcome", + "qualifiedName": "LibTmux.Server.Outcome", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Outcome" + } + ], + "params": [], + "raw": "data Outcome" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 72, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "Validated successful response and completion proof." + }, + "id": "LibTmux.Server#v:Succeeded", + "kind": "function", + "modifiers": [], + "name": "Succeeded", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:Succeeded", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Outcome", + "product": "core", + "publicId": "LibTmux.Server#v:Succeeded", + "qualifiedName": "LibTmux.Server.Succeeded", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "Succeeded" + } + ], + "params": [], + "raw": "Succeeded" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 73, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "Validated command failure." + }, + "id": "LibTmux.Server#v:Failed", + "kind": "function", + "modifiers": [], + "name": "Failed", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:Failed", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Outcome", + "product": "core", + "publicId": "LibTmux.Server#v:Failed", + "qualifiedName": "LibTmux.Server.Failed", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "Failed" + } + ], + "params": [], + "raw": "Failed" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 74, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "Proof that the operation was never dispatched." + }, + "id": "LibTmux.Server#v:NotDispatched", + "kind": "function", + "modifiers": [], + "name": "NotDispatched", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:NotDispatched", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Outcome", + "product": "core", + "publicId": "LibTmux.Server#v:NotDispatched", + "qualifiedName": "LibTmux.Server.NotDispatched", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "NotDispatched" + } + ], + "params": [], + "raw": "NotDispatched" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 75, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "Dispatch may have happened; completion remains uncertain." + }, + "id": "LibTmux.Server#v:OutcomeUnknown", + "kind": "function", + "modifiers": [], + "name": "OutcomeUnknown", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:OutcomeUnknown", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Outcome", + "product": "core", + "publicId": "LibTmux.Server#v:OutcomeUnknown", + "qualifiedName": "LibTmux.Server.OutcomeUnknown", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "OutcomeUnknown" + } + ], + "params": [], + "raw": "OutcomeUnknown" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 76, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Scheduler", + "doc": { + "summary": "The connection retired while responsibility remained." + }, + "id": "LibTmux.Server#v:ConnectionRetired", + "kind": "function", + "modifiers": [], + "name": "ConnectionRetired", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:ConnectionRetired", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server#t:Outcome", + "product": "core", + "publicId": "LibTmux.Server#v:ConnectionRetired", + "qualifiedName": "LibTmux.Server.ConnectionRetired", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "ConnectionRetired" + } + ], + "params": [], + "raw": "ConnectionRetired" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Scheduler.hs", + "line": 77, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Server", + "doc": { + "summary": "Read retained operation metadata, including after its physical cleanup." + }, + "id": "LibTmux.Server#v:operationStatus", + "kind": "function", + "modifiers": [], + "name": "operationStatus", + "namespace": "LibTmux.Server", + "nativeLocation": { + "anchor": "v:operationStatus", + "module": "LibTmux.Server" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Server", + "product": "core", + "publicId": "LibTmux.Server#v:operationStatus", + "qualifiedName": "LibTmux.Server.operationStatus", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "operationStatus" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Server.html#t:Operation", + "target": "LibTmux.Server#t:Operation", + "text": "Operation" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO", + "text": "IO" + }, + { + "text": " " + }, + { + "href": "LibTmux-Server.html#t:Status", + "target": "LibTmux.Server#t:Status", + "text": "Status" + } + ], + "params": [], + "raw": "operationStatus :: Operation -> IO Status" + } + ], + "source": { + "file": "src/LibTmux/Server.hs", + "line": 214, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Validated metadata, physical graph and attached-client observations.\n Construction checks every join and forces owned values. List processing\n and indexed lookup remain pure after the operational Server closes." + }, + "id": "LibTmux.Snapshot#t:Snapshot", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`Snapshot `", + "raw": "instance NFData Snapshot", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 190, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Snapshot `", + "raw": "instance Eq Snapshot", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 189, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Snapshot `", + "raw": "instance Show Snapshot", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 189, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "Snapshot", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:Snapshot", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:Snapshot", + "qualifiedName": "LibTmux.Snapshot.Snapshot", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Snapshot" + } + ], + "params": [], + "raw": "data Snapshot" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 188, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Reported daemon metadata within one adopted generation. PID and start\n time are observations; they do not grant signal authority or durable identity." + }, + "id": "LibTmux.Snapshot#t:ServerInfo", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`ServerInfo `", + "raw": "instance NFData ServerInfo", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:ServerInfo", + "target": "LibTmux.Snapshot#t:ServerInfo", + "text": "ServerInfo" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 146, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`ServerInfo `", + "raw": "instance Eq ServerInfo", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:ServerInfo", + "target": "LibTmux.Snapshot#t:ServerInfo", + "text": "ServerInfo" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 145, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`ServerInfo `", + "raw": "instance Show ServerInfo", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:ServerInfo", + "target": "LibTmux.Snapshot#t:ServerInfo", + "text": "ServerInfo" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 145, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "ServerInfo", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:ServerInfo", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:ServerInfo", + "qualifiedName": "LibTmux.Snapshot.ServerInfo", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "ServerInfo" + } + ], + "params": [], + "raw": "data ServerInfo" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 138, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": null, + "id": "LibTmux.Snapshot#v:ServerInfo", + "kind": "function", + "modifiers": [], + "name": "ServerInfo", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:ServerInfo", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:ServerInfo", + "product": "core", + "publicId": "LibTmux.Snapshot#v:ServerInfo", + "qualifiedName": "LibTmux.Snapshot.ServerInfo", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "ServerInfo" + } + ], + "params": [], + "raw": "ServerInfo" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 138, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Connection identity shared by all references in this snapshot." + }, + "id": "LibTmux.Snapshot#v:ServerInfo.generation", + "kind": "property", + "modifiers": [], + "name": "generation", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:generation", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:ServerInfo", + "product": "core", + "publicId": "LibTmux.Snapshot#v:ServerInfo.generation", + "qualifiedName": "LibTmux.Snapshot.generation", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "generation" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:Generation", + "target": "LibTmux.Snapshot#t:Generation", + "text": "Generation" + } + ], + "params": [], + "raw": "generation :: !Generation" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Positive daemon process ID reported by tmux." + }, + "id": "LibTmux.Snapshot#v:ServerInfo.pid", + "kind": "property", + "modifiers": [], + "name": "pid", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:pid", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:ServerInfo", + "product": "core", + "publicId": "LibTmux.Snapshot#v:ServerInfo.pid", + "qualifiedName": "LibTmux.Snapshot.pid", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "pid" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "pid :: !Integer" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Daemon start time in whole seconds since the Unix epoch." + }, + "id": "LibTmux.Snapshot#v:ServerInfo.startedAt", + "kind": "property", + "modifiers": [], + "name": "startedAt", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:startedAt", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:ServerInfo", + "product": "core", + "publicId": "LibTmux.Snapshot#v:ServerInfo.startedAt", + "qualifiedName": "LibTmux.Snapshot.startedAt", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "startedAt" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "startedAt :: !Integer" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 141, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Stable release admitted by :obj:`LibTmux.Version `." + }, + "id": "LibTmux.Snapshot#v:ServerInfo.version", + "kind": "property", + "modifiers": [], + "name": "version", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:version", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:ServerInfo", + "product": "core", + "publicId": "LibTmux.Snapshot#v:ServerInfo.version", + "qualifiedName": "LibTmux.Snapshot.version", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "version" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + } + ], + "params": [], + "raw": "version :: !TmuxVersion" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 142, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Reported endpoint path, preserved as POSIX bytes." + }, + "id": "LibTmux.Snapshot#v:ServerInfo.socketPath", + "kind": "property", + "modifiers": [], + "name": "socketPath", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:socketPath", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:ServerInfo", + "product": "core", + "publicId": "LibTmux.Snapshot#v:ServerInfo.socketPath", + "qualifiedName": "LibTmux.Snapshot.socketPath", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "socketPath" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath", + "text": "PosixPath" + } + ], + "params": [], + "raw": "socketPath :: !PosixPath" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 143, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Where the validated values were obtained. A server capture does not\n establish current liveness. Offline namespaces carry no targeting authority." + }, + "id": "LibTmux.Snapshot#t:SnapshotOrigin", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`SnapshotOrigin `", + "raw": "instance Eq SnapshotOrigin", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:SnapshotOrigin", + "target": "LibTmux.Snapshot#t:SnapshotOrigin", + "text": "SnapshotOrigin" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 60, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`SnapshotOrigin `", + "raw": "instance Ord SnapshotOrigin", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Snapshot.html#t:SnapshotOrigin", + "target": "LibTmux.Snapshot#t:SnapshotOrigin", + "text": "SnapshotOrigin" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 60, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`SnapshotOrigin `", + "raw": "instance Show SnapshotOrigin", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:SnapshotOrigin", + "target": "LibTmux.Snapshot#t:SnapshotOrigin", + "text": "SnapshotOrigin" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 60, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "SnapshotOrigin", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:SnapshotOrigin", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:SnapshotOrigin", + "qualifiedName": "LibTmux.Snapshot.SnapshotOrigin", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "SnapshotOrigin" + } + ], + "params": [], + "raw": "data SnapshotOrigin" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 57, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Acquired through an operational Server handle." + }, + "id": "LibTmux.Snapshot#v:AcquiredFromTmux", + "kind": "function", + "modifiers": [], + "name": "AcquiredFromTmux", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:AcquiredFromTmux", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:SnapshotOrigin", + "product": "core", + "publicId": "LibTmux.Snapshot#v:AcquiredFromTmux", + "qualifiedName": "LibTmux.Snapshot.AcquiredFromTmux", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "AcquiredFromTmux" + } + ], + "params": [], + "raw": "AcquiredFromTmux" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 58, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Constructed and validated in a named fixture namespace." + }, + "id": "LibTmux.Snapshot#v:DefinedOffline", + "kind": "function", + "modifiers": [], + "name": "DefinedOffline", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:DefinedOffline", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:SnapshotOrigin", + "product": "core", + "publicId": "LibTmux.Snapshot#v:DefinedOffline", + "qualifiedName": "LibTmux.Snapshot.DefinedOffline", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "DefinedOffline" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "DefinedOffline !Text" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 59, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Inspect provenance without contacting tmux. See\n :obj:`LibTmux.Snapshot.Fixture ` for validated offline construction." + }, + "id": "LibTmux.Snapshot#v:snapshotOrigin", + "kind": "function", + "modifiers": [], + "name": "snapshotOrigin", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:snapshotOrigin", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:snapshotOrigin", + "qualifiedName": "LibTmux.Snapshot.snapshotOrigin", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "snapshotOrigin" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:SnapshotOrigin", + "target": "LibTmux.Snapshot#t:SnapshotOrigin", + "text": "SnapshotOrigin" + } + ], + "params": [], + "raw": "snapshotOrigin :: Snapshot -> SnapshotOrigin" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 65, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Daemon metadata captured with this graph." + }, + "id": "LibTmux.Snapshot#v:serverInfo", + "kind": "function", + "modifiers": [], + "name": "serverInfo", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:serverInfo", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:serverInfo", + "qualifiedName": "LibTmux.Snapshot.serverInfo", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "serverInfo" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:ServerInfo", + "target": "LibTmux.Snapshot#t:ServerInfo", + "text": "ServerInfo" + } + ], + "params": [], + "raw": "serverInfo :: Snapshot -> ServerInfo" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 195, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Acquisition bounds attached to a live capture. An unstamped decoded\n profile stays private; an offline fixture has no external capture interval." + }, + "id": "LibTmux.Snapshot#v:captureInterval", + "kind": "function", + "modifiers": [], + "name": "captureInterval", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:captureInterval", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:captureInterval", + "qualifiedName": "LibTmux.Snapshot.captureInterval", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "captureInterval" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe", + "text": "Maybe" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:CaptureInterval", + "target": "LibTmux.Snapshot#t:CaptureInterval", + "text": "CaptureInterval" + } + ], + "params": [], + "raw": "captureInterval :: Snapshot -> Maybe CaptureInterval" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 217, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Monotonic process-clock bounds around acquisition. These values describe\n an interval and do not promise an atomic observation or a wall-clock epoch." + }, + "id": "LibTmux.Snapshot#t:CaptureInterval", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`CaptureInterval `", + "raw": "instance NFData CaptureInterval", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:CaptureInterval", + "target": "LibTmux.Snapshot#t:CaptureInterval", + "text": "CaptureInterval" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 211, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`CaptureInterval `", + "raw": "instance Eq CaptureInterval", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:CaptureInterval", + "target": "LibTmux.Snapshot#t:CaptureInterval", + "text": "CaptureInterval" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 210, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`CaptureInterval `", + "raw": "instance Show CaptureInterval", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:CaptureInterval", + "target": "LibTmux.Snapshot#t:CaptureInterval", + "text": "CaptureInterval" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 210, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "CaptureInterval", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:CaptureInterval", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:CaptureInterval", + "qualifiedName": "LibTmux.Snapshot.CaptureInterval", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "CaptureInterval" + } + ], + "params": [], + "raw": "data CaptureInterval" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 206, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": null, + "id": "LibTmux.Snapshot#v:CaptureInterval", + "kind": "function", + "modifiers": [], + "name": "CaptureInterval", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:CaptureInterval", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:CaptureInterval", + "product": "core", + "publicId": "LibTmux.Snapshot#v:CaptureInterval", + "qualifiedName": "LibTmux.Snapshot.CaptureInterval", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "CaptureInterval" + } + ], + "params": [], + "raw": "CaptureInterval" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 206, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Monotonic time sampled before acquisition." + }, + "id": "LibTmux.Snapshot#v:CaptureInterval.startedNanoseconds", + "kind": "property", + "modifiers": [], + "name": "startedNanoseconds", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:startedNanoseconds", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:CaptureInterval", + "product": "core", + "publicId": "LibTmux.Snapshot#v:CaptureInterval.startedNanoseconds", + "qualifiedName": "LibTmux.Snapshot.startedNanoseconds", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "startedNanoseconds" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Word.html#t:Word64", + "text": "Word64" + } + ], + "params": [], + "raw": "startedNanoseconds :: !Word64" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 207, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Monotonic time after decoding and forcing." + }, + "id": "LibTmux.Snapshot#v:CaptureInterval.finishedNanoseconds", + "kind": "property", + "modifiers": [], + "name": "finishedNanoseconds", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:finishedNanoseconds", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:CaptureInterval", + "product": "core", + "publicId": "LibTmux.Snapshot#v:CaptureInterval.finishedNanoseconds", + "qualifiedName": "LibTmux.Snapshot.finishedNanoseconds", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "finishedNanoseconds" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Word.html#t:Word64", + "text": "Word64" + } + ], + "params": [], + "raw": "finishedNanoseconds :: !Word64" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 208, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Detached physical session. Navigate its appearances through :obj:`WindowLink `." + }, + "id": "LibTmux.Snapshot#t:Session", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`Session `", + "raw": "instance NFData Session", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 82, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Session `", + "raw": "instance Eq Session", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 81, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Session `", + "raw": "instance Show Session", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 81, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "Session", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:Session", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:Session", + "qualifiedName": "LibTmux.Snapshot.Session", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Session" + } + ], + "params": [], + "raw": "data Session" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 76, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": null, + "id": "LibTmux.Snapshot#v:Session", + "kind": "function", + "modifiers": [], + "name": "Session", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:Session", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Session", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Session", + "qualifiedName": "LibTmux.Snapshot.Session", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "Session" + } + ], + "params": [], + "raw": "Session" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 76, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Target identity in the observation's generation." + }, + "id": "LibTmux.Snapshot#v:Session.ref", + "kind": "property", + "modifiers": [], + "name": "ref", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:ref", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Session", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Session.ref", + "qualifiedName": "LibTmux.Snapshot.ref", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "ref" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:SessionRef", + "target": "LibTmux.Snapshot#t:SessionRef", + "text": "SessionRef" + } + ], + "params": [], + "raw": "ref :: !SessionRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Session name as reported and decoded by tmux." + }, + "id": "LibTmux.Snapshot#v:Session.name", + "kind": "property", + "modifiers": [], + "name": "name", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:name", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Session", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Session.name", + "qualifiedName": "LibTmux.Snapshot.name", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "name" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "name :: !Text" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Nonnegative reported count, independent of the captured client listing." + }, + "id": "LibTmux.Snapshot#v:Session.attached", + "kind": "property", + "modifiers": [], + "name": "attached", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:attached", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Session", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Session.attached", + "qualifiedName": "LibTmux.Snapshot.attached", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "attached" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "attached :: !Integer" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 79, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Detached physical window, independent of its session and index appearances." + }, + "id": "LibTmux.Snapshot#t:Window", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`Window `", + "raw": "instance NFData Window", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 93, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Window `", + "raw": "instance Eq Window", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 92, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Window `", + "raw": "instance Show Window", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 92, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "Window", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:Window", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:Window", + "qualifiedName": "LibTmux.Snapshot.Window", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Window" + } + ], + "params": [], + "raw": "data Window" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 86, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": null, + "id": "LibTmux.Snapshot#v:Window", + "kind": "function", + "modifiers": [], + "name": "Window", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:Window", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Window", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Window", + "qualifiedName": "LibTmux.Snapshot.Window", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "Window" + } + ], + "params": [], + "raw": "Window" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 86, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Shared identity across this snapshot's window links." + }, + "id": "LibTmux.Snapshot#v:Window.ref", + "kind": "property", + "modifiers": [], + "name": "ref", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:ref", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Window", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Window.ref", + "qualifiedName": "LibTmux.Snapshot.ref", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "ref" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + } + ], + "params": [], + "raw": "ref :: !WindowRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Reported bytes, including non-text names on older tmux." + }, + "id": "LibTmux.Snapshot#v:Window.name", + "kind": "property", + "modifiers": [], + "name": "name", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:name", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Window", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Window.name", + "qualifiedName": "LibTmux.Snapshot.name", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "name" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:TmuxText", + "target": "LibTmux.Snapshot#t:TmuxText", + "text": "TmuxText" + } + ], + "params": [], + "raw": "name :: !TmuxText" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Positive terminal width in cells." + }, + "id": "LibTmux.Snapshot#v:Window.width", + "kind": "property", + "modifiers": [], + "name": "width", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:width", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Window", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Window.width", + "qualifiedName": "LibTmux.Snapshot.width", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "width" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + } + ], + "params": [], + "raw": "width :: !Dimension" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Positive terminal height in cells." + }, + "id": "LibTmux.Snapshot#v:Window.height", + "kind": "property", + "modifiers": [], + "name": "height", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:height", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Window", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Window.height", + "qualifiedName": "LibTmux.Snapshot.height", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "height" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + } + ], + "params": [], + "raw": "height :: !Dimension" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Detached physical pane. Its window can appear in several session contexts;\n :obj:`PaneOccurrence ` preserves an appearance without duplicating physical identity." + }, + "id": "LibTmux.Snapshot#t:Pane", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`Pane `", + "raw": "instance NFData Pane", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 111, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Pane `", + "raw": "instance Eq Pane", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 110, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Pane `", + "raw": "instance Show Pane", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 110, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "Pane", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:Pane", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:Pane", + "qualifiedName": "LibTmux.Snapshot.Pane", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Pane" + } + ], + "params": [], + "raw": "data Pane" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 98, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": null, + "id": "LibTmux.Snapshot#v:Pane", + "kind": "function", + "modifiers": [], + "name": "Pane", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:Pane", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Pane", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Pane", + "qualifiedName": "LibTmux.Snapshot.Pane", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "Pane" + } + ], + "params": [], + "raw": "Pane" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 98, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Pane identity in the observation's generation." + }, + "id": "LibTmux.Snapshot#v:Pane.ref", + "kind": "property", + "modifiers": [], + "name": "ref", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:ref", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Pane", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Pane.ref", + "qualifiedName": "LibTmux.Snapshot.ref", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "ref" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:PaneRef", + "target": "LibTmux.Snapshot#t:PaneRef", + "text": "PaneRef" + } + ], + "params": [], + "raw": "ref :: !PaneRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Containing physical window, resolved against a snapshot." + }, + "id": "LibTmux.Snapshot#v:Pane.window", + "kind": "property", + "modifiers": [], + "name": "window", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:window", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Pane", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Pane.window", + "qualifiedName": "LibTmux.Snapshot.window", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "window" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + } + ], + "params": [], + "raw": "window :: !WindowRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Nonnegative pane index within that window." + }, + "id": "LibTmux.Snapshot#v:Pane.index", + "kind": "property", + "modifiers": [], + "name": "index", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:index", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Pane", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Pane.index", + "qualifiedName": "LibTmux.Snapshot.index", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "index" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Value.html#t:PaneIndex", + "target": "LibTmux.Value#t:PaneIndex", + "text": "PaneIndex" + } + ], + "params": [], + "raw": "index :: !PaneIndex" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Positive terminal width in cells." + }, + "id": "LibTmux.Snapshot#v:Pane.width", + "kind": "property", + "modifiers": [], + "name": "width", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:width", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Pane", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Pane.width", + "qualifiedName": "LibTmux.Snapshot.width", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "width" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + } + ], + "params": [], + "raw": "width :: !Dimension" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Positive terminal height in cells." + }, + "id": "LibTmux.Snapshot#v:Pane.height", + "kind": "property", + "modifiers": [], + "name": "height", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:height", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Pane", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Pane.height", + "qualifiedName": "LibTmux.Snapshot.height", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "height" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + } + ], + "params": [], + "raw": "height :: !Dimension" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "The window's active pane, rather than a separate client focus." + }, + "id": "LibTmux.Snapshot#v:Pane.active", + "kind": "property", + "modifiers": [], + "name": "active", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:active", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Pane", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Pane.active", + "qualifiedName": "LibTmux.Snapshot.active", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "active" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool", + "text": "Bool" + } + ], + "params": [], + "raw": "active :: !Bool" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Whether tmux reports the pane process as dead." + }, + "id": "LibTmux.Snapshot#v:Pane.dead", + "kind": "property", + "modifiers": [], + "name": "dead", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:dead", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Pane", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Pane.dead", + "qualifiedName": "LibTmux.Snapshot.dead", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "dead" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool", + "text": "Bool" + } + ], + "params": [], + "raw": "dead :: !Bool" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 105, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Valid UTF-8 pane title reported by tmux." + }, + "id": "LibTmux.Snapshot#v:Pane.title", + "kind": "property", + "modifiers": [], + "name": "title", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:title", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Pane", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Pane.title", + "qualifiedName": "LibTmux.Snapshot.title", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "title" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "title :: !Text" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 106, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Reported process name; tmux may normalize it." + }, + "id": "LibTmux.Snapshot#v:Pane.currentCommand", + "kind": "property", + "modifiers": [], + "name": "currentCommand", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:currentCommand", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Pane", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Pane.currentCommand", + "qualifiedName": "LibTmux.Snapshot.currentCommand", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "currentCommand" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixString", + "text": "PosixString" + } + ], + "params": [], + "raw": "currentCommand :: !PosixString" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 107, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Endpoint data, without local path interpretation." + }, + "id": "LibTmux.Snapshot#v:Pane.currentPath", + "kind": "property", + "modifiers": [], + "name": "currentPath", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:currentPath", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Pane", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Pane.currentPath", + "qualifiedName": "LibTmux.Snapshot.currentPath", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "currentPath" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath", + "text": "PosixPath" + } + ], + "params": [], + "raw": "currentPath :: !PosixPath" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 108, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "One observed session*index*window binding. Indices are reusable positions;\n this value describes captured context. The same window may appear repeatedly." + }, + "id": "LibTmux.Snapshot#t:WindowLink", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`WindowLink `", + "raw": "instance NFData WindowLink", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 124, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`WindowLink `", + "raw": "instance Eq WindowLink", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 123, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`WindowLink `", + "raw": "instance Show WindowLink", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 123, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "WindowLink", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:WindowLink", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:WindowLink", + "qualifiedName": "LibTmux.Snapshot.WindowLink", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "WindowLink" + } + ], + "params": [], + "raw": "data WindowLink" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 117, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": null, + "id": "LibTmux.Snapshot#v:WindowLink", + "kind": "function", + "modifiers": [], + "name": "WindowLink", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:WindowLink", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:WindowLink", + "product": "core", + "publicId": "LibTmux.Snapshot#v:WindowLink", + "qualifiedName": "LibTmux.Snapshot.WindowLink", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "WindowLink" + } + ], + "params": [], + "raw": "WindowLink" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 117, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Session containing this appearance." + }, + "id": "LibTmux.Snapshot#v:WindowLink.session", + "kind": "property", + "modifiers": [], + "name": "session", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:session", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:WindowLink", + "product": "core", + "publicId": "LibTmux.Snapshot#v:WindowLink.session", + "qualifiedName": "LibTmux.Snapshot.session", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "session" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:SessionRef", + "target": "LibTmux.Snapshot#t:SessionRef", + "text": "SessionRef" + } + ], + "params": [], + "raw": "session :: !SessionRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Position of this link within the session." + }, + "id": "LibTmux.Snapshot#v:WindowLink.index", + "kind": "property", + "modifiers": [], + "name": "index", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:index", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:WindowLink", + "product": "core", + "publicId": "LibTmux.Snapshot#v:WindowLink.index", + "qualifiedName": "LibTmux.Snapshot.index", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "index" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Value.html#t:WindowIndex", + "target": "LibTmux.Value#t:WindowIndex", + "text": "WindowIndex" + } + ], + "params": [], + "raw": "index :: !WindowIndex" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Physical window shared by its appearances." + }, + "id": "LibTmux.Snapshot#v:WindowLink.window", + "kind": "property", + "modifiers": [], + "name": "window", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:window", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:WindowLink", + "product": "core", + "publicId": "LibTmux.Snapshot#v:WindowLink.window", + "qualifiedName": "LibTmux.Snapshot.window", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "window" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + } + ], + "params": [], + "raw": "window :: !WindowRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Whether this is the session's selected window link." + }, + "id": "LibTmux.Snapshot#v:WindowLink.active", + "kind": "property", + "modifiers": [], + "name": "active", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:active", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:WindowLink", + "product": "core", + "publicId": "LibTmux.Snapshot#v:WindowLink.active", + "qualifiedName": "LibTmux.Snapshot.active", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "active" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool", + "text": "Bool" + } + ], + "params": [], + "raw": "active :: !Bool" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "A physical pane together with one contextual window appearance." + }, + "id": "LibTmux.Snapshot#t:PaneOccurrence", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`PaneOccurrence `", + "raw": "instance NFData PaneOccurrence", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:PaneOccurrence", + "target": "LibTmux.Snapshot#t:PaneOccurrence", + "text": "PaneOccurrence" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 133, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`PaneOccurrence `", + "raw": "instance Eq PaneOccurrence", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:PaneOccurrence", + "target": "LibTmux.Snapshot#t:PaneOccurrence", + "text": "PaneOccurrence" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 132, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`PaneOccurrence `", + "raw": "instance Show PaneOccurrence", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:PaneOccurrence", + "target": "LibTmux.Snapshot#t:PaneOccurrence", + "text": "PaneOccurrence" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 132, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "PaneOccurrence", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:PaneOccurrence", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:PaneOccurrence", + "qualifiedName": "LibTmux.Snapshot.PaneOccurrence", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "PaneOccurrence" + } + ], + "params": [], + "raw": "data PaneOccurrence" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 128, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": null, + "id": "LibTmux.Snapshot#v:PaneOccurrence", + "kind": "function", + "modifiers": [], + "name": "PaneOccurrence", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:PaneOccurrence", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:PaneOccurrence", + "product": "core", + "publicId": "LibTmux.Snapshot#v:PaneOccurrence", + "qualifiedName": "LibTmux.Snapshot.PaneOccurrence", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "PaneOccurrence" + } + ], + "params": [], + "raw": "PaneOccurrence" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 128, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Captured physical pane value." + }, + "id": "LibTmux.Snapshot#v:PaneOccurrence.pane", + "kind": "property", + "modifiers": [], + "name": "pane", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:pane", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:PaneOccurrence", + "product": "core", + "publicId": "LibTmux.Snapshot#v:PaneOccurrence.pane", + "qualifiedName": "LibTmux.Snapshot.pane", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "pane" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + } + ], + "params": [], + "raw": "pane :: !Pane" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Session and index context through which it appears." + }, + "id": "LibTmux.Snapshot#v:PaneOccurrence.link", + "kind": "property", + "modifiers": [], + "name": "link", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:link", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:PaneOccurrence", + "product": "core", + "publicId": "LibTmux.Snapshot#v:PaneOccurrence.link", + "qualifiedName": "LibTmux.Snapshot.link", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "link" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + } + ], + "params": [], + "raw": "link :: !WindowLink" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 130, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "A detached client observation, not an operational connection or live ref.\n The live profile lists attached clients; an offline value may be unattached." + }, + "id": "LibTmux.Snapshot#t:Client", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`Client `", + "raw": "instance NFData Client", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:Client", + "target": "LibTmux.Snapshot#t:Client", + "text": "Client" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 171, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Client `", + "raw": "instance Eq Client", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:Client", + "target": "LibTmux.Snapshot#t:Client", + "text": "Client" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 170, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Client `", + "raw": "instance Show Client", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:Client", + "target": "LibTmux.Snapshot#t:Client", + "text": "Client" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 170, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "Client", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:Client", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:Client", + "qualifiedName": "LibTmux.Snapshot.Client", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Client" + } + ], + "params": [], + "raw": "data Client" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 164, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": null, + "id": "LibTmux.Snapshot#v:Client", + "kind": "function", + "modifiers": [], + "name": "Client", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:Client", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Client", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Client", + "qualifiedName": "LibTmux.Snapshot.Client", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "Client" + } + ], + "params": [], + "raw": "Client" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 164, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Reported client-name bytes; names may be reused." + }, + "id": "LibTmux.Snapshot#v:Client.name", + "kind": "property", + "modifiers": [], + "name": "name", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:name", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Client", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Client.name", + "qualifiedName": "LibTmux.Snapshot.name", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "name" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixString", + "text": "PosixString" + } + ], + "params": [], + "raw": "name :: !PosixString" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Reported positive client process ID." + }, + "id": "LibTmux.Snapshot#v:Client.pid", + "kind": "property", + "modifiers": [], + "name": "pid", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:pid", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Client", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Client.pid", + "qualifiedName": "LibTmux.Snapshot.pid", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "pid" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "pid :: !Integer" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Reported terminal path, when present." + }, + "id": "LibTmux.Snapshot#v:Client.tty", + "kind": "property", + "modifiers": [], + "name": "tty", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:tty", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Client", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Client.tty", + "qualifiedName": "LibTmux.Snapshot.tty", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "tty" + }, + { + "text": " :: !(" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe", + "text": "Maybe" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath", + "text": "PosixPath" + }, + { + "text": ")" + } + ], + "params": [], + "raw": "tty :: !(Maybe PosixPath)" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Attachment values resolved within this capture." + }, + "id": "LibTmux.Snapshot#v:Client.attachment", + "kind": "property", + "modifiers": [], + "name": "attachment", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:attachment", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:Client", + "product": "core", + "publicId": "LibTmux.Snapshot#v:Client.attachment", + "qualifiedName": "LibTmux.Snapshot.attachment", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "attachment" + }, + { + "text": " :: !(" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe", + "text": "Maybe" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:ClientAttachment", + "target": "LibTmux.Snapshot#t:ClientAttachment", + "text": "ClientAttachment" + }, + { + "text": ")" + } + ], + "params": [], + "raw": "attachment :: !(Maybe ClientAttachment)" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 168, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "An attachment contains this capture's values. It never resolves a retained\n client name against a later capture. The pane is the session window's global\n active pane, not an independent client focus; its link retains session context." + }, + "id": "LibTmux.Snapshot#t:ClientAttachment", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`ClientAttachment `", + "raw": "instance NFData ClientAttachment", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:ClientAttachment", + "target": "LibTmux.Snapshot#t:ClientAttachment", + "text": "ClientAttachment" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 159, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`ClientAttachment `", + "raw": "instance Eq ClientAttachment", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:ClientAttachment", + "target": "LibTmux.Snapshot#t:ClientAttachment", + "text": "ClientAttachment" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 158, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`ClientAttachment `", + "raw": "instance Show ClientAttachment", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:ClientAttachment", + "target": "LibTmux.Snapshot#t:ClientAttachment", + "text": "ClientAttachment" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 158, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "ClientAttachment", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:ClientAttachment", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:ClientAttachment", + "qualifiedName": "LibTmux.Snapshot.ClientAttachment", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "ClientAttachment" + } + ], + "params": [], + "raw": "data ClientAttachment" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 153, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": null, + "id": "LibTmux.Snapshot#v:ClientAttachment", + "kind": "function", + "modifiers": [], + "name": "ClientAttachment", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:ClientAttachment", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:ClientAttachment", + "product": "core", + "publicId": "LibTmux.Snapshot#v:ClientAttachment", + "qualifiedName": "LibTmux.Snapshot.ClientAttachment", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "ClientAttachment" + } + ], + "params": [], + "raw": "ClientAttachment" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 153, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Captured attachment session." + }, + "id": "LibTmux.Snapshot#v:ClientAttachment.session", + "kind": "property", + "modifiers": [], + "name": "session", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:session", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:ClientAttachment", + "product": "core", + "publicId": "LibTmux.Snapshot#v:ClientAttachment.session", + "qualifiedName": "LibTmux.Snapshot.session", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "session" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + } + ], + "params": [], + "raw": "session :: !Session" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Captured physical selected window." + }, + "id": "LibTmux.Snapshot#v:ClientAttachment.window", + "kind": "property", + "modifiers": [], + "name": "window", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:window", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:ClientAttachment", + "product": "core", + "publicId": "LibTmux.Snapshot#v:ClientAttachment.window", + "qualifiedName": "LibTmux.Snapshot.window", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "window" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + } + ], + "params": [], + "raw": "window :: !Window" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Selected pane with its session/window-link context." + }, + "id": "LibTmux.Snapshot#v:ClientAttachment.pane", + "kind": "property", + "modifiers": [], + "name": "pane", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:pane", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:ClientAttachment", + "product": "core", + "publicId": "LibTmux.Snapshot#v:ClientAttachment.pane", + "qualifiedName": "LibTmux.Snapshot.pane", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "pane" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:PaneOccurrence", + "target": "LibTmux.Snapshot#t:PaneOccurrence", + "text": "PaneOccurrence" + } + ], + "params": [], + "raw": "pane :: !PaneOccurrence" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Opaque connection or offline-fixture identity. Independent Server handles\n receive distinct tokens; named fixtures never equal an adopted endpoint." + }, + "id": "LibTmux.Snapshot#t:Generation", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`Generation `", + "raw": "instance NFData Generation", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:Generation", + "target": "LibTmux.Snapshot#t:Generation", + "text": "Generation" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 50, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Generation `", + "raw": "instance Eq Generation", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:Generation", + "target": "LibTmux.Snapshot#t:Generation", + "text": "Generation" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 49, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`Generation `", + "raw": "instance Ord Generation", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Snapshot.html#t:Generation", + "target": "LibTmux.Snapshot#t:Generation", + "text": "Generation" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 49, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Generation `", + "raw": "instance Show Generation", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:Generation", + "target": "LibTmux.Snapshot#t:Generation", + "text": "Generation" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 49, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "Generation", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:Generation", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:Generation", + "qualifiedName": "LibTmux.Snapshot.Generation", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Generation" + } + ], + "params": [], + "raw": "data Generation" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 47, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Session targeting identity within a :obj:`Generation `. Compare observations\n separately when their captured field values matter." + }, + "id": "LibTmux.Snapshot#t:SessionRef", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`SessionRef `", + "raw": "instance NFData SessionRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:SessionRef", + "target": "LibTmux.Snapshot#t:SessionRef", + "text": "SessionRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 58, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`SessionRef `", + "raw": "instance Eq SessionRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:SessionRef", + "target": "LibTmux.Snapshot#t:SessionRef", + "text": "SessionRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 57, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`SessionRef `", + "raw": "instance Ord SessionRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Snapshot.html#t:SessionRef", + "target": "LibTmux.Snapshot#t:SessionRef", + "text": "SessionRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 57, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`SessionRef `", + "raw": "instance Show SessionRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:SessionRef", + "target": "LibTmux.Snapshot#t:SessionRef", + "text": "SessionRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 57, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "SessionRef", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:SessionRef", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:SessionRef", + "qualifiedName": "LibTmux.Snapshot.SessionRef", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "SessionRef" + } + ], + "params": [], + "raw": "data SessionRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 56, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Physical window targeting identity within a :obj:`Generation `. A window can\n have several :obj:`WindowLink ` appearances." + }, + "id": "LibTmux.Snapshot#t:WindowRef", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`WindowRef `", + "raw": "instance NFData WindowRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 65, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`WindowRef `", + "raw": "instance Eq WindowRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 64, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`WindowRef `", + "raw": "instance Ord WindowRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 64, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`WindowRef `", + "raw": "instance Show WindowRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 64, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "WindowRef", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:WindowRef", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:WindowRef", + "qualifiedName": "LibTmux.Snapshot.WindowRef", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "WindowRef" + } + ], + "params": [], + "raw": "data WindowRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 63, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Physical pane targeting identity within a :obj:`Generation `. This carries\n identity, while the supplied :obj:`Snapshot ` determines the observed values." + }, + "id": "LibTmux.Snapshot#t:PaneRef", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`PaneRef `", + "raw": "instance NFData PaneRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:PaneRef", + "target": "LibTmux.Snapshot#t:PaneRef", + "text": "PaneRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 72, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`PaneRef `", + "raw": "instance Eq PaneRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:PaneRef", + "target": "LibTmux.Snapshot#t:PaneRef", + "text": "PaneRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 71, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`PaneRef `", + "raw": "instance Ord PaneRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Snapshot.html#t:PaneRef", + "target": "LibTmux.Snapshot#t:PaneRef", + "text": "PaneRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 71, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`PaneRef `", + "raw": "instance Show PaneRef", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:PaneRef", + "target": "LibTmux.Snapshot#t:PaneRef", + "text": "PaneRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 71, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "PaneRef", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:PaneRef", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:PaneRef", + "qualifiedName": "LibTmux.Snapshot.PaneRef", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "PaneRef" + } + ], + "params": [], + "raw": "data PaneRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 70, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Native session ID, without the reference's generation guarantee." + }, + "id": "LibTmux.Snapshot#v:sessionId", + "kind": "function", + "modifiers": [], + "name": "sessionId", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:sessionId", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:sessionId", + "qualifiedName": "LibTmux.Snapshot.sessionId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "sessionId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:SessionRef", + "target": "LibTmux.Snapshot#t:SessionRef", + "text": "SessionRef" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + } + ], + "params": [], + "raw": "sessionId :: SessionRef -> SessionId" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 71, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Native physical window ID. Window-link indices are separate values." + }, + "id": "LibTmux.Snapshot#v:windowId", + "kind": "function", + "modifiers": [], + "name": "windowId", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:windowId", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:windowId", + "qualifiedName": "LibTmux.Snapshot.windowId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windowId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + } + ], + "params": [], + "raw": "windowId :: WindowRef -> WindowId" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 75, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Native pane ID. Comparing IDs alone does not compare Server identity." + }, + "id": "LibTmux.Snapshot#v:paneId", + "kind": "function", + "modifiers": [], + "name": "paneId", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:paneId", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:paneId", + "qualifiedName": "LibTmux.Snapshot.paneId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "paneId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:PaneRef", + "target": "LibTmux.Snapshot#t:PaneRef", + "text": "PaneRef" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + } + ], + "params": [], + "raw": "paneId :: PaneRef -> PaneId" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 79, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Physical sessions in numeric ID order." + }, + "id": "LibTmux.Snapshot#v:sessions", + "kind": "function", + "modifiers": [], + "name": "sessions", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:sessions", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:sessions", + "qualifiedName": "LibTmux.Snapshot.sessions", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "sessions" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> [" + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "sessions :: Snapshot -> [Session]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 83, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Physical windows in numeric ID order, independent of their links." + }, + "id": "LibTmux.Snapshot#v:windows", + "kind": "function", + "modifiers": [], + "name": "windows", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:windows", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:windows", + "qualifiedName": "LibTmux.Snapshot.windows", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windows" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> [" + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "windows :: Snapshot -> [Window]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 87, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Physical panes in numeric ID order. Use :obj:`paneOccurrences ` for link context." + }, + "id": "LibTmux.Snapshot#v:panes", + "kind": "function", + "modifiers": [], + "name": "panes", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:panes", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:panes", + "qualifiedName": "LibTmux.Snapshot.panes", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "panes" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> [" + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "panes :: Snapshot -> [Pane]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 91, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Window appearances in session ID and window-index order." + }, + "id": "LibTmux.Snapshot#v:windowLinks", + "kind": "function", + "modifiers": [], + "name": "windowLinks", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:windowLinks", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:windowLinks", + "qualifiedName": "LibTmux.Snapshot.windowLinks", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windowLinks" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> [" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "windowLinks :: Snapshot -> [WindowLink]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 95, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Every pane appearance, ordered by link and then pane index." + }, + "id": "LibTmux.Snapshot#v:paneOccurrences", + "kind": "function", + "modifiers": [], + "name": "paneOccurrences", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:paneOccurrences", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:paneOccurrences", + "qualifiedName": "LibTmux.Snapshot.paneOccurrences", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "paneOccurrences" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> [" + }, + { + "href": "LibTmux-Snapshot.html#t:PaneOccurrence", + "target": "LibTmux.Snapshot#t:PaneOccurrence", + "text": "PaneOccurrence" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "paneOccurrences :: Snapshot -> [PaneOccurrence]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 99, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "Captured attached clients in reported-name and PID order. Names may repeat." + }, + "id": "LibTmux.Snapshot#v:clients", + "kind": "function", + "modifiers": [], + "name": "clients", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:clients", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:clients", + "qualifiedName": "LibTmux.Snapshot.clients", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "clients" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> [" + }, + { + "href": "LibTmux-Snapshot.html#t:Client", + "target": "LibTmux.Snapshot#t:Client", + "text": "Client" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "clients :: Snapshot -> [Client]" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 202, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "A reference that cannot resolve in the supplied immutable snapshot.\n Missing entities are distinct from a successfully observed empty relation." + }, + "id": "LibTmux.Snapshot#t:LookupError", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`LookupError `", + "raw": "instance Eq LookupError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:LookupError", + "target": "LibTmux.Snapshot#t:LookupError", + "text": "LookupError" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 248, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`LookupError `", + "raw": "instance Show LookupError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:LookupError", + "target": "LibTmux.Snapshot#t:LookupError", + "text": "LookupError" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 248, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "LookupError", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:LookupError", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:LookupError", + "qualifiedName": "LibTmux.Snapshot.LookupError", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "LookupError" + } + ], + "params": [], + "raw": "data LookupError" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 243, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "The reference belongs to another connection generation." + }, + "id": "LibTmux.Snapshot#v:ForeignGeneration", + "kind": "function", + "modifiers": [], + "name": "ForeignGeneration", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:ForeignGeneration", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:LookupError", + "product": "core", + "publicId": "LibTmux.Snapshot#v:ForeignGeneration", + "qualifiedName": "LibTmux.Snapshot.ForeignGeneration", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "ForeignGeneration" + } + ], + "params": [], + "raw": "ForeignGeneration" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 244, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "No session with this identity was captured." + }, + "id": "LibTmux.Snapshot#v:MissingSession", + "kind": "function", + "modifiers": [], + "name": "MissingSession", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:MissingSession", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:LookupError", + "product": "core", + "publicId": "LibTmux.Snapshot#v:MissingSession", + "qualifiedName": "LibTmux.Snapshot.MissingSession", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "MissingSession" + }, + { + "text": " !" + }, + { + "href": "LibTmux-Snapshot.html#t:SessionRef", + "target": "LibTmux.Snapshot#t:SessionRef", + "text": "SessionRef" + } + ], + "params": [], + "raw": "MissingSession !SessionRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 245, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "No physical window with this identity was captured." + }, + "id": "LibTmux.Snapshot#v:MissingWindow", + "kind": "function", + "modifiers": [], + "name": "MissingWindow", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:MissingWindow", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:LookupError", + "product": "core", + "publicId": "LibTmux.Snapshot#v:MissingWindow", + "qualifiedName": "LibTmux.Snapshot.MissingWindow", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "MissingWindow" + }, + { + "text": " !" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + } + ], + "params": [], + "raw": "MissingWindow !WindowRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 246, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.Graph", + "doc": { + "summary": "No physical pane with this identity was captured." + }, + "id": "LibTmux.Snapshot#v:MissingPane", + "kind": "function", + "modifiers": [], + "name": "MissingPane", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:MissingPane", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot#t:LookupError", + "product": "core", + "publicId": "LibTmux.Snapshot#v:MissingPane", + "qualifiedName": "LibTmux.Snapshot.MissingPane", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "MissingPane" + }, + { + "text": " !" + }, + { + "href": "LibTmux-Snapshot.html#t:PaneRef", + "target": "LibTmux.Snapshot#t:PaneRef", + "text": "PaneRef" + } + ], + "params": [], + "raw": "MissingPane !PaneRef" + } + ], + "source": { + "file": "internal/LibTmux/Internal/Graph.hs", + "line": 247, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Resolve a session in this snapshot. Missing and foreign refs are errors." + }, + "id": "LibTmux.Snapshot#v:lookupSession", + "kind": "function", + "modifiers": [], + "name": "lookupSession", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:lookupSession", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:lookupSession", + "qualifiedName": "LibTmux.Snapshot.lookupSession", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "lookupSession" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:SessionRef", + "target": "LibTmux.Snapshot#t:SessionRef", + "text": "SessionRef" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:LookupError", + "target": "LibTmux.Snapshot#t:LookupError", + "text": "LookupError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + } + ], + "params": [], + "raw": "lookupSession :: Snapshot -> SessionRef -> Either LookupError Session" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 103, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Resolve the supplied generation's physical window in this snapshot." + }, + "id": "LibTmux.Snapshot#v:lookupWindow", + "kind": "function", + "modifiers": [], + "name": "lookupWindow", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:lookupWindow", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:lookupWindow", + "qualifiedName": "LibTmux.Snapshot.lookupWindow", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "lookupWindow" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:LookupError", + "target": "LibTmux.Snapshot#t:LookupError", + "text": "LookupError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + } + ], + "params": [], + "raw": "lookupWindow :: Snapshot -> WindowRef -> Either LookupError Window" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 107, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Resolve the supplied generation's physical pane in this snapshot." + }, + "id": "LibTmux.Snapshot#v:lookupPane", + "kind": "function", + "modifiers": [], + "name": "lookupPane", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:lookupPane", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:lookupPane", + "qualifiedName": "LibTmux.Snapshot.lookupPane", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "lookupPane" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:PaneRef", + "target": "LibTmux.Snapshot#t:PaneRef", + "text": "PaneRef" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:LookupError", + "target": "LibTmux.Snapshot#t:LookupError", + "text": "LookupError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + } + ], + "params": [], + "raw": "lookupPane :: Snapshot -> PaneRef -> Either LookupError Pane" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 111, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "A session's window links in window-index order, preserving repeated windows." + }, + "id": "LibTmux.Snapshot#v:linksForSession", + "kind": "function", + "modifiers": [], + "name": "linksForSession", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:linksForSession", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:linksForSession", + "qualifiedName": "LibTmux.Snapshot.linksForSession", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "linksForSession" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:SessionRef", + "target": "LibTmux.Snapshot#t:SessionRef", + "text": "SessionRef" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:LookupError", + "target": "LibTmux.Snapshot#t:LookupError", + "text": "LookupError" + }, + { + "text": " [" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "linksForSession :: Snapshot -> SessionRef -> Either LookupError [WindowLink]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 115, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "A physical window's panes in pane-index order, then numeric ID order." + }, + "id": "LibTmux.Snapshot#v:panesForWindow", + "kind": "function", + "modifiers": [], + "name": "panesForWindow", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:panesForWindow", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:panesForWindow", + "qualifiedName": "LibTmux.Snapshot.panesForWindow", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "panesForWindow" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:LookupError", + "target": "LibTmux.Snapshot#t:LookupError", + "text": "LookupError" + }, + { + "text": " [" + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "panesForWindow :: Snapshot -> WindowRef -> Either LookupError [Pane]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 119, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Select the session currently observed under an ID in this snapshot.\n This creates no continuity guarantee with a previously opened Server." + }, + "id": "LibTmux.Snapshot#v:lookupSessionId", + "kind": "function", + "modifiers": [], + "name": "lookupSessionId", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:lookupSessionId", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:lookupSessionId", + "qualifiedName": "LibTmux.Snapshot.lookupSessionId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "lookupSessionId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:LookupError", + "target": "LibTmux.Snapshot#t:LookupError", + "text": "LookupError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + } + ], + "params": [], + "raw": "lookupSessionId :: Snapshot -> SessionId -> Either LookupError Session" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 124, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Select the physical window observed under an ID in this snapshot." + }, + "id": "LibTmux.Snapshot#v:lookupWindowId", + "kind": "function", + "modifiers": [], + "name": "lookupWindowId", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:lookupWindowId", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:lookupWindowId", + "qualifiedName": "LibTmux.Snapshot.lookupWindowId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "lookupWindowId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:LookupError", + "target": "LibTmux.Snapshot#t:LookupError", + "text": "LookupError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + } + ], + "params": [], + "raw": "lookupWindowId :: Snapshot -> WindowId -> Either LookupError Window" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 128, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Select the pane observed under an ID in this snapshot." + }, + "id": "LibTmux.Snapshot#v:lookupPaneId", + "kind": "function", + "modifiers": [], + "name": "lookupPaneId", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:lookupPaneId", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:lookupPaneId", + "qualifiedName": "LibTmux.Snapshot.lookupPaneId", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "lookupPaneId" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:LookupError", + "target": "LibTmux.Snapshot#t:LookupError", + "text": "LookupError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + } + ], + "params": [], + "raw": "lookupPaneId :: Snapshot -> PaneId -> Either LookupError Pane" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 132, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Internal.TmuxText", + "doc": { + "summary": "A lossless reported label. Equality and ordering compare bytes.\n String literals use UTF-8; byte constructors also admit non-text data.\n Conversion functions are exposed in :obj:`LibTmux.Snapshot `." + }, + "id": "LibTmux.Snapshot#t:TmuxText", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`TmuxText `", + "raw": "instance NFData TmuxText", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Snapshot.html#t:TmuxText", + "target": "LibTmux.Snapshot#t:TmuxText", + "text": "TmuxText" + } + ], + "source": { + "file": "internal/LibTmux/Internal/TmuxText.hs", + "line": 24, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`TmuxText `", + "raw": "instance Eq TmuxText", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot.html#t:TmuxText", + "target": "LibTmux.Snapshot#t:TmuxText", + "text": "TmuxText" + } + ], + "source": { + "file": "internal/LibTmux/Internal/TmuxText.hs", + "line": 22, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`TmuxText `", + "raw": "instance Ord TmuxText", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Snapshot.html#t:TmuxText", + "target": "LibTmux.Snapshot#t:TmuxText", + "text": "TmuxText" + } + ], + "source": { + "file": "internal/LibTmux/Internal/TmuxText.hs", + "line": 22, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [IsString](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-String.html#t:IsString) :obj:`TmuxText `", + "raw": "instance IsString TmuxText", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-String.html#t:IsString", + "text": "IsString" + }, + { + "href": "LibTmux-Snapshot.html#t:TmuxText", + "target": "LibTmux.Snapshot#t:TmuxText", + "text": "TmuxText" + } + ], + "source": { + "file": "internal/LibTmux/Internal/TmuxText.hs", + "line": 27, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`TmuxText `", + "raw": "instance Show TmuxText", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot.html#t:TmuxText", + "target": "LibTmux.Snapshot#t:TmuxText", + "text": "TmuxText" + } + ], + "source": { + "file": "internal/LibTmux/Internal/TmuxText.hs", + "line": 22, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "TmuxText", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "t:TmuxText", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#t:TmuxText", + "qualifiedName": "LibTmux.Snapshot.TmuxText", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "TmuxText" + } + ], + "params": [], + "raw": "data TmuxText" + } + ], + "source": { + "file": "internal/LibTmux/Internal/TmuxText.hs", + "line": 21, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Copy bytes into an owned label. This performs no encoding replacement." + }, + "id": "LibTmux.Snapshot#v:labelFromBytes", + "kind": "function", + "modifiers": [], + "name": "labelFromBytes", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:labelFromBytes", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:labelFromBytes", + "qualifiedName": "LibTmux.Snapshot.labelFromBytes", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "labelFromBytes" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/bytestring-0.12.2.0/docs/Data-ByteString.html#t:ByteString", + "text": "ByteString" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:TmuxText", + "target": "LibTmux.Snapshot#t:TmuxText", + "text": "TmuxText" + } + ], + "params": [], + "raw": "labelFromBytes :: ByteString -> TmuxText" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 136, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Exact bytes reported by tmux, after transport decoding." + }, + "id": "LibTmux.Snapshot#v:labelBytes", + "kind": "function", + "modifiers": [], + "name": "labelBytes", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:labelBytes", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:labelBytes", + "qualifiedName": "LibTmux.Snapshot.labelBytes", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "labelBytes" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:TmuxText", + "target": "LibTmux.Snapshot#t:TmuxText", + "text": "TmuxText" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/bytestring-0.12.2.0/docs/Data-ByteString.html#t:ByteString", + "text": "ByteString" + } + ], + "params": [], + "raw": "labelBytes :: TmuxText -> ByteString" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 140, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot", + "doc": { + "summary": "Decode a label as UTF-8, retaining byte access on failure." + }, + "id": "LibTmux.Snapshot#v:labelText", + "kind": "function", + "modifiers": [], + "name": "labelText", + "namespace": "LibTmux.Snapshot", + "nativeLocation": { + "anchor": "v:labelText", + "module": "LibTmux.Snapshot" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot", + "product": "core", + "publicId": "LibTmux.Snapshot#v:labelText", + "qualifiedName": "LibTmux.Snapshot.labelText", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "labelText" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot.html#t:TmuxText", + "target": "LibTmux.Snapshot#t:TmuxText", + "text": "TmuxText" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text-Encoding-Error.html#t:UnicodeException", + "text": "UnicodeException" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "labelText :: TmuxText -> Either UnicodeException Text" + } + ], + "source": { + "file": "src/LibTmux/Snapshot.hs", + "line": 144, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "A named offline namespace. Equal names deliberately compare equal, so\n tests can model successive observations. This cannot represent a Server." + }, + "id": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`FixtureOrigin `", + "raw": "instance Eq FixtureOrigin", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureOrigin", + "target": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "text": "FixtureOrigin" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 38, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`FixtureOrigin `", + "raw": "instance Ord FixtureOrigin", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureOrigin", + "target": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "text": "FixtureOrigin" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 38, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`FixtureOrigin `", + "raw": "instance Show FixtureOrigin", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureOrigin", + "target": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "text": "FixtureOrigin" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 38, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "FixtureOrigin", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "t:FixtureOrigin", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "qualifiedName": "LibTmux.Snapshot.Fixture.FixtureOrigin", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "FixtureOrigin" + } + ], + "params": [], + "raw": "data FixtureOrigin" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 37, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Select a pure fixture namespace. No endpoint lookup or random IO occurs." + }, + "id": "LibTmux.Snapshot.Fixture#v:fixtureOrigin", + "kind": "function", + "modifiers": [], + "name": "fixtureOrigin", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:fixtureOrigin", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:fixtureOrigin", + "qualifiedName": "LibTmux.Snapshot.Fixture.fixtureOrigin", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "fixtureOrigin" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureOrigin", + "target": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "text": "FixtureOrigin" + } + ], + "params": [], + "raw": "fixtureOrigin :: Text -> FixtureOrigin" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 42, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "The offline generation for :obj:`Fixture ` metadata. Replacing it with a connection\n generation causes :obj:`validateFixture ` to reject the metadata." + }, + "id": "LibTmux.Snapshot.Fixture#v:fixtureGeneration", + "kind": "function", + "modifiers": [], + "name": "fixtureGeneration", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:fixtureGeneration", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:fixtureGeneration", + "qualifiedName": "LibTmux.Snapshot.Fixture.fixtureGeneration", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "fixtureGeneration" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureOrigin", + "target": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "text": "FixtureOrigin" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:Generation", + "target": "LibTmux.Snapshot#t:Generation", + "text": "Generation" + } + ], + "params": [], + "raw": "fixtureGeneration :: FixtureOrigin -> Generation" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 47, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Construct a session reference that belongs only to this offline origin." + }, + "id": "LibTmux.Snapshot.Fixture#v:sessionRef", + "kind": "function", + "modifiers": [], + "name": "sessionRef", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:sessionRef", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:sessionRef", + "qualifiedName": "LibTmux.Snapshot.Fixture.sessionRef", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "sessionRef" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureOrigin", + "target": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "text": "FixtureOrigin" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:SessionRef", + "target": "LibTmux.Snapshot#t:SessionRef", + "text": "SessionRef" + } + ], + "params": [], + "raw": "sessionRef :: FixtureOrigin -> SessionId -> SessionRef" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 51, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Construct a physical window reference without granting live authority." + }, + "id": "LibTmux.Snapshot.Fixture#v:windowRef", + "kind": "function", + "modifiers": [], + "name": "windowRef", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:windowRef", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:windowRef", + "qualifiedName": "LibTmux.Snapshot.Fixture.windowRef", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windowRef" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureOrigin", + "target": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "text": "FixtureOrigin" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:WindowRef", + "target": "LibTmux.Snapshot#t:WindowRef", + "text": "WindowRef" + } + ], + "params": [], + "raw": "windowRef :: FixtureOrigin -> WindowId -> WindowRef" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 55, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Construct a pane reference without consulting or targeting a daemon." + }, + "id": "LibTmux.Snapshot.Fixture#v:paneRef", + "kind": "function", + "modifiers": [], + "name": "paneRef", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:paneRef", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:paneRef", + "qualifiedName": "LibTmux.Snapshot.Fixture.paneRef", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "paneRef" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureOrigin", + "target": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "text": "FixtureOrigin" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot.html#t:PaneRef", + "target": "LibTmux.Snapshot#t:PaneRef", + "text": "PaneRef" + } + ], + "params": [], + "raw": "paneRef :: FixtureOrigin -> PaneId -> PaneRef" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 59, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Ordinary finite inputs. Validation applies the captured graph's laws;\n record construction or updates alone do not establish those laws." + }, + "id": "LibTmux.Snapshot.Fixture#t:Fixture", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Fixture `", + "raw": "instance Eq Fixture", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:Fixture", + "target": "LibTmux.Snapshot.Fixture#t:Fixture", + "text": "Fixture" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 71, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Fixture `", + "raw": "instance Show Fixture", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:Fixture", + "target": "LibTmux.Snapshot.Fixture#t:Fixture", + "text": "Fixture" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 71, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "Fixture", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "t:Fixture", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#t:Fixture", + "qualifiedName": "LibTmux.Snapshot.Fixture.Fixture", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Fixture" + } + ], + "params": [], + "raw": "data Fixture" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 63, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": null, + "id": "LibTmux.Snapshot.Fixture#v:Fixture", + "kind": "function", + "modifiers": [], + "name": "Fixture", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:Fixture", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:Fixture", + "qualifiedName": "LibTmux.Snapshot.Fixture.Fixture", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "Fixture" + } + ], + "params": [], + "raw": "Fixture" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 63, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Synthetic metadata in the supplied offline generation." + }, + "id": "LibTmux.Snapshot.Fixture#v:Fixture.info", + "kind": "property", + "modifiers": [], + "name": "info", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:info", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:Fixture.info", + "qualifiedName": "LibTmux.Snapshot.Fixture.info", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "info" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Snapshot.html#t:ServerInfo", + "target": "LibTmux.Snapshot#t:ServerInfo", + "text": "ServerInfo" + } + ], + "params": [], + "raw": "info :: !ServerInfo" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 64, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Physical sessions, with references from this origin." + }, + "id": "LibTmux.Snapshot.Fixture#v:Fixture.sessions", + "kind": "property", + "modifiers": [], + "name": "sessions", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:sessions", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:Fixture.sessions", + "qualifiedName": "LibTmux.Snapshot.Fixture.sessions", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "sessions" + }, + { + "text": " :: ![" + }, + { + "href": "LibTmux-Snapshot.html#t:Session", + "target": "LibTmux.Snapshot#t:Session", + "text": "Session" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "sessions :: ![Session]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 65, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Physical windows, independent of contextual appearances." + }, + "id": "LibTmux.Snapshot.Fixture#v:Fixture.windows", + "kind": "property", + "modifiers": [], + "name": "windows", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:windows", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:Fixture.windows", + "qualifiedName": "LibTmux.Snapshot.Fixture.windows", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windows" + }, + { + "text": " :: ![" + }, + { + "href": "LibTmux-Snapshot.html#t:Window", + "target": "LibTmux.Snapshot#t:Window", + "text": "Window" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "windows :: ![Window]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 66, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Physical panes with their containing window references." + }, + "id": "LibTmux.Snapshot.Fixture#v:Fixture.panes", + "kind": "property", + "modifiers": [], + "name": "panes", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:panes", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:Fixture.panes", + "qualifiedName": "LibTmux.Snapshot.Fixture.panes", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "panes" + }, + { + "text": " :: ![" + }, + { + "href": "LibTmux-Snapshot.html#t:Pane", + "target": "LibTmux.Snapshot#t:Pane", + "text": "Pane" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "panes :: ![Pane]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 67, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Session*index*window appearances, including active selections." + }, + "id": "LibTmux.Snapshot.Fixture#v:Fixture.windowLinks", + "kind": "property", + "modifiers": [], + "name": "windowLinks", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:windowLinks", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:Fixture.windowLinks", + "qualifiedName": "LibTmux.Snapshot.Fixture.windowLinks", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windowLinks" + }, + { + "text": " :: ![" + }, + { + "href": "LibTmux-Snapshot.html#t:WindowLink", + "target": "LibTmux.Snapshot#t:WindowLink", + "text": "WindowLink" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "windowLinks :: ![WindowLink]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 68, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Complete attached-client listing for this fixture." + }, + "id": "LibTmux.Snapshot.Fixture#v:Fixture.clients", + "kind": "property", + "modifiers": [], + "name": "clients", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:clients", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:Fixture.clients", + "qualifiedName": "LibTmux.Snapshot.Fixture.clients", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "clients" + }, + { + "text": " :: ![" + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:AttachedClient", + "target": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "text": "AttachedClient" + }, + { + "text": "]" + } + ], + "params": [], + "raw": "clients :: ![AttachedClient]" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 69, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "An attached client's native identity and context before graph validation.\n Validation resolves its values from the same snapshot; it never trusts a\n caller-supplied nested attachment record." + }, + "id": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`AttachedClient `", + "raw": "instance Eq AttachedClient", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:AttachedClient", + "target": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "text": "AttachedClient" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 85, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`AttachedClient `", + "raw": "instance Show AttachedClient", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:AttachedClient", + "target": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "text": "AttachedClient" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 85, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "AttachedClient", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "t:AttachedClient", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "qualifiedName": "LibTmux.Snapshot.Fixture.AttachedClient", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "AttachedClient" + } + ], + "params": [], + "raw": "data AttachedClient" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 76, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": null, + "id": "LibTmux.Snapshot.Fixture#v:AttachedClient", + "kind": "function", + "modifiers": [], + "name": "AttachedClient", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:AttachedClient", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:AttachedClient", + "qualifiedName": "LibTmux.Snapshot.Fixture.AttachedClient", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "AttachedClient" + } + ], + "params": [], + "raw": "AttachedClient" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 76, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Nonempty reported client-name bytes." + }, + "id": "LibTmux.Snapshot.Fixture#v:AttachedClient.name", + "kind": "property", + "modifiers": [], + "name": "name", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:name", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:AttachedClient.name", + "qualifiedName": "LibTmux.Snapshot.Fixture.name", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "name" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixString", + "text": "PosixString" + } + ], + "params": [], + "raw": "name :: !PosixString" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 77, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Positive synthetic client PID in the native PID range." + }, + "id": "LibTmux.Snapshot.Fixture#v:AttachedClient.pid", + "kind": "property", + "modifiers": [], + "name": "pid", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:pid", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:AttachedClient.pid", + "qualifiedName": "LibTmux.Snapshot.Fixture.pid", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "pid" + }, + { + "text": " :: !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "pid :: !Integer" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 78, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Nonempty terminal path when provided." + }, + "id": "LibTmux.Snapshot.Fixture#v:AttachedClient.tty", + "kind": "property", + "modifiers": [], + "name": "tty", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:tty", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:AttachedClient.tty", + "qualifiedName": "LibTmux.Snapshot.Fixture.tty", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "tty" + }, + { + "text": " :: !(" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe", + "text": "Maybe" + }, + { + "text": " " + }, + { + "href": "https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath", + "text": "PosixPath" + }, + { + "text": ")" + } + ], + "params": [], + "raw": "tty :: !(Maybe PosixPath)" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 79, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Attachment session ID." + }, + "id": "LibTmux.Snapshot.Fixture#v:AttachedClient.session", + "kind": "property", + "modifiers": [], + "name": "session", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:session", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:AttachedClient.session", + "qualifiedName": "LibTmux.Snapshot.Fixture.session", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "session" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Id.html#t:SessionId", + "target": "LibTmux.Id#t:SessionId", + "text": "SessionId" + } + ], + "params": [], + "raw": "session :: !SessionId" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 80, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Selected physical window ID." + }, + "id": "LibTmux.Snapshot.Fixture#v:AttachedClient.window", + "kind": "property", + "modifiers": [], + "name": "window", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:window", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:AttachedClient.window", + "qualifiedName": "LibTmux.Snapshot.Fixture.window", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "window" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Id.html#t:WindowId", + "target": "LibTmux.Id#t:WindowId", + "text": "WindowId" + } + ], + "params": [], + "raw": "window :: !WindowId" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 81, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Selected window-link index in the attachment session." + }, + "id": "LibTmux.Snapshot.Fixture#v:AttachedClient.index", + "kind": "property", + "modifiers": [], + "name": "index", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:index", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:AttachedClient.index", + "qualifiedName": "LibTmux.Snapshot.Fixture.index", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "index" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Value.html#t:WindowIndex", + "target": "LibTmux.Value#t:WindowIndex", + "text": "WindowIndex" + } + ], + "params": [], + "raw": "index :: !WindowIndex" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 82, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "The selected physical pane, not an independent client focus." + }, + "id": "LibTmux.Snapshot.Fixture#v:AttachedClient.pane", + "kind": "property", + "modifiers": [], + "name": "pane", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:pane", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:AttachedClient", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:AttachedClient.pane", + "qualifiedName": "LibTmux.Snapshot.Fixture.pane", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "pane" + }, + { + "text": " :: !" + }, + { + "href": "LibTmux-Id.html#t:PaneId", + "target": "LibTmux.Id#t:PaneId", + "text": "PaneId" + } + ], + "params": [], + "raw": "pane :: !PaneId" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 83, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Empty complete inputs with explicit synthetic metadata: PID 1, epoch 0\n and path `fixture:offline`. No process or socket exists by implication.\n The version and every edited field are checked by :obj:`validateFixture `." + }, + "id": "LibTmux.Snapshot.Fixture#v:emptyFixture", + "kind": "function", + "modifiers": [], + "name": "emptyFixture", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:emptyFixture", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:emptyFixture", + "qualifiedName": "LibTmux.Snapshot.Fixture.emptyFixture", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "emptyFixture" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureOrigin", + "target": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "text": "FixtureOrigin" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:Fixture", + "target": "LibTmux.Snapshot.Fixture#t:Fixture", + "text": "Fixture" + } + ], + "params": [], + "raw": "emptyFixture :: FixtureOrigin -> TmuxVersion -> Fixture" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 91, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "A failed graph or complete-snapshot validation, with domain\n context from the validator. Failed input never becomes an empty snapshot." + }, + "id": "LibTmux.Snapshot.Fixture#t:FixtureError", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`FixtureError `", + "raw": "instance Eq FixtureError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureError", + "target": "LibTmux.Snapshot.Fixture#t:FixtureError", + "text": "FixtureError" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 100, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`FixtureError `", + "raw": "instance Show FixtureError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureError", + "target": "LibTmux.Snapshot.Fixture#t:FixtureError", + "text": "FixtureError" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 100, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "FixtureError", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "t:FixtureError", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#t:FixtureError", + "qualifiedName": "LibTmux.Snapshot.Fixture.FixtureError", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "FixtureError" + } + ], + "params": [], + "raw": "data FixtureError" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 97, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Invalid references, multiplicity, attachment counts or selections." + }, + "id": "LibTmux.Snapshot.Fixture#v:InvalidGraph", + "kind": "function", + "modifiers": [], + "name": "InvalidGraph", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:InvalidGraph", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:FixtureError", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:InvalidGraph", + "qualifiedName": "LibTmux.Snapshot.Fixture.InvalidGraph", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "InvalidGraph" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "InvalidGraph !Text" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 98, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Invalid metadata or attached-client context." + }, + "id": "LibTmux.Snapshot.Fixture#v:InvalidSnapshot", + "kind": "function", + "modifiers": [], + "name": "InvalidSnapshot", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:InvalidSnapshot", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture#t:FixtureError", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:InvalidSnapshot", + "qualifiedName": "LibTmux.Snapshot.Fixture.InvalidSnapshot", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "InvalidSnapshot" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "InvalidSnapshot !Text" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 99, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Snapshot.Fixture", + "doc": { + "summary": "Validate and force owned values using the capture graph's invariants.\n Successful fixtures have no acquisition interval and carry offline\n provenance. Their references cannot equal references from a Server scope." + }, + "id": "LibTmux.Snapshot.Fixture#v:validateFixture", + "kind": "function", + "modifiers": [], + "name": "validateFixture", + "namespace": "LibTmux.Snapshot.Fixture", + "nativeLocation": { + "anchor": "v:validateFixture", + "module": "LibTmux.Snapshot.Fixture" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Snapshot.Fixture", + "product": "core", + "publicId": "LibTmux.Snapshot.Fixture#v:validateFixture", + "qualifiedName": "LibTmux.Snapshot.Fixture.validateFixture", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "validateFixture" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureOrigin", + "target": "LibTmux.Snapshot.Fixture#t:FixtureOrigin", + "text": "FixtureOrigin" + }, + { + "text": " -> " + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:Fixture", + "target": "LibTmux.Snapshot.Fixture#t:Fixture", + "text": "Fixture" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot-Fixture.html#t:FixtureError", + "target": "LibTmux.Snapshot.Fixture#t:FixtureError", + "text": "FixtureError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Snapshot.html#t:Snapshot", + "target": "LibTmux.Snapshot#t:Snapshot", + "text": "Snapshot" + } + ], + "params": [], + "raw": "validateFixture :: FixtureOrigin -> Fixture -> Either FixtureError Snapshot" + } + ], + "source": { + "file": "src/LibTmux/Snapshot/Fixture.hs", + "line": 106, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "Positive cells, constructed with :obj:`mkDimension `. Command and field limits\n are checked separately. Compare dimensions directly or use :obj:`dimensionValue `\n with an integer literal." + }, + "id": "LibTmux.Value#t:Dimension", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`Dimension `", + "raw": "instance NFData Dimension", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 37, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Dimension `", + "raw": "instance Eq Dimension", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 36, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`Dimension `", + "raw": "instance Ord Dimension", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 36, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Dimension `", + "raw": "instance Show Dimension", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 36, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "Dimension", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "t:Dimension", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value", + "product": "core", + "publicId": "LibTmux.Value#t:Dimension", + "qualifiedName": "LibTmux.Value.Dimension", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "Dimension" + } + ], + "params": [], + "raw": "data Dimension" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 35, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "Nonnegative index of a window link within a session, not a physical window ID.\n Construct with :obj:`mkWindowIndex `; read with :obj:`windowIndexValue `." + }, + "id": "LibTmux.Value#t:WindowIndex", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`WindowIndex `", + "raw": "instance NFData WindowIndex", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Value.html#t:WindowIndex", + "target": "LibTmux.Value#t:WindowIndex", + "text": "WindowIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 43, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`WindowIndex `", + "raw": "instance Eq WindowIndex", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Value.html#t:WindowIndex", + "target": "LibTmux.Value#t:WindowIndex", + "text": "WindowIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 42, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`WindowIndex `", + "raw": "instance Ord WindowIndex", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Value.html#t:WindowIndex", + "target": "LibTmux.Value#t:WindowIndex", + "text": "WindowIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 42, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`WindowIndex `", + "raw": "instance Show WindowIndex", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Value.html#t:WindowIndex", + "target": "LibTmux.Value#t:WindowIndex", + "text": "WindowIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 42, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "WindowIndex", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "t:WindowIndex", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value", + "product": "core", + "publicId": "LibTmux.Value#t:WindowIndex", + "qualifiedName": "LibTmux.Value.WindowIndex", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "WindowIndex" + } + ], + "params": [], + "raw": "data WindowIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 41, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "Nonnegative pane index within a window, not a pane ID.\n Construct with :obj:`mkPaneIndex `; read with :obj:`paneIndexValue `." + }, + "id": "LibTmux.Value#t:PaneIndex", + "instances": [ + { + "doc": null, + "markdown": "instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`PaneIndex `", + "raw": "instance NFData PaneIndex", + "references": [ + { + "href": "https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData", + "text": "NFData" + }, + { + "href": "LibTmux-Value.html#t:PaneIndex", + "target": "LibTmux.Value#t:PaneIndex", + "text": "PaneIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 49, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`PaneIndex `", + "raw": "instance Eq PaneIndex", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Value.html#t:PaneIndex", + "target": "LibTmux.Value#t:PaneIndex", + "text": "PaneIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 48, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`PaneIndex `", + "raw": "instance Ord PaneIndex", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Value.html#t:PaneIndex", + "target": "LibTmux.Value#t:PaneIndex", + "text": "PaneIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 48, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`PaneIndex `", + "raw": "instance Show PaneIndex", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Value.html#t:PaneIndex", + "target": "LibTmux.Value#t:PaneIndex", + "text": "PaneIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 48, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "PaneIndex", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "t:PaneIndex", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value", + "product": "core", + "publicId": "LibTmux.Value#t:PaneIndex", + "qualifiedName": "LibTmux.Value.PaneIndex", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "PaneIndex" + } + ], + "params": [], + "raw": "data PaneIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 47, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "A scalar outside its mathematical domain." + }, + "id": "LibTmux.Value#t:ValueError", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`ValueError `", + "raw": "instance Eq ValueError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Value.html#t:ValueError", + "target": "LibTmux.Value#t:ValueError", + "text": "ValueError" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 55, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`ValueError `", + "raw": "instance Show ValueError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Value.html#t:ValueError", + "target": "LibTmux.Value#t:ValueError", + "text": "ValueError" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 55, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "ValueError", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "t:ValueError", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value", + "product": "core", + "publicId": "LibTmux.Value#t:ValueError", + "qualifiedName": "LibTmux.Value.ValueError", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "ValueError" + } + ], + "params": [], + "raw": "data ValueError" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 52, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "The supplied dimension was zero or negative." + }, + "id": "LibTmux.Value#v:NonPositiveDimension", + "kind": "function", + "modifiers": [], + "name": "NonPositiveDimension", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "v:NonPositiveDimension", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value#t:ValueError", + "product": "core", + "publicId": "LibTmux.Value#v:NonPositiveDimension", + "qualifiedName": "LibTmux.Value.NonPositiveDimension", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "NonPositiveDimension" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "NonPositiveDimension !Integer" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 53, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "The supplied contextual index was negative." + }, + "id": "LibTmux.Value#v:NegativeIndex", + "kind": "function", + "modifiers": [], + "name": "NegativeIndex", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "v:NegativeIndex", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value#t:ValueError", + "product": "core", + "publicId": "LibTmux.Value#v:NegativeIndex", + "qualifiedName": "LibTmux.Value.NegativeIndex", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "NegativeIndex" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "NegativeIndex !Integer" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 54, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "Construct a positive dimension without applying a command-specific maximum." + }, + "id": "LibTmux.Value#v:mkDimension", + "kind": "function", + "modifiers": [], + "name": "mkDimension", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "v:mkDimension", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value", + "product": "core", + "publicId": "LibTmux.Value#v:mkDimension", + "qualifiedName": "LibTmux.Value.mkDimension", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "mkDimension" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Value.html#t:ValueError", + "target": "LibTmux.Value#t:ValueError", + "text": "ValueError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + } + ], + "params": [], + "raw": "mkDimension :: Integer -> Either ValueError Dimension" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 59, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "Construct a nonnegative window-link index." + }, + "id": "LibTmux.Value#v:mkWindowIndex", + "kind": "function", + "modifiers": [], + "name": "mkWindowIndex", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "v:mkWindowIndex", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value", + "product": "core", + "publicId": "LibTmux.Value#v:mkWindowIndex", + "qualifiedName": "LibTmux.Value.mkWindowIndex", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "mkWindowIndex" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Value.html#t:ValueError", + "target": "LibTmux.Value#t:ValueError", + "text": "ValueError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Value.html#t:WindowIndex", + "target": "LibTmux.Value#t:WindowIndex", + "text": "WindowIndex" + } + ], + "params": [], + "raw": "mkWindowIndex :: Integer -> Either ValueError WindowIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 65, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "Construct a nonnegative pane index." + }, + "id": "LibTmux.Value#v:mkPaneIndex", + "kind": "function", + "modifiers": [], + "name": "mkPaneIndex", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "v:mkPaneIndex", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value", + "product": "core", + "publicId": "LibTmux.Value#v:mkPaneIndex", + "qualifiedName": "LibTmux.Value.mkPaneIndex", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "mkPaneIndex" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Value.html#t:ValueError", + "target": "LibTmux.Value#t:ValueError", + "text": "ValueError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Value.html#t:PaneIndex", + "target": "LibTmux.Value#t:PaneIndex", + "text": "PaneIndex" + } + ], + "params": [], + "raw": "mkPaneIndex :: Integer -> Either ValueError PaneIndex" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 71, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "Read a dimension as a mathematical integer, without narrowing conversion." + }, + "id": "LibTmux.Value#v:dimensionValue", + "kind": "function", + "modifiers": [], + "name": "dimensionValue", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "v:dimensionValue", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value", + "product": "core", + "publicId": "LibTmux.Value#v:dimensionValue", + "qualifiedName": "LibTmux.Value.dimensionValue", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "dimensionValue" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Value.html#t:Dimension", + "target": "LibTmux.Value#t:Dimension", + "text": "Dimension" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "dimensionValue :: Dimension -> Integer" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 77, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "Read a window-link index as a mathematical integer." + }, + "id": "LibTmux.Value#v:windowIndexValue", + "kind": "function", + "modifiers": [], + "name": "windowIndexValue", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "v:windowIndexValue", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value", + "product": "core", + "publicId": "LibTmux.Value#v:windowIndexValue", + "qualifiedName": "LibTmux.Value.windowIndexValue", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "windowIndexValue" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Value.html#t:WindowIndex", + "target": "LibTmux.Value#t:WindowIndex", + "text": "WindowIndex" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "windowIndexValue :: WindowIndex -> Integer" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 81, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Value", + "doc": { + "summary": "Read a pane index as a mathematical integer." + }, + "id": "LibTmux.Value#v:paneIndexValue", + "kind": "function", + "modifiers": [], + "name": "paneIndexValue", + "namespace": "LibTmux.Value", + "nativeLocation": { + "anchor": "v:paneIndexValue", + "module": "LibTmux.Value" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Value", + "product": "core", + "publicId": "LibTmux.Value#v:paneIndexValue", + "qualifiedName": "LibTmux.Value.paneIndexValue", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "paneIndexValue" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Value.html#t:PaneIndex", + "target": "LibTmux.Value#t:PaneIndex", + "text": "PaneIndex" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer", + "text": "Integer" + } + ], + "params": [], + "raw": "paneIndexValue :: PaneIndex -> Integer" + } + ], + "source": { + "file": "src/LibTmux/Value.hs", + "line": 85, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Version", + "doc": { + "summary": "A stable release, constructed by :obj:`parseVersion ` and rendered by\n :obj:`renderVersion `. Ordering compares numeric components before the patch letter." + }, + "id": "LibTmux.Version#t:TmuxVersion", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`TmuxVersion `", + "raw": "instance Eq TmuxVersion", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 32, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`TmuxVersion `", + "raw": "instance Ord TmuxVersion", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord", + "text": "Ord" + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 32, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`TmuxVersion `", + "raw": "instance Show TmuxVersion", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 32, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [ + "opaque" + ], + "name": "TmuxVersion", + "namespace": "LibTmux.Version", + "nativeLocation": { + "anchor": "t:TmuxVersion", + "module": "LibTmux.Version" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Version", + "product": "core", + "publicId": "LibTmux.Version#t:TmuxVersion", + "qualifiedName": "LibTmux.Version.TmuxVersion", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "TmuxVersion" + } + ], + "params": [], + "raw": "data TmuxVersion" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 31, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Version", + "doc": { + "summary": "Invalid release syntax or a release outside the supported range." + }, + "id": "LibTmux.Version#t:VersionError", + "instances": [ + { + "doc": null, + "markdown": "instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`VersionError `", + "raw": "instance Eq VersionError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq", + "text": "Eq" + }, + { + "href": "LibTmux-Version.html#t:VersionError", + "target": "LibTmux.Version#t:VersionError", + "text": "VersionError" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 38, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "doc": null, + "markdown": "instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`VersionError `", + "raw": "instance Show VersionError", + "references": [ + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show", + "text": "Show" + }, + { + "href": "LibTmux-Version.html#t:VersionError", + "target": "LibTmux.Version#t:VersionError", + "text": "VersionError" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 38, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ], + "kind": "typealias", + "modifiers": [], + "name": "VersionError", + "namespace": "LibTmux.Version", + "nativeLocation": { + "anchor": "t:VersionError", + "module": "LibTmux.Version" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Version", + "product": "core", + "publicId": "LibTmux.Version#t:VersionError", + "qualifiedName": "LibTmux.Version.VersionError", + "signatures": [ + { + "nativeSpans": [ + { + "keyword": true, + "text": "data" + }, + { + "text": " " + }, + { + "declaration": true, + "text": "VersionError" + } + ], + "params": [], + "raw": "data VersionError" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 35, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Version", + "doc": { + "summary": "Bounded copy of input that is not a stable release." + }, + "id": "LibTmux.Version#v:MalformedVersion", + "kind": "function", + "modifiers": [], + "name": "MalformedVersion", + "namespace": "LibTmux.Version", + "nativeLocation": { + "anchor": "v:MalformedVersion", + "module": "LibTmux.Version" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Version#t:VersionError", + "product": "core", + "publicId": "LibTmux.Version#v:MalformedVersion", + "qualifiedName": "LibTmux.Version.MalformedVersion", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "MalformedVersion" + }, + { + "text": " !" + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "MalformedVersion !Text" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 36, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Version", + "doc": { + "summary": "A stable release outside 3.3a through 3.8." + }, + "id": "LibTmux.Version#v:UnsupportedVersion", + "kind": "function", + "modifiers": [], + "name": "UnsupportedVersion", + "namespace": "LibTmux.Version", + "nativeLocation": { + "anchor": "v:UnsupportedVersion", + "module": "LibTmux.Version" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Version#t:VersionError", + "product": "core", + "publicId": "LibTmux.Version#v:UnsupportedVersion", + "qualifiedName": "LibTmux.Version.UnsupportedVersion", + "signatures": [ + { + "methodKind": "constructor", + "nativeSpans": [ + { + "declaration": true, + "text": "UnsupportedVersion" + }, + { + "text": " !" + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + } + ], + "params": [], + "raw": "UnsupportedVersion !TmuxVersion" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 37, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Version", + "doc": { + "summary": "Parse a stable release or the output of `tmux -V`, allowing one final LF.\n Development builds and trailing data are rejected rather than assigned\n capabilities from a guessed stable version. Diagnostics retain at most 64 chars." + }, + "id": "LibTmux.Version#v:parseVersion", + "kind": "function", + "modifiers": [], + "name": "parseVersion", + "namespace": "LibTmux.Version", + "nativeLocation": { + "anchor": "v:parseVersion", + "module": "LibTmux.Version" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Version", + "product": "core", + "publicId": "LibTmux.Version#v:parseVersion", + "qualifiedName": "LibTmux.Version.parseVersion", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "parseVersion" + }, + { + "text": " :: " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Version.html#t:VersionError", + "target": "LibTmux.Version#t:VersionError", + "text": "VersionError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + } + ], + "params": [], + "raw": "parseVersion :: Text -> Either VersionError TmuxVersion" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 44, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Version", + "doc": { + "summary": "Render the canonical release without the executable name or newline." + }, + "id": "LibTmux.Version#v:renderVersion", + "kind": "function", + "modifiers": [], + "name": "renderVersion", + "namespace": "LibTmux.Version", + "nativeLocation": { + "anchor": "v:renderVersion", + "module": "LibTmux.Version" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Version", + "product": "core", + "publicId": "LibTmux.Version#v:renderVersion", + "qualifiedName": "LibTmux.Version.renderVersion", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "renderVersion" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text", + "text": "Text" + } + ], + "params": [], + "raw": "renderVersion :: TmuxVersion -> Text" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 73, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + }, + { + "apiScope": "exported", + "definingModule": "LibTmux.Version", + "doc": { + "summary": "Admit every stable release from 3.3a through 3.8, including intermediate\n releases. Versions outside that range fail. Individual features need their own\n capability checks; passing this check does not qualify an entire release." + }, + "id": "LibTmux.Version#v:requireSupported", + "kind": "function", + "modifiers": [], + "name": "requireSupported", + "namespace": "LibTmux.Version", + "nativeLocation": { + "anchor": "v:requireSupported", + "module": "LibTmux.Version" + }, + "package": "libtmux-haskell", + "parent": "LibTmux.Version", + "product": "core", + "publicId": "LibTmux.Version#v:requireSupported", + "qualifiedName": "LibTmux.Version.requireSupported", + "signatures": [ + { + "nativeSpans": [ + { + "declaration": true, + "text": "requireSupported" + }, + { + "text": " :: " + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + }, + { + "text": " -> " + }, + { + "href": "https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either", + "text": "Either" + }, + { + "text": " " + }, + { + "href": "LibTmux-Version.html#t:VersionError", + "target": "LibTmux.Version#t:VersionError", + "text": "VersionError" + }, + { + "text": " " + }, + { + "href": "LibTmux-Version.html#t:TmuxVersion", + "target": "LibTmux.Version#t:TmuxVersion", + "text": "TmuxVersion" + } + ], + "params": [], + "raw": "requireSupported :: TmuxVersion -> Either VersionError TmuxVersion" + } + ], + "source": { + "file": "src/LibTmux/Version.hs", + "line": 80, + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" + } + } + ] +} diff --git a/packages/api-model/test/fixtures/haskell-query-native/installed.json b/packages/api-model/test/fixtures/haskell-query-native/installed.json new file mode 100644 index 000000000..eabc54aae --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-query-native/installed.json @@ -0,0 +1,10322 @@ +{ + "package_info": "libtmux-haskell-0.1.0.0", + "link_env": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$IdError": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$InvalidId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$input": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$expectedPrefix": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$PaneId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$WindowId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$SessionId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseSessionId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseWindowId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parsePaneId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderSessionId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderWindowId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderPaneId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$sessionIdValue": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$windowIdValue": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$paneIdValue": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fEqIdError": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fShowIdError": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fEqPaneId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fOrdPaneId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fShowPaneId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fNFDataPaneId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fEqWindowId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fOrdWindowId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fShowWindowId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fNFDataWindowId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fEqSessionId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fOrdSessionId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fShowSessionId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$$fNFDataSessionId": "LibTmux.Id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Status": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$retained": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$outcome": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$stage": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Outcome": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Succeeded": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Failed": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$NotDispatched": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OutcomeUnknown": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ConnectionRetired": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Stage": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Queued": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Dispatching": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Dispatched": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ResponseClosed": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OperationComplete": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Operation": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$TmuxText": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$ValueError": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$NonPositiveDimension": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$NegativeIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$PaneIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$WindowIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$Dimension": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkDimension": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkWindowIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkPaneIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$dimensionValue": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$windowIndexValue": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$paneIndexValue": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fEqValueError": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fShowValueError": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fEqPaneIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fOrdPaneIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fShowPaneIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fNFDataPaneIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fEqWindowIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fOrdWindowIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fShowWindowIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fNFDataWindowIndex": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fEqDimension": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fOrdDimension": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fShowDimension": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$$fNFDataDimension": "LibTmux.Value", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$VersionError": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$MalformedVersion": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$UnsupportedVersion": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$TmuxVersion": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$parseVersion": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$renderVersion": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$requireSupported": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$$fEqVersionError": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$$fShowVersionError": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$$fEqTmuxVersion": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$$fOrdTmuxVersion": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$$fShowTmuxVersion": "LibTmux.Version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$LookupError": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ForeignGeneration": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingSession": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingWindow": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingPane": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$CaptureInterval": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$finishedNanoseconds": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedNanoseconds": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Snapshot": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Client": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attachment": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$tty": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pid": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientAttachment": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pane": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$session": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ServerInfo": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$socketPath": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$version": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedAt": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$generation": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneOccurrence": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$link": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$active": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$index": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Pane": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentPath": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentCommand": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$title": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$dead": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$height": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$width": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Window": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Session": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attached": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneRef": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowRef": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$SessionRef": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Generation": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$serverInfo": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$clients": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$captureInterval": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$SnapshotOrigin": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$AcquiredFromTmux": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$DefinedOffline": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$snapshotOrigin": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$sessionId": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windowId": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$paneId": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$sessions": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windows": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$panes": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windowLinks": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$paneOccurrences": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupSession": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupWindow": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupPane": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$linksForSession": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$panesForWindow": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupSessionId": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupWindowId": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupPaneId": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelFromBytes": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelBytes": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelText": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$$fEqSnapshotOrigin": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$$fOrdSnapshotOrigin": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$$fShowSnapshotOrigin": "LibTmux.Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$FixtureError": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$InvalidGraph": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$InvalidSnapshot": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$AttachedClient": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$pane": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$index": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$window": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$session": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$tty": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$pid": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$name": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$Fixture": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$clients": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windowLinks": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$panes": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windows": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$sessions": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$info": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$FixtureOrigin": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$fixtureOrigin": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$fixtureGeneration": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$sessionRef": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windowRef": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$paneRef": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$emptyFixture": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$validateFixture": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$$fEqFixtureError": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$$fShowFixtureError": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$$fEqFixture": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$$fShowFixture": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$$fEqAttachedClient": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$$fShowAttachedClient": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$$fEqFixtureOrigin": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$$fOrdFixtureOrigin": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$$fShowFixtureOrigin": "LibTmux.Snapshot.Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$Field": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$QueryRequirements": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$rowLimit": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$orderingFields": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$relationshipNames": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$fieldNames": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$sourceName": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$QueryError": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$FieldUnavailable": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$RelationshipUnavailable": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$RequiresTmux": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$InvalidFieldRequirement": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$RelationshipLookupFailed": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$Query": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$Order": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$Expr": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ToOptional": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ToOne": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ToMany": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$CardinalityError": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$NoMatches": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$AtLeastTwoMatches": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$exactlyOne": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$atMostOne": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$eq": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$oneOf": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$contains": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ge": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$gt": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$le": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$lt": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$dimensionAtLeast": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$dimensionAtMost": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$paneIndexAtLeast": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$paneIndexAtMost": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$windowIndexAtLeast": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$windowIndexAtMost": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$allOf": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$anyOf": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$not_": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$some": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$every": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$none": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$related": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$optionalRelated": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$sessions": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$windows": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$panes": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$windowLinks": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$paneOccurrences": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$clients": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$serverInfo": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$matching": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$orderBy": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ascending": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$descending": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$limit": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$requirements": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadRecovery": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeFailure": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeOwned": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerFailure": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerOwned": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$logical": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupRecovery": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupStatus": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$failures": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$unresolved": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingReads": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingHandles": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$complete": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$TmuxException": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$ServerClosed": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$RuntimeClosed": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidConfiguration": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidObservation": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$OperationFailed": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupFailed": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupFailure": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupObservation": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$inspectCleanup": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$resumeCleanup": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$awaitCleanup": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CaptureRecovery": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$ServerConfig": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$captureTimeout": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$pinDirectory": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$executable": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$socketPath": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$Runtime": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$Server": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withRuntime": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServerIn": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$serverConfig": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServer": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$capture": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$serverGeneration": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$tryTmux": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$cleanupRecoveries": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$detachUnresolved": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$captureRecoveries": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$recoveryOperation": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$recoveryGeneration": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$inspectCaptureRecovery": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$resumeCaptureRecovery": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$detachCaptureRecovery": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$operationStatus": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$$fEqServerConfig": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$$fShowServerConfig": "LibTmux.Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query$runQuery": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query$fetch": "LibTmux.Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$id": "LibTmux.Query.Window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$name": "LibTmux.Query.Window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$width": "LibTmux.Query.Window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$height": "LibTmux.Query.Window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$panes": "LibTmux.Query.Window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$windowLinks": "LibTmux.Query.Window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Session$id": "LibTmux.Query.Session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Session$name": "LibTmux.Query.Session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Session$attached": "LibTmux.Query.Session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Session$windowLinks": "LibTmux.Query.Session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Session$clients": "LibTmux.Query.Session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ServerInfo$pid": "LibTmux.Query.ServerInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ServerInfo$startedAt": "LibTmux.Query.ServerInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ServerInfo$version": "LibTmux.Query.ServerInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ServerInfo$socketPath": "LibTmux.Query.ServerInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$id": "LibTmux.Query.Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$windowId": "LibTmux.Query.Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$index": "LibTmux.Query.Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$width": "LibTmux.Query.Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$height": "LibTmux.Query.Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$active": "LibTmux.Query.Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$dead": "LibTmux.Query.Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$title": "LibTmux.Query.Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$currentCommand": "LibTmux.Query.Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$currentPath": "LibTmux.Query.Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$window": "LibTmux.Query.Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Occurrence$pane": "LibTmux.Query.Occurrence", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Occurrence$link": "LibTmux.Query.Occurrence", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$sessionId": "LibTmux.Query.Link", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$windowId": "LibTmux.Query.Link", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$index": "LibTmux.Query.Link", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$active": "LibTmux.Query.Link", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$session": "LibTmux.Query.Link", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$window": "LibTmux.Query.Link", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$panes": "LibTmux.Query.Link", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$sessionId": "LibTmux.Query.ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$windowId": "LibTmux.Query.ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$windowIndex": "LibTmux.Query.ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$paneId": "LibTmux.Query.ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$session": "LibTmux.Query.ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$window": "LibTmux.Query.ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$pane": "LibTmux.Query.ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Client$name": "LibTmux.Query.Client", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Client$pid": "LibTmux.Query.Client", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Client$tty": "LibTmux.Query.Client", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Client$attachment": "LibTmux.Query.Client" + }, + "inst_ifaces": [ + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$IdError": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Invalid canonical syntax, entity prefix or native unsigned range.\n Diagnostics retain at most 64 characters of input." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$input": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Bounded copy of the invalid input." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$expectedPrefix": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Required entity prefix." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$PaneId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "A physical pane's identifier, written with a " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "%" + } + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " prefix.\n Parse with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parsePaneId" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "; render with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderPaneId" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$WindowId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "A physical window's identifier, independent of its session links.\n Parse with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseWindowId" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "; render with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderWindowId" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$SessionId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "A session's unsigned 32-bit tmux identifier, written with a " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "$" + } + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " prefix.\n Parse with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseSessionId" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "; render with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderSessionId" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseSessionId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Parse " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "$0" + } + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " through " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "$4294967295" + } + }, + "second": { + "tag": "DocString", + "string": ". No whitespace or leading zeroes." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseWindowId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Parse a canonical " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "@number" + } + }, + "second": { + "tag": "DocString", + "string": " identifying a physical window." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parsePaneId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Parse a canonical " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "%number" + } + }, + "second": { + "tag": "DocString", + "string": " identifying a physical pane." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderSessionId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Render the session prefix and decimal ID." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderWindowId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Render the physical window prefix and decimal ID." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderPaneId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Render the physical pane prefix and decimal ID." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$sessionIdValue": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Read the numeric session ID without narrowing conversion." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$windowIdValue": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Read the numeric physical window ID." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$paneIdValue": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Read the numeric physical pane ID." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$paneIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parsePaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseSessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseWindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderPaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderSessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderWindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$sessionIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$windowIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$IdError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$InvalidId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$expectedPrefix", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$input", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$PaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$SessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$WindowId" + ], + "visible_exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$SessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$WindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$PaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$IdError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$InvalidId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$expectedPrefix", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$input", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseSessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseWindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parsePaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderSessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderWindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderPaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$sessionIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$windowIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$paneIdValue" + ], + "options": [], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$LimitError": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Rejected admission. Exhaustion records resource, requested amount,\n current usage and limit. Failed reservations change no counters." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$Class": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Inspection can use protected capacity and borrow unused ordinary credits.\n The class describes admission, not a command's effects or completion." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$newBudget": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Start a context with eight clients, sixteen children and 128 MiB of\n pending payload reservations. Ordinary work leaves one child position and\n the supplied byte allowance for inspection. Oversized allowances throw\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$LimitError" + }, + "second": { + "tag": "DocString", + "string": "; zero protects only the child position." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$inspectionAllowance": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "The immutable byte allowance excluded from ordinary reservations." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$usage": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Observe all counters in one transaction; no external resources are read." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$closeAdmission": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Reject future reservations without releasing existing leases or waiting\n for cleanup. Owners must still call their corresponding release operation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$acquireClient": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Reserve one client until its pin cleanup succeeds. Release with\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$releaseClient" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "; closed/exhausted contexts throw " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$LimitError" + }, + "second": { + "tag": "DocString", + "string": " in STM." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$releaseClient": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Return a client credit once. Legal after " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$closeAdmission" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$acquireChild": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Reserve one child and its byte allowance atomically. Neither credit\n changes on failure. Retain until physical retirement; see " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$releaseChild" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$releaseChild": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Return the child and byte credits from " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$acquireChild" + }, + "second": { + "tag": "DocString", + "string": " once." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$acquireBytes": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Reserve retained payload capacity independently of a child. An internal\n consumer keeps this lease through decoding or charged ownership transfer.\n Release with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$releaseBytes" + }, + "second": { + "tag": "DocString", + "string": ". Zero bytes still require open admission." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$releaseBytes": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Return the byte credits from " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$acquireBytes" + }, + "second": { + "tag": "DocString", + "string": " once." + } + } + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$acquireBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$acquireChild", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$acquireClient", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$closeAdmission", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$inspectionAllowance", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$newBudget", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$releaseBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$releaseChild", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$releaseClient", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$usage", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$Budget", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$ByteLease", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$ChildLease", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$Class", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$Inspection", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$Ordinary", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$ClientLease", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$LimitError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$AdmissionClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$Exhausted", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$Resource", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$Children", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$Clients", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$OrdinaryChildren", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$OrdinaryPendingBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$PendingBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$Usage", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$Usage", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$accepting", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$children", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$clients", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Budget$pendingBytes" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Entropy", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "CApiFFI", + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Entropy$freshToken32": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Copy exactly 32 OS-generated bytes. Errno and short reads fail explicitly." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Entropy$freshToken32", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Entropy$EntropyError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Entropy$ShortEntropy" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$escapedFieldFormat": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Expand a catalogue variable once, doubling its literal backslashes.\n The argument is a trusted variable name, without " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "#{...}" + } + }, + "second": { + "tag": "DocString", + "string": " delimiters." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$recordMarker": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "A record boundary whose initial " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "g" + } + }, + "second": { + "tag": "DocString", + "string": " is absent from encoded field bytes." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$escapedRecordFieldFormat": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Look up a trusted variable once, protecting backslashes before escaping " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "g" + } + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ".\n Encoded values contain no literal " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "g" + } + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ", so cannot contain a " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$recordMarker" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$decodeEscapedRecordField": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Decode a record field after its exact tagged boundaries were consumed.\n An unescaped " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "g" + } + }, + "second": { + "tag": "DocString", + "string": " signals a producer/encoding mismatch, even without a nonce." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$decodeEscapedScalar": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Decode protected backslashes and tmux's octal, C-style and dollar escapes.\n Limits apply to decoded bytes; the process owner separately bounds stdout.\n Validate before allocation so an escaped payload needs only its output-sized\n buffer. The second traversal reads the same immutable validated bytes." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$decodeEscapedRecordField", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$decodeEscapedScalar", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$decodeScalar", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$escapedFieldFormat", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$escapedRecordFieldFormat", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$parseNonce", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$recordMarker", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$scalarFormat", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$FrameError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$AmbiguousScalarFrame", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$InvalidNonce", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$InvalidScalarEscape", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$InvalidScalarLimit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$NulInScalar", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$ReservedRecordByte", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$ScalarLimitExceeded", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$UnexpectedScalarFrame", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Frame$Nonce" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$validate": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Bound list traversal as well as encoded bytes before entering native code." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$copySpec": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Detach retained slices after validation and before publishing to a worker." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$launchWith": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Marshal and decode during the call. The owner supplies the surrounding mask\n that spans this return and its own child/descriptor journal." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$waitWith": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Consume at most one status. The owner masks and immediately caches it." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$cFeatures", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$cRead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$cSignal", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$cSpawn", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$cWait", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$cWrite", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$chunkBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$close", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$copySpec", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$errno", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$launch", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$launchWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$missingFeatures", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$raise", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$readChunk", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$signalChild", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$spec", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$validate", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$vectorLimitBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$waitChild", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$waitWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$writeBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Child", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Child", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$errors", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$input", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$output", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$pidfd", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Exit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Exited", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Signaled", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$StatusLost", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Failure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$InvalidInput", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$LaunchRefused", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Feature", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$AtomicPidfdSpawn", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$ChildDirectory", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$CloseUnrelatedDescriptors", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$LaunchCall", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Phase", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Execute", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$FileActions", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$HostFeatures", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$HostSignalPolicy", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Pipes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$SpawnAttributes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Spec", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Spec", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$args", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$cwd", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$env", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$file", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Start", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Owned", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$Refused", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process.Native$WaitCall" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Status": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Progress, published result and responsibility are independent observations.\n A retained uncertain operation still consumes admission and its lane permit." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$retained": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Whether the scope still retains logical responsibility." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$outcome": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "First published caller result, when available." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$stage": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Last proven progress." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Outcome": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "First caller result. Later evidence can retire responsibility without\n rewriting " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OutcomeUnknown" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " or " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ConnectionRetired" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Succeeded": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Validated successful response and completion proof." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Failed": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Validated command failure." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$NotDispatched": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Proof that the operation was never dispatched." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OutcomeUnknown": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Dispatch may have happened; completion remains uncertain." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ConnectionRetired": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "The connection retired while responsibility remained." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Stage": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Last observed progress. Publishing an uncertain " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Outcome" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " does not\n advance this stage or establish " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OperationComplete" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Operation": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Metadata-only operation identity, readable after responsibility retires.\n Its owning scope controls advancement and explicit detachment." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$AdmissionError": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Rejected admission or transition. " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$InvalidTransition" + }, + "second": { + "tag": "DocString", + "string": " records the\n required preceding stage followed by the actual stage. No state changes\n survive a rejected STM action." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Completion": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Operational completion evidence supplied by the Runtime after\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$markResponseClosed" + }, + "second": { + "tag": "DocString", + "string": ". This constructor does not obtain the evidence." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$markResponseClosed": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Record a closed response after " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$markDispatched" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ". This is distinct from\n operation completion: only " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$finish" + }, + "second": { + "tag": "DocString", + "string": " can record that stronger evidence." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Lane": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Internal classification. Unknown raw commands belong to " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Waiting" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ".\n Mutations serialize until proof or explicit " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$detachResponsibility" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$detachResponsibility": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Explicitly relinquish uncertain logical responsibility. Accept only\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OutcomeUnknown" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " or " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ConnectionRetired" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "; otherwise return " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$ghc-internal$GHC.Internal.Types$False" + }, + "second": { + "tag": "DocString", + "string": ". Keep\n the last stage/outcome, and close no native resource. Detaching a mutation\n permits the next mutation despite possible continuing external effects." + } + } + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Group": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Opaque metadata identifying one owner's operations. This retains no\n Runtime, endpoint, resource or scheduler. Groups share admission limits." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Scheduler": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "One bounded context. Detached " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Operation" + }, + "second": { + "tag": "DocString", + "string": " handles do not retain it." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$newGroup": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Allocate a fresh group without reserving admission or resources." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$newScheduler": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Create an independent context with 64 admission slots. Ordinary work\n may occupy 63; inspection can use the remaining capacity. Dispatch allows\n four waiting jobs, one mutation and four reads, reserving a read permit\n for inspection. These are selected bounds, not throughput measurements." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$admit": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Reserve logical responsibility before dispatch. Saturation or closure\n throws " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$AdmissionError" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " immediately. Retire queued work with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$cancelQueued" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ";\n active work requires evidence or explicit " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$detachResponsibility" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$cancelQueued": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Cancel only queued work, publishing " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$NotDispatched" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " and retiring its\n admission. Active or previously retired operations return " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$ghc-internal$GHC.Internal.Types$False" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$admitIn": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Reserve an operation in one group, under the scheduler's global limits.\n Group membership survives logical retirement for physical-owner selection.\n The token is forced before admission so metadata retains no caller thunk." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$status": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Read detached metadata without IO, including after " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$closeAdmission" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " or\n explicit " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$detachResponsibility" + }, + "second": { + "tag": "DocString", + "string": ". This does not inspect tmux." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$closeAdmission": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Close admission, settle queued work as " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$NotDispatched" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " and return all\n retained active handles for supervision. Wake blocked " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$claim" + }, + "second": { + "tag": "DocString", + "string": " transactions.\n Repeated close preserves active debt; it does not release native resources." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$outstanding": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Observe retained metadata in admission order, including uncertain work.\n The opaque handles remain bound to this context for explicit detach." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$outstandingIn": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Retained logical operations in one group, in admission order. Detached\n operations remain group members but no longer appear in this list." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$memberOf": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Match ownership metadata, including after completion or detachment.\n This does not establish logical or physical liveness." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$await": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Wait for the first published " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Outcome" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ". Cancelling this transaction\n changes neither admission nor responsibility; see " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$markUnknown" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$markUnknown": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Publish uncertainty for active work, retaining admission and its permit.\n Return " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$ghc-internal$GHC.Internal.Types$False" + }, + "second": { + "tag": "DocString", + "string": " if already published or retired. This does not cancel work." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$claim": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Claim the oldest eligible queued operation and its lane permit together.\n Saturated classes do not obstruct eligible inspection. Retry while open\n without eligible work; return " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$ghc-internal$GHC.Internal.Maybe$Nothing" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " only after " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$closeAdmission" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$markDispatched": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Record dispatch evidence after " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$claim" + }, + "second": { + "tag": "DocString", + "string": ". Repeating the same transition\n is harmless; a retired handle stays retired. This supplies no IO evidence." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$finish": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Record operation-specific completion after " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$markResponseClosed" + }, + "second": { + "tag": "DocString", + "string": " and\n release logical responsibility once. Preserve any earlier caller outcome.\n Physical children and buffers still need their independent cleanup." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$refuseBeforeBirth": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Retire a claimed operation only with proven pre-birth refusal. Preserve\n earlier uncertainty rather than rewriting its published outcome. This\n function requires " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Dispatching" + }, + "second": { + "tag": "DocString", + "string": "; it does not establish non-dispatch itself." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$connectionRetired": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Publish connection retirement for active work without releasing debt.\n A retired endpoint does not prove a server job stopped. Later " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$finish" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ",\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$refuseBeforeBirth" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " or explicit " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$detachResponsibility" + }, + "second": { + "tag": "DocString", + "string": " can retire it." + } + } + } + } + } + } + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$admit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$admitIn", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$await", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$cancelQueued", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$claim", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$closeAdmission", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$connectionRetired", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$detachResponsibility", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$finish", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$markDispatched", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$markResponseClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$markUnknown", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$memberOf", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$newGroup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$newScheduler", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$outstanding", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$outstandingIn", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$refuseBeforeBirth", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$status", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$AdmissionError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$AdmissionClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$AdmissionFull", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ForeignContext", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$InvalidTransition", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$KeyExhausted", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OrdinaryFull", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Completion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$CommandFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Success", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Group", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Lane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Inspection", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Mutation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ScalarRead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Waiting", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Operation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Outcome", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ConnectionRetired", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Failed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$NotDispatched", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OutcomeUnknown", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Succeeded", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Scheduler", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Stage", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Dispatched", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Dispatching", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OperationComplete", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Queued", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ResponseClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Status", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Status", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$outcome", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$retained", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$stage" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$TmuxText": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "A lossless reported label. Equality and ordering compare bytes.\n String literals use UTF-8; byte constructors also admit non-text data.\n Conversion functions are exposed in " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocModule", + "string": "LibTmux.Snapshot" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$fromBytes": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Copy reported bytes into an independently owned label without decoding." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$toBytes": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Return the exact reported bytes in a strict buffer." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$decodeUtf8": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Decode as UTF-8; invalid bytes return " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$text-2.1.3-075e$Data.Text.Encoding.Error$UnicodeException" + }, + "second": { + "tag": "DocString", + "string": " without replacement." + } + } + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$decodeUtf8", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$fromBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$toBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$TmuxText" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$ValueError": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A scalar outside its mathematical domain." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$NonPositiveDimension": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "The supplied dimension was zero or negative." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$NegativeIndex": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "The supplied contextual index was negative." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$PaneIndex": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Nonnegative pane index within a window, not a pane ID.\n Construct with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkPaneIndex" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "; read with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$paneIndexValue" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$WindowIndex": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Nonnegative index of a window link within a session, not a physical window ID.\n Construct with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkWindowIndex" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "; read with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$windowIndexValue" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$Dimension": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Positive cells, constructed with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkDimension" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ". Command and field limits\n are checked separately. Compare dimensions directly or use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$dimensionValue" + }, + "second": { + "tag": "DocString", + "string": "\n with an integer literal." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkDimension": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Construct a positive dimension without applying a command-specific maximum." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkWindowIndex": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Construct a nonnegative window-link index." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkPaneIndex": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Construct a nonnegative pane index." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$dimensionValue": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Read a dimension as a mathematical integer, without narrowing conversion." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$windowIndexValue": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Read a window-link index as a mathematical integer." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$paneIndexValue": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Read a pane index as a mathematical integer." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$dimensionValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkDimension", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkPaneIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkWindowIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$paneIndexValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$windowIndexValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$Dimension", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$PaneIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$ValueError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$NegativeIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$NonPositiveDimension", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$WindowIndex" + ], + "visible_exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$Dimension", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$WindowIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$PaneIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$ValueError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$NegativeIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$NonPositiveDimension", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkDimension", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkWindowIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkPaneIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$dimensionValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$windowIndexValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$paneIndexValue" + ], + "options": [], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$VersionError": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Invalid release syntax or a release outside the supported range." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$MalformedVersion": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Bounded copy of input that is not a stable release." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$UnsupportedVersion": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A stable release outside 3.3a through 3.8." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$TmuxVersion": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "A stable release, constructed by " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$parseVersion" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " and rendered by\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$renderVersion" + }, + "second": { + "tag": "DocString", + "string": ". Ordering compares numeric components before the patch letter." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$parseVersion": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Parse a stable release or the output of " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "tmux -V" + } + }, + "second": { + "tag": "DocString", + "string": ", allowing one final LF.\n Development builds and trailing data are rejected rather than assigned\n capabilities from a guessed stable version. Diagnostics retain at most 64 chars." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$renderVersion": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Render the canonical release without the executable name or newline." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$requireSupported": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Admit every stable release from 3.3a through 3.8, including intermediate\n releases. Versions outside that range fail. Individual features need their own\n capability checks; passing this check does not qualify an entire release." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$parseVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$renderVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$requireSupported", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$TmuxVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$VersionError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$MalformedVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$UnsupportedVersion" + ], + "visible_exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$TmuxVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$VersionError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$MalformedVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$UnsupportedVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$parseVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$renderVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$requireSupported" + ], + "options": [], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$LookupError": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A reference that cannot resolve in the supplied immutable snapshot.\n Missing entities are distinct from a successfully observed empty relation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ForeignGeneration": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "The reference belongs to another connection generation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingSession": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "No session with this identity was captured." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingWindow": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "No physical window with this identity was captured." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingPane": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "No physical pane with this identity was captured." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$CaptureInterval": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Monotonic process-clock bounds around acquisition. These values describe\n an interval and do not promise an atomic observation or a wall-clock epoch." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$finishedNanoseconds": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Monotonic time after decoding and forcing." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedNanoseconds": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Monotonic time sampled before acquisition." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Snapshot": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Validated metadata, physical graph and attached-client observations.\n Construction checks every join and forces owned values. List processing\n and indexed lookup remain pure after the operational Server closes." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Client": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A detached client observation, not an operational connection or live ref.\n The live profile lists attached clients; an offline value may be unattached." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attachment": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Attachment values resolved within this capture." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$tty": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Reported terminal path, when present." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pid": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Positive daemon process ID reported by tmux." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Session name as reported and decoded by tmux." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientAttachment": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "An attachment contains this capture's values. It never resolves a retained\n client name against a later capture. The pane is the session window's global\n active pane, not an independent client focus; its link retains session context." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pane": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Captured physical pane value." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Containing physical window, resolved against a snapshot." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$session": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Session containing this appearance." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ServerInfo": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Reported daemon metadata within one adopted generation. PID and start\n time are observations; they do not grant signal authority or durable identity." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$socketPath": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Reported endpoint path, preserved as POSIX bytes." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$version": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Stable release admitted by " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocModule", + "string": "LibTmux.Version" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedAt": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Daemon start time in whole seconds since the Unix epoch." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$generation": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Connection identity shared by all references in this snapshot." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneOccurrence": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A physical pane together with one contextual window appearance." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$link": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Session and index context through which it appears." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "One observed session" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocEmphasis", + "document": { + "tag": "DocString", + "string": "index" + } + }, + "second": { + "tag": "DocString", + "string": "window binding. Indices are reusable positions;\n this value describes captured context. The same window may appear repeatedly." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$active": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "The window's active pane, rather than a separate client focus." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$index": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Nonnegative pane index within that window." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Pane": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Detached physical pane. Its window can appear in several session contexts;\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneOccurrence" + }, + "second": { + "tag": "DocString", + "string": " preserves an appearance without duplicating physical identity." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentPath": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Endpoint data, without local path interpretation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentCommand": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Reported process name; tmux may normalize it." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$title": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Valid UTF-8 pane title reported by tmux." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$dead": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Whether tmux reports the pane process as dead." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$height": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Positive terminal height in cells." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$width": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Positive terminal width in cells." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Target identity in the observation's generation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Window": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Detached physical window, independent of its session and index appearances." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Session": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Detached physical session. Navigate its appearances through " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attached": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Nonnegative reported count, independent of the captured client listing." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneRef": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Physical pane targeting identity within a " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Generation" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ". This carries\n identity, while the supplied " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Snapshot" + }, + "second": { + "tag": "DocString", + "string": " determines the observed values." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowRef": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Physical window targeting identity within a " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Generation" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ". A window can\n have several " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink" + }, + "second": { + "tag": "DocString", + "string": " appearances." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$SessionRef": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Session targeting identity within a " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Generation" + }, + "second": { + "tag": "DocString", + "string": ". Compare observations\n separately when their captured field values matter." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Generation": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Opaque connection or offline-fixture identity. Independent Server handles\n receive distinct tokens; named fixtures never equal an adopted endpoint." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$serverInfo": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Daemon metadata captured with this graph." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$clients": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Captured attached clients in reported-name and PID order. Names may repeat." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$captureInterval": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Acquisition bounds attached to a live capture. An unstamped decoded\n profile stays private; an offline fixture has no external capture interval." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$assembleSnapshot": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Resolve the attached listing against its captured graph. A detached Client\n keeps the resolved observations even after later selection or name reuse.\n Session attached counts and listing cardinality have different tmux rules;\n neither is reconstructed from the other." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$assembleEntityGraph", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$assembleSnapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$captureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$clients", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$entities", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$graphLinks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$graphOccurrences", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$graphPanes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$graphSessions", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$graphWindows", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$linksForSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$lookupPane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$lookupSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$lookupWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$panesForWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$serverInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$stampSnapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$CaptureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$CaptureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$finishedNanoseconds", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedNanoseconds", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Client", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Client", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$tty", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientInput", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientInput", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$tty", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$EndpointIdentity", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$EndpointIdentity", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$EntityGraph", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Generation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$FixtureGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Generation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$GraphError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ChangedClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ConflictingPane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ConflictingSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ConflictingWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$DuplicatePaneIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$DuplicateWindowSlot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$InvalidAttachedCount", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$InvalidCaptureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$InvalidClientMetadata", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$InvalidGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$InvalidPaneSelection", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$InvalidReference", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$InvalidServerInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$InvalidSessionSelection", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingClientLink", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$UnlinkedWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$LookupError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ForeignGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingPane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$active", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentCommand", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$dead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$height", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$title", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$width", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneOccurrence", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneOccurrence", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$link", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ServerInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ServerInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$generation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$socketPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedAt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attached", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$SessionRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$SessionRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$height", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$width", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$active", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowRef" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$SnapshotOrigin": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Where the validated values were obtained. A server capture does not\n establish current liveness. Offline namespaces carry no targeting authority." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$AcquiredFromTmux": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Acquired through an operational Server handle." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$DefinedOffline": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Constructed and validated in a named fixture namespace." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$snapshotOrigin": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Inspect provenance without contacting tmux. See\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocModule", + "string": "LibTmux.Snapshot.Fixture" + }, + "second": { + "tag": "DocString", + "string": " for validated offline construction." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$sessionId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Native session ID, without the reference's generation guarantee." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windowId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Native physical window ID. Window-link indices are separate values." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$paneId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Native pane ID. Comparing IDs alone does not compare Server identity." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$sessions": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Physical sessions in numeric ID order." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windows": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Physical windows in numeric ID order, independent of their links." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$panes": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Physical panes in numeric ID order. Use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$paneOccurrences" + }, + "second": { + "tag": "DocString", + "string": " for link context." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windowLinks": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Window appearances in session ID and window-index order." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$paneOccurrences": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Every pane appearance, ordered by link and then pane index." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupSession": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Resolve a session in this snapshot. Missing and foreign refs are errors." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupWindow": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Resolve the supplied generation's physical window in this snapshot." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupPane": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Resolve the supplied generation's physical pane in this snapshot." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$linksForSession": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A session's window links in window-index order, preserving repeated windows." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$panesForWindow": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A physical window's panes in pane-index order, then numeric ID order." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupSessionId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Select the session currently observed under an ID in this snapshot.\n This creates no continuity guarantee with a previously opened Server." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupWindowId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Select the physical window observed under an ID in this snapshot." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupPaneId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Select the pane observed under an ID in this snapshot." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelFromBytes": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Copy bytes into an owned label. This performs no encoding replacement." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelBytes": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Exact bytes reported by tmux, after transport decoding." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelText": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Decode a label as UTF-8, retaining byte access on failure." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$captureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$clients", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$serverInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelFromBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelText", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$linksForSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupPane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupPaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupSessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupWindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$paneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$paneOccurrences", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$panes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$panesForWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$sessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$sessions", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$snapshotOrigin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windowLinks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windows", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$CaptureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$CaptureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$finishedNanoseconds", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedNanoseconds", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Client", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Client", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$tty", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Generation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$LookupError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ForeignGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingPane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$active", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentCommand", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$dead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$height", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$title", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$width", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneOccurrence", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneOccurrence", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$link", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ServerInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ServerInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$generation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$socketPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedAt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attached", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$SessionRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$height", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$width", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$active", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$TmuxText", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$SnapshotOrigin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$AcquiredFromTmux", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$DefinedOffline" + ], + "visible_exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ServerInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ServerInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$generation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$socketPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedAt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$SnapshotOrigin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$AcquiredFromTmux", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$DefinedOffline", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$snapshotOrigin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$serverInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$captureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$CaptureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$CaptureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$finishedNanoseconds", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedNanoseconds", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attached", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$height", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$width", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$active", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentCommand", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$dead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$height", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$title", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$width", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$active", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneOccurrence", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneOccurrence", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$link", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Client", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Client", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$tty", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Generation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$SessionRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$sessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$paneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$sessions", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windows", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$panes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windowLinks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$paneOccurrences", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$clients", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$LookupError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ForeignGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingPane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupPane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$linksForSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$panesForWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupSessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupWindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupPaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$TmuxText", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelFromBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelText" + ], + "options": [], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$FixtureError": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A failed graph or complete-snapshot validation, with domain\n context from the validator. Failed input never becomes an empty snapshot." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$InvalidGraph": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Invalid references, multiplicity, attachment counts or selections." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$InvalidSnapshot": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Invalid metadata or attached-client context." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$AttachedClient": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "An attached client's native identity and context before graph validation.\n Validation resolves its values from the same snapshot; it never trusts a\n caller-supplied nested attachment record." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$pane": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "The selected physical pane, not an independent client focus." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$index": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Selected window-link index in the attachment session." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$window": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Selected physical window ID." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$session": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Attachment session ID." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$tty": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Nonempty terminal path when provided." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$pid": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Positive synthetic client PID in the native PID range." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$name": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Nonempty reported client-name bytes." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$Fixture": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Ordinary finite inputs. Validation applies the captured graph's laws;\n record construction or updates alone do not establish those laws." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$clients": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Complete attached-client listing for this fixture." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windowLinks": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Session" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocEmphasis", + "document": { + "tag": "DocString", + "string": "index" + } + }, + "second": { + "tag": "DocString", + "string": "window appearances, including active selections." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$panes": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Physical panes with their containing window references." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windows": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Physical windows, independent of contextual appearances." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$sessions": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Physical sessions, with references from this origin." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$info": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Synthetic metadata in the supplied offline generation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$FixtureOrigin": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A named offline namespace. Equal names deliberately compare equal, so\n tests can model successive observations. This cannot represent a Server." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$fixtureOrigin": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Select a pure fixture namespace. No endpoint lookup or random IO occurs." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$fixtureGeneration": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "The offline generation for " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$Fixture" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " metadata. Replacing it with a connection\n generation causes " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$validateFixture" + }, + "second": { + "tag": "DocString", + "string": " to reject the metadata." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$sessionRef": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Construct a session reference that belongs only to this offline origin." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windowRef": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Construct a physical window reference without granting live authority." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$paneRef": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Construct a pane reference without consulting or targeting a daemon." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$emptyFixture": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Empty complete inputs with explicit synthetic metadata: PID 1, epoch 0\n and path " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "fixture:offline" + } + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ". No process or socket exists by implication.\n The version and every edited field are checked by " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$validateFixture" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$validateFixture": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Validate and force owned values using the capture graph's invariants.\n Successful fixtures have no acquisition interval and carry offline\n provenance. Their references cannot equal references from a Server scope." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$emptyFixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$fixtureGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$fixtureOrigin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$paneRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$sessionRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$validateFixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windowRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$AttachedClient", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$AttachedClient", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$tty", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$clients", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$info", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$panes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$sessions", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windowLinks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windows", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$FixtureError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$InvalidGraph", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$InvalidSnapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$FixtureOrigin" + ], + "visible_exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$FixtureOrigin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$fixtureOrigin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$fixtureGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$sessionRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windowRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$paneRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$Fixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$clients", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$info", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$panes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$sessions", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windowLinks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$windows", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$AttachedClient", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$AttachedClient", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$tty", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$emptyFixture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$FixtureError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$InvalidGraph", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$InvalidSnapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot.Fixture$validateFixture" + ], + "options": [], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$newPinOwner": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Create a single-use ownership journal before filesystem acquisition." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$acquirePin": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Create an alias for the existing socket. The owner retains cleanup\n responsibility after failure or cancellation; retire it with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$closePin" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$closePin": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Remove owned names after identity checks. Failure retains the journal\n for retry; closing an already retired owner succeeds without filesystem IO." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$acquirePinWith": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Acquisition with deterministic failure and cancellation checkpoints." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$pinPath": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Private alias for process targeting. Use while its owner retains the pin." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$pinGeneration": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Endpoint identity and fresh adoption token, without contacting tmux." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$acquirePin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$acquirePinWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$closePin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$newPinOwner", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$pinGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$pinPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$PinCheckpoint", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$BeforeEntropy", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$BeforeLink", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$BeforePublish", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$DirectoryRegistered", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$LinkRegistered", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$PinError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$PinAlreadyUsed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$SocketPinCleanupFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$SocketPinUnavailable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$PinOwner", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$PinReason", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$AliasTooLong", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$EntropyUnavailable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$FileSystemFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$IdentityChanged", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$InvalidPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$SocketNotWritable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$SocketOwnerMismatch", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$UntrustedDirectory", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$WrongSocketType", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.SocketPin$SocketPin" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$newPoolSTM": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Reserve the client and construct its owner in the caller's registration\n transaction. Failed registration rolls back every credit and TVar." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$submit": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Return a result " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Ticket" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "; the " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Pool" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " retains physical ownership. Reserve\n shared child/byte credits before copying or forking; allocation failure rolls back both.\n Ordinary work leaves the pool's final position for inspection. A pool with\n capacity one therefore admits inspections only; Runtime pools use sixteen.\n Internal consumers precharge a separate parent envelope in\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocModule", + "string": "LibTmux.Internal.Budget" + }, + "second": { + "tag": "DocString", + "string": " for output retained after result publication." + } + } + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$submitRegistered": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Register the consumer's binding in the native reservation transaction.\n A rejected STM action rolls back every binding and credit before fork." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$submitInputRegistered": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$KeepInputOpen" + }, + "second": { + "tag": "DocString", + "string": " supplies no bytes and retains its writer until child exit.\n Early EOF can make a control client exit before its synchronous hooks finish." + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$preservingFinally": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Keep an action failure primary and retain a simultaneous cleanup failure.\n A cleanup failure on its own remains a thrown exception." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$reap": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "One masked consume/cache transition serves normal waiting and cleanup." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$cleanup": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Signal an owned, unreaped child before closing streams, then consume its status." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$requestClose": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Stop admission and report pending work without waiting for native calls." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$resumeCleanup": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Resume one already registered child cleanup without closing admission or\n executing its command again. Failed worker allocation keeps the job owned." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$abort", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$abortAll", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$activeCount", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$await", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$awaitCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$both", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$childBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$cleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$completion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$defaultHooks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$finish", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$finishPin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$first", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$forkIn", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$inputLimitBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$inputSize", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$inspectionBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$newPool", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$newPoolSTM", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$normalFork", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$preservingFinally", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$progress", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$readStream", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$reap", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$recover", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$report", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$requestClose", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$resumeCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$retainedBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$retire", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$retireAll", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$runJob", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$stop", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$streamLimitBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$submit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$submitInputRegistered", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$submitRegistered", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$worker", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$CloseReport", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$CleanupComplete", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$CleanupIncomplete", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$PinCleanupFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$PoolOpen", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Completion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Completion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$errors", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$exit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$launchFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$output", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$signalFailureCount", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$signalFailures", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Fork", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Hooks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Hooks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$afterReap", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$afterStart", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$beforeSecondStream", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$launchNative", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$signalChild", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$waitNative", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Input", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$BytesInput", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$KeepInputOpen", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$LaunchEvidence", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$LaunchRefused", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$NativeStarted", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$OwnerError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Aborted", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$PoolClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$ResourceLimit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Pool", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Pool", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$budget", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$capacity", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$clientLease", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$closing", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$forker", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$jobs", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$nextKey", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$pinBusy", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$pinOwner", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$pinResult", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Progress", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Progress", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$errorBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$outputBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Ticket", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$Ticket", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$busy", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$cancelled", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$child", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$cleanupFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$counts", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$descriptors", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$exitCache", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$failure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$hooks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$key", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$launchEvidence", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$lease", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$result", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$signalErrorCount", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$signalErrors", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Process$signalLock" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$Field": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Fields belong to physical rows or contextual links, never both implicitly." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$FieldError": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A bounded diagnostic identifies the field without retaining its input." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$WireType": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Checked wire domains. POSIX path and string share a representation but\n retain different descriptors; neither promises local filesystem semantics." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$SomeField": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "The finite native catalogue, without erasing each descriptor's evidence." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$fieldKey": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Stable model-qualified key; independent of the Haskell constructor name." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$formatVariable": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Trusted tmux variable name, without format delimiters or caller input." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$wireType": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Type evidence for scalar decoding and typed query interpretation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$minimumTmux": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Minimum qualified profile, not the release that introduced each variable.\n Every field in this finite profile is available at the tmux 3.3a floor." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$project": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Read an owned observation. This never navigates a graph or contacts tmux." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$decodeField": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Validate decoded scalar bytes, retaining exact byte-bearing values.\n One MiB is the scalar payload ceiling. Numeric ranges follow tmux\n storage domains; the public mathematical newtypes have separate constructors." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$catalogue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$decodeField", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$fieldKey", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$formatVariable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$minimumTmux", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$project", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$wireType", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$Field", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ClientName", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ClientPane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ClientPid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ClientSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ClientTty", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ClientWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ClientWindowIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$LinkActive", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$LinkIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$LinkSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$LinkWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PaneActive", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PaneCommand", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PaneDead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PaneHeight", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PaneIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PanePath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PaneTitle", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PaneWidth", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PaneWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ServerPid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ServerSocketPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ServerStartedAt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ServerVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$SessionAttached", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$SessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$SessionName", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$WindowHeight", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$WindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$WindowName", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$WindowWidth", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$FieldError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$FieldError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$FieldFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$InvalidEncoding", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$InvalidSyntax", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$UnexpectedNul", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ValueTooLarge", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$SomeField", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$SomeField", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$WireType", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$AttachedCountValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$BooleanValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$DimensionValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$EpochSecondsValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$LabelValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$NonEmptyPosixPathValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$NonEmptyPosixStringValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$OptionalPosixPathValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PaneIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PaneIndexValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PosixPathValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$PosixStringValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$ProcessIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$SessionIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$TextValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$VersionValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$WindowIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$WindowIndexValue" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Topology", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": {}, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Topology$decodeTopology", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Topology$topologyFormat", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Topology$TopologyError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Topology$MalformedTopology", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Topology$TopologyByteLimit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Topology$TopologyEntityLimit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Topology$TopologyGraphError" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$graphFormat": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Generate S" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocEmphasis", + "document": { + "tag": "DocString", + "string": "W" + } + }, + "second": { + "tag": "DocString", + "string": "P loops present in tmux 3.3. Physical rows repeat through\n linked windows; the decoder admits them only when every value agrees." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$snapshotCommands": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "One command queue with explicit metadata, entity and attached-client sections.\n Fixed templates are parsed before any reported values expand inside them." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$decodeSnapshot": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Require metadata and an explicitly acquired attached-client section.\n The command queue can run hooks between sections; every attachment must\n still join the physical graph. No atomicity or client-focus claim is made." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$decodeGraph": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Decode the entire response, including its command-added LF. Unknown tags,\n wrong field order, extra output and inconsistent context are errors." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$decodeGraph", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$decodeSnapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$graphFormat", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$snapshotCommands", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$RecordError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$InvalidRecordContext", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$InvalidRecordField", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$InvalidRecordGraph", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$InvalidRecordScalar", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$MalformedRecord", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$RecordEntityLimit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Record$RecordWireLimit" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$QueryRequirements": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Inspectable dependencies, not a serialized query or an optimization plan." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$rowLimit": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Final limit, or " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$ghc-internal$GHC.Internal.Maybe$Nothing" + }, + "second": { + "tag": "DocString", + "string": " for no limit." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$orderingFields": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Ordering field keys in their specified priority order." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$relationshipNames": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Sorted, deduplicated relationships at every nesting depth." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$fieldNames": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Sorted, deduplicated fields, including ordering keys." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$sourceName": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Stable name of the ordered root source." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$QueryError": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Pure validation or navigation failure. Operational acquisition failures\n remain exceptions at the Server boundary rather than becoming empty results." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$FieldUnavailable": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Stable field key unavailable to the evaluator." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$RelationshipUnavailable": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Stable relationship key unavailable to the evaluator." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$RequiresTmux": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Field, required release and observed release." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$InvalidFieldRequirement": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A catalogue entry has invalid version metadata." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$RelationshipLookupFailed": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Relationship key and the failed pure lookup." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$Query": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "A source, predicate, stable ordering and optional final limit. Building a\n query performs no IO and retains no Server handle. Use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocModule", + "string": "LibTmux.Query" + }, + "second": { + "tag": "DocString", + "string": " to evaluate." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$Order": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "One ascending or descending field ordering. Combine keys with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$orderBy" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$Expr": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A pure predicate description for one row type. Field and relationship\n tokens retain their identity; arbitrary application functions stay outside\n this portable representation. Nominal roles prevent cross-row coercion." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ToOptional": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "An observed optional relationship, used with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$optionalRelated" + }, + "second": { + "tag": "DocString", + "string": ".\n Known absence is separate from an unavailable relationship." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ToOne": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "A required relationship in a validated graph, used with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$related" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ToMany": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "A closed one-to-many relationship. Obtain tokens from the entity field\n modules and use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$some" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ", " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$every" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " or " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$none" + }, + "second": { + "tag": "DocString", + "string": ". Constructors are private." + } + } + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$CardinalityError": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Selection cardinality without retaining observations or counting ambiguity." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$NoMatches": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "The selection is empty where one value was required." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$AtLeastTwoMatches": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A second match exists; no complete count is computed." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$exactlyOne": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Require exactly one value. Uniqueness can require traversing the entire\n input; ambiguity is established at the second match without forcing its tail.\n This neither acquires data nor reserves a live command target." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$atMostOne": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Permit absence but reject a second match, with the same traversal behavior\n as " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$exactlyOne" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ". Use ordinary " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "listToMaybe" + } + }, + "second": { + "tag": "DocString", + "string": " when choosing the first is intended." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$eq": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Exact equality in the field's declared type. No Unicode normalization,\n case folding or byte-to-text conversion is implicit." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$oneOf": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Membership using exact equality against a finite operand list. An empty\n list never matches, but its field requirement is still validated." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$contains": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Exact, case-sensitive Text substring matching. Byte-bearing fields are\n deliberately excluded; use typed equality for their retained values." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ge": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Compare a mathematical Integer field with an unbounded threshold:\n greater-or-equal, greater, less-or-equal or less, respectively." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$gt": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Compare a mathematical Integer field with an unbounded threshold:\n greater-or-equal, greater, less-or-equal or less, respectively." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$le": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Compare a mathematical Integer field with an unbounded threshold:\n greater-or-equal, greater, less-or-equal or less, respectively." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$lt": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Compare a mathematical Integer field with an unbounded threshold:\n greater-or-equal, greater, less-or-equal or less, respectively." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$dimensionAtLeast": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Compare a positive cell dimension to an Integer threshold, inclusively.\n Negative and arbitrarily large thresholds are valid predicates; they do not\n construct a command dimension. Use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$not_" + }, + "second": { + "tag": "DocString", + "string": " for a strict opposite bound." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$dimensionAtMost": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Compare a positive cell dimension to an Integer threshold, inclusively.\n Negative and arbitrarily large thresholds are valid predicates; they do not\n construct a command dimension. Use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$not_" + }, + "second": { + "tag": "DocString", + "string": " for a strict opposite bound." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$paneIndexAtLeast": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Inclusive bounds on a pane index, without narrowing or constructing an index." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$paneIndexAtMost": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Inclusive bounds on a pane index, without narrowing or constructing an index." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$windowIndexAtLeast": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Inclusive bounds on a contextual window index, using Integer thresholds." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$windowIndexAtMost": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Inclusive bounds on a contextual window index, using Integer thresholds." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$allOf": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Finite conjunction and disjunction. Empty lists mean True and False,\n respectively. Validation checks every branch before evaluation short-circuits." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$anyOf": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Finite conjunction and disjunction. Empty lists mean True and False,\n respectively. Validation checks every branch before evaluation short-circuits." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$not_": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Logical negation, preserving the expression's validation requirements." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$some": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Existential, universal or absent matching children. A known empty\n relationship yields False, True or True, respectively. The child expression\n applies to one child at a time; put conditions inside one " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$allOf" + }, + "second": { + "tag": "DocString", + "string": " when the\n same child must satisfy them. Unavailable relationships remain errors." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$every": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Existential, universal or absent matching children. A known empty\n relationship yields False, True or True, respectively. The child expression\n applies to one child at a time; put conditions inside one " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$allOf" + }, + "second": { + "tag": "DocString", + "string": " when the\n same child must satisfy them. Unavailable relationships remain errors." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$none": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Existential, universal or absent matching children. A known empty\n relationship yields False, True or True, respectively. The child expression\n applies to one child at a time; put conditions inside one " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$allOf" + }, + "second": { + "tag": "DocString", + "string": " when the\n same child must satisfy them. Unavailable relationships remain errors." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$related": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Test the required related observation in the supplied snapshot.\n A failed lookup returns " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$RelationshipLookupFailed" + }, + "second": { + "tag": "DocString", + "string": ", never False or absence." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$optionalRelated": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Test a known optional target. Absence yields False, so negation includes\n absence as well as targets that fail the child predicate." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$sessions": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Physical sessions in numeric ID order." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$windows": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Unique physical windows in numeric ID order, independent of their links." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$panes": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Unique physical panes in numeric ID order; use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$paneOccurrences" + }, + "second": { + "tag": "DocString", + "string": " for context." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$windowLinks": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Contextual links in session-ID then window-index order, retaining multiplicity." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$paneOccurrences": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Pane appearances in link order, then pane-index order within each window." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$clients": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Captured clients in bytewise name order, then PID." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$serverInfo": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "The single captured daemon-metadata observation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$matching": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Conjoin a predicate with existing predicates without changing the source." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$orderBy": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Replace the ordering keys. Sorting is stable and follows filtering;\n an empty key list retains source order. Limits are always applied afterward." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ascending": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Order by the declared field's Ord instance in ascending or descending order.\n Text and byte-bearing types retain their own comparison semantics." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$descending": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Order by the declared field's Ord instance in ascending or descending order.\n Text and byte-bearing types retain their own comparison semantics." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$limit": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Replace the final nonnegative limit, applied after filtering and ordering\n regardless of builder order. A zero limit still validates every requirement." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$requirements": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Collect every declared field and relationship, including ordering and\n branches that may short-circuit. This is pure and does not contact tmux." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$runQuery": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Validate and evaluate against the supplied complete snapshot. Every\n requirement is checked before reading rows, even for empty sources and\n zero limits. Returning Right means consuming the result performs only pure\n processing of owned observations. No acquisition, pushdown or refresh occurs." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$allOf", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$anyOf", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ascending", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$atMostOne", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$clients", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$contains", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$descending", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$dimensionAtLeast", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$dimensionAtMost", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$eq", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$evaluateExpr", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$every", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$exactlyOne", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ge", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$gt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$le", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$limit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$lt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$matching", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$nativeProfile", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$none", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$not_", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$oneOf", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$optionalRelated", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$orderBy", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$paneIndexAtLeast", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$paneIndexAtMost", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$paneOccurrences", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$panes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$prepare", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$related", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$requirements", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$runQuery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$runQueryWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$serverInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$sessions", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$some", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$windowIndexAtLeast", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$windowIndexAtMost", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$windowLinks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$windows", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$CardinalityError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$AtLeastTwoMatches", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$NoMatches", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$EvaluatorProfile", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$EvaluatorProfile", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$availableFields", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$availableRelationships", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$evaluatorVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$Expr", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$Order", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$QueryError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$FieldUnavailable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$InvalidFieldRequirement", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$RelationshipLookupFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$RelationshipUnavailable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$RequiresTmux", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$QueryRequirements", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$QueryRequirements", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$fieldNames", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$orderingFields", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$relationshipNames", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$rowLimit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$sourceName", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ToMany", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$LinkPanes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$SessionClients", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$SessionLinks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$WindowLinks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$WindowPanes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ToOne", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$AttachmentPane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$AttachmentSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$AttachmentWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$LinkSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$LinkWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$OccurrenceLink", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$OccurrencePane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$PaneWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ToOptional", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ClientAttachment" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command$MutationReply": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Native queue evidence. An applied command may still have failing hooks;\n none of these constructors promises rollback or a refreshed observation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command$ArgumentError": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Refusal before a command tail exists, carrying its catalogue field key." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command$Mutation": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Literal requests with canonical entity targets. Native name validation\n and normalization remain command outcomes rather than lowering policy." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command$decodeControlReply": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Interpret fully drained streams and normal exit status for one " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command$Mutation" + }, + "second": { + "tag": "DocString", + "string": ".\n This is not a general control-mode decoder or evidence for waiting commands." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command$compileMutation": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Compile one command without IO. The 64KiB bound includes every tail argv\n terminator; the native owner separately checks the full executable/socket\n invocation before admission. A tail neither validates generation nor reserves\n a target, and native completion requires its own operation-specific evidence." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command$compileMutation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command$decodeControlReply", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command$ArgumentError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command$EncodedCommandTooLarge", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command$NulOperand", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command$Mutation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command$RenameSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command$RenameWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command$SetPaneTitle", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command$MutationReply", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command$Applied", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command$AppliedWithErrors", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command$Rejected", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command$ReplyError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command$ReplyTooLarge", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Command$UnexpectedReply" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadRecovery": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Logical responsibility and an operation's physical owners, observed together.\n A released native child does not establish a daemon-side command outcome." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeFailure": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Retained native cleanup failure." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeOwned": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A native child or its cleanup remains owned." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerFailure": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Retained decoder or recovery failure." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerOwned": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A decoder or recovery worker still owns this operation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$logical": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Logical progress, original result and retained responsibility." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$EntityField": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Closed scalar acquisition targets; callers cannot supply format fragments." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$VersionRead": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "A stable release identity, observed by " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readServerVersion" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readServerVersion": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Observe a stable release identity through the pinned server. Use\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifierUnchecked", + "modName": "Version" + }, + "second": { + "tag": "DocString", + "string": " separately for supported-range admission;\n this observation establishes no feature capabilities." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$PidRead": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "A checked positive server PID, observed by " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readServerPid" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readServerPid": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Acquire a fresh, nonce-framed PID using a one-second deadline." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadReceipt": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Correlation metadata only: no Runtime, pool, ticket or result payload.\n The native key remains useful after its decoder owner has retired." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$Request": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "A typed operation handle with no reference to its " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$Runtime" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ", " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ServerHandle" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ",\n native ticket or input buffers. " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$awaitRead" + }, + "second": { + "tag": "DocString", + "string": " also works after cleanup." + } + } + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$awaitRead": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Wait only for this operation's first result. Caller cancellation changes no\n ownership. Use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$cancelRead" + }, + "second": { + "tag": "DocString", + "string": " to request cancellation of the owned operation." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadClass": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Inspection can use protected read, child and parent-byte capacity." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$Report": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Physical cleanup, operation workers and logical uncertainty are separate.\n An empty " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$pending" + }, + "second": { + "tag": "DocString", + "string": " list alone does not establish complete Runtime cleanup." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$adopt": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Adopt one endpoint through a private socket pin. Reserve a client credit\n before filesystem acquisition. Cancellation preserves its original exception\n while the Runtime retains cleanup; use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$requestClose" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " and " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$awaitCleanup" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$requestClose": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Close admission and request cleanup for every registered owner. Ordinary\n request failures remain in " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$closeFailures" + }, + "second": { + "tag": "DocString", + "string": "; caller cancellation propagates.\n This starts no shutdown timer and does not terminate the tmux daemon." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$awaitCleanup": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Close admission and wait for every retained pool. A cleanup failure throws\n without deleting its owner; repair the obstacle and retry. This wait has no\n hard deadline. It joins operation workers but does not await uncertain logical\n outcomes; inspect " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$unresolved" + }, + "second": { + "tag": "DocString", + "string": " afterward rather than inferring job completion." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$adoptWith": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Adoption with the socket pin's existing deterministic checkpoints." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$newServerOwner": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Reserve and register one provisional owner before acquiring filesystem\n resources. A caller installing its own scope policy must mask the handoff." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$adoptServerOwnerWith": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Acquire a complete handle for an already registered owner. Its caller\n retains responsibility for cleanup when acquisition fails or is cancelled.\n Foreign or closed ownership refuses before filesystem acquisition; admission\n is checked again before publishing the handle." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$inspect": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Observe bounded cleanup debt, removing only entries whose pool reports\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifierUnchecked", + "modName": "P" + }, + "second": { + "tag": "DocString", + "string": ". Open and provisional clients count as pending ownership." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$inspectServerHandle": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Observe only this handle's physical owners and logical group. Membership\n survives either kind of retirement; a foreign handle changes no state." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$closeServerAdmission": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Close one handle and settle its queued operations in the same STM cut.\n Other groups keep their admission, lane permits and first outcomes." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$shutdownServerHandle": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Bound one handle's physical cleanup under the Runtime's shared limits.\n Concurrent callers join its owned attempt; cancelling a waiter leaves it\n running. Logical uncertainty remains in the scoped and global reports." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$awaitServerOwnerCleanup": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Join only the selected owner's physical cleanup. Logical uncertainty is\n still explicit; cancellation leaves the registered owner available." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$detachServerOwnerOperation": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Relinquish only this owner's logical debt, including after pool cleanup.\n Runtime and immutable group checks precede any operation-state change." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$shutdown": { + "meta": { + "version": null + }, + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Close admission, allow 250 ms for graceful cleanup, request cancellation\n of remaining command clients, then allow 250 ms for reaping. Each phase\n finishes early when cleanup completes. Timeout retains owners and credits;\n it neither proves a daemon-side outcome nor terminates the tmux daemon." + } + }, + "second": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Concurrent callers join one Runtime-owned attempt. Cancelling a caller\n leaves that attempt running. A later call can retry a finished attempt\n with pending cleanup. Supervisor allocation failure throws without losing\n its registered owners. Cleanup-request failures remain in " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$closeFailures" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$inspectReceipt": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Inspect only the originating operation, even after its decoder retires.\n Another handle to the same endpoint cannot inspect or detach this receipt." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$resumeReceipt": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Retry existing cleanup and decoder ownership without redispatching tmux.\n This leaves admission open. Allocation failure retains the original owners." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$cancelReceipt": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Request cancellation of the correlated operation, retaining unresolved debt." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$detachReceipt": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Relinquish only this receipt's logical responsibility. Native cleanup and\n decoder ownership remain registered until their own completion." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$cancelRead": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Publish cancellation intent without claiming the external command stopped.\n Cancelling an ordinary " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$awaitRead" + }, + "second": { + "tag": "DocString", + "string": " waiter does not invoke this operation." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readServerPidWith": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Use existing process checkpoints and a checked 1..10000000 microsecond\n deadline. The same expiration governs queueing, submission and validation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$mutateWith": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Admit a literal mutation in the serialized ordinary lane. Known failures\n preserve their reply; uncertainty retains the correlated operation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readServerVersionWith": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "The same owned deadline and checkpoints as " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readServerPidWith" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readGraphWith": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Read the physical/link profile in one tagged format expansion. Its\n registered owner retains the capture reservation through decoding and\n forcing, including after caller cancellation. This does not acquire clients." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readSnapshotWith": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Acquire the finite metadata, physical and attached-client profile in one\n owned command queue. It retains ordinary graph credit through publication." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$withCaptureBudget": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Retain the complete capture envelope while fields and graphs accumulate.\n Native requests keep their independent child/parent reservations." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$detachOperation": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Relinquish uncertain logical responsibility. This releases no parent,\n child or pin ownership and also accepts handles returned in " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$unresolved" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$adopt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$adoptServerOwnerWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$adoptWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$awaitCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$awaitRead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$awaitServerOwnerCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$cancelRead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$cancelReceipt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$closeServerHandle", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$detachOperation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$detachReceipt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$detachServerOwnerOperation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$inspect", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$inspectReceipt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$inspectServerHandle", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$inspectServerOwner", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$mutateWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$newRuntime", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$newServerOwner", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readEntityFieldWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readGraphWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readOperation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readReceipt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readServerPid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readServerPidWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readServerVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readServerVersionWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readSnapshotWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readStatus", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readTopologyWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$receiptGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$receiptOperation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$requestClose", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$resumeReceipt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$serverPin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$serverPool", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$shutdown", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$shutdownServerHandle", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$shutdownServerOwner", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$usage", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$withCaptureBudget", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$EntityField", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$PaneCommand", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$PanePath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$PaneTitle", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$SessionName", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$WindowName", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$PidRead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadClass", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$InspectionRead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ScalarRead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ForeignServer", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$InvalidCommandOperands", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$InvalidCommandReply", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$InvalidEntityReceipt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$InvalidReadDeadline", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$InvalidReadFrame", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$InvalidRecordFrame", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$InvalidServerPid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$InvalidServerVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$InvalidVersionEncoding", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadCancelled", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadClockOverflow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadClosing", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadExit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadExpired", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadStderr", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadReceipt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$logical", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeOwned", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerOwned", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadResult", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadUnavailable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$Report", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$Report", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$accepting", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$closeFailures", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$pending", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$readWorkers", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$unresolved", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$Request", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$Runtime", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ServerHandle", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ServerOwner", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$VersionRead" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupRecovery": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Reachable responsibility after an incomplete or failed scope release.\n Retaining this value keeps its selected cleanup target and Runtime reachable." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupStatus": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Local observations of the selected physical and logical responsibility.\n Each inspection returns new metadata; it performs no tmux operation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$failures": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Currently observed pin, worker or cleanup-request failures." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$unresolved": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Retained logical operations with their observed status." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingReads": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Decoder or recovery workers retaining operation envelopes." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingHandles": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Server handles still awaiting physical retirement." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$complete": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "All physical owners, operation workers and logical responsibility have retired." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$TmuxException": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Library operational failures. Context-preserving catching retains any\n cleanup owners; the original application or cancellation exception keeps\n its class when the callback itself failed." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$ServerClosed": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Admission through the retained Server handle has closed." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$RuntimeClosed": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Admission through the retained Runtime has closed." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidConfiguration": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Configuration failed before acquisition." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidObservation": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Acquired metadata failed final validation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$OperationFailed": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Known backend failure with its original cause." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupFailed": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Cleanup remained incomplete or its worker could not start." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupFailure": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Exception that interrupted the original cleanup attempt, when there was\n one. Pending ownership alone need not have an associated exception." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupObservation": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "The cleanup metadata recorded when this recovery owner was attached." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$inspectCleanup": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Inspect current owned cleanup and logical uncertainty without tmux IO." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$resumeCleanup": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Retry bounded owned cleanup. An incomplete result retains this owner;\n the operation does not retry a tmux command or release logical uncertainty." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$awaitCleanup": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Wait for this target's physical cleanup, then inspect its logical debt.\n The wait has no deadline.\n Cancellation or failure preserves an annotated cleanup owner. Use\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$resumeCleanup" + }, + "second": { + "tag": "DocString", + "string": " when the caller requires a bounded attempt." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$runServerScope": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Protect one registered owner, including its pin acquisition. Keep the\n registration handoff masked and restore the action with the outer restore." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$awaitCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupObservation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupRecoveries", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$detachUnresolved", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$inspectCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$resumeCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$runScope", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$runServerScope", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupStatus", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupStatus", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$complete", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$failures", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingHandles", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingReads", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$unresolved", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$TmuxException", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidConfiguration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidObservation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$OperationFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$RuntimeClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$ServerClosed" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CaptureRecovery": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "A reachable owner for one failed or cancelled capture. The receipt holds\n metadata only; the Runtime retains any remaining native and logical owners." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$resumeRecovery": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Resume only existing cleanup, leaving Runtime admission open. Never retry\n the tmux read; a new capture is a separately requested observation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$detachRecovery": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Explicitly release logical uncertainty without releasing native owners." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$captureSnapshotWith": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Use the native process checkpoints while retaining capture correlation\n across worker handoff, cancellation and conversion of a deadline failure." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$captureGraphWith": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Serial comparison path with a checkpoint before its final topology read.\n The production capture path uses one tagged envelope instead." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$captureGraph", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$captureGraphWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$captureRecoveries", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$captureSnapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$captureSnapshotWith", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$detachRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$inspectRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$recoveryReceipt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$resumeRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CaptureError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CaptureByteLimit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CaptureChanged", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CaptureDeadline", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CaptureReadUnavailable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$InvalidCaptureDeadline", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$InvalidCapturedField", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CapturedGraph", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CapturedSnapshot" + ], + "visible_exports": [], + "options": [ + "OptHide" + ], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$ServerConfig": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Pure configuration, checked when " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServer" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " or " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServerIn" + }, + "second": { + "tag": "DocString", + "string": " opens the handle.\n Paths retain POSIX bytes; no text decoding or shell interpretation occurs." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$captureTimeout": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Capture deadline in seconds, greater than zero and at most ten." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$pinDirectory": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Writable trusted directory on the socket's filesystem." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$executable": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Executable path or a program resolved once through PATH." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$socketPath": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Existing tmux socket, with an absolute trusted path." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$Runtime": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Shared resource limits and cleanup ownership for Server handles. Create\n one with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withRuntime" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ", then adopt endpoints through " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServerIn" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ".\n Detached " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Snapshot" + }, + "second": { + "tag": "DocString", + "string": " values retain no Runtime." + } + } + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$Server": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "One pinned endpoint and connection generation.\n Retaining this value after " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServer" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " or " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServerIn" + }, + "second": { + "tag": "DocString", + "string": " keeps no admission open." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withRuntime": { + "meta": { + "version": null + }, + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Own a Runtime for the callback and perform bounded cleanup afterward.\n Closing it retires every adopted handle; application-owned threads remain\n the application's responsibility. Late adoption fails with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$RuntimeClosed" + }, + "second": { + "tag": "DocString", + "string": ".\n The daemon remains running." + } + } + } + }, + "second": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Callback failures and cancellation keep their original exception class.\n Incomplete cleanup retains a " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupRecovery" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " in the exception context;\n use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$tryTmux" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " and " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$cleanupRecoveries" + }, + "second": { + "tag": "DocString", + "string": " to keep that responsibility reachable." + } + } + } + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServerIn": { + "meta": { + "version": null + }, + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Adopt one endpoint within an existing Runtime and close only that handle\n after the callback. Other handles remain admitted under the shared limits;\n each adoption has its own " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$serverGeneration" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ". Use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServer" + }, + "second": { + "tag": "DocString", + "string": " for one handle." + } + } + } + } + } + }, + "second": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Failed adoption can retain a " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupRecovery" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " before a " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$Server" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " exists.\n Inspection, retry and waiting through that owner stay scoped to the failed\n adoption. Cleanup preserves application exceptions, incoming masking state\n and cancellation; known acquisition failures use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$TmuxException" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$serverConfig": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Configure an existing socket, resolving " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocMonospaced", + "document": { + "tag": "DocString", + "string": "tmux" + } + }, + "second": { + "tag": "DocString", + "string": " through PATH when opened.\n The private pin uses the socket's parent directory. The capture timeout is\n two seconds; callers can change it before opening a Server scope." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServer": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Open one handle, run the callback, then perform bounded owned cleanup.\n Cleanup never replaces a callback exception. Incomplete cleanup raises\n " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupFailed" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " after success, or annotates the original callback failure\n with a reachable " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupRecovery" + }, + "second": { + "tag": "DocString", + "string": ". No daemon shutdown is requested." + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$capture": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Acquire the complete baseline graph, metadata and attached clients.\n Returned values own their data and remain usable after " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServer" + }, + "second": { + "tag": "DocString", + "string": " exits.\n Capacity and acquisition failure are errors; they never become empty lists." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$serverGeneration": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "The handle's opaque generation, available without contacting tmux." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$tryTmux": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Catch library failures with their exception context. Retain this value\n when handling an error so cleanup and capture owners stay reachable.\n Application exceptions and asynchronous cancellation propagate." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$cleanupRecoveries": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Cleanup owners retained by a failed or cancelled scope. The context\n comes from " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$tryTmux" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " or " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$ghc-internal$GHC.Internal.Control.Exception.Base$tryWithContext" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": ". Inspection performs no tmux IO.\n Nested scopes can contribute overlapping owners; inspect and resume each\n retained responsibility through " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$inspectCleanup" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " and " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$resumeCleanup" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + } + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$detachUnresolved": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Relinquish one logical operation from this cleanup scope. This releases\n no native resources and does not prove that daemon-side work completed." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$captureRecoveries": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Capture owners retained in an exception context, including cancellation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$recoveryOperation": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Metadata-only operation identity for the failed capture." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$recoveryGeneration": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Correlate the failed capture with its Server generation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$inspectCaptureRecovery": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Observe logical outcome, decoder ownership and native cleanup locally.\n This reads runtime metadata and performs no tmux command." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$resumeCaptureRecovery": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Resume existing cleanup without dispatching the capture again." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$detachCaptureRecovery": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Explicitly detach logical uncertainty while preserving native ownership." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$operationStatus": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Read retained operation metadata, including after its physical cleanup." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$awaitCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupObservation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$inspectCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$resumeCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$capture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$captureRecoveries", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$cleanupRecoveries", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$detachCaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$detachUnresolved", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$inspectCaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$operationStatus", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$recoveryGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$recoveryOperation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$resumeCaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$serverConfig", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$serverGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$tryTmux", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withRuntime", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServer", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServerIn", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$logical", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeOwned", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerOwned", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Operation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Outcome", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ConnectionRetired", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Failed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$NotDispatched", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OutcomeUnknown", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Succeeded", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Stage", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Dispatched", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Dispatching", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OperationComplete", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Queued", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ResponseClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Status", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Status", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$outcome", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$retained", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$stage", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupStatus", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupStatus", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$complete", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$failures", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingHandles", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingReads", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$unresolved", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$TmuxException", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidConfiguration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidObservation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$OperationFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$RuntimeClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$ServerClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$Runtime", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$ServerConfig", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$ServerConfig", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$captureTimeout", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$executable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$pinDirectory", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$socketPath" + ], + "visible_exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$ServerConfig", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$ServerConfig", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$captureTimeout", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$executable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$pinDirectory", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$socketPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$serverConfig", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServer", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$capture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$serverGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$Runtime", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withRuntime", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServerIn", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$TmuxException", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidConfiguration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidObservation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$OperationFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$RuntimeClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$ServerClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$tryTmux", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupStatus", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupStatus", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$complete", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$failures", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingHandles", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingReads", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$unresolved", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$cleanupRecoveries", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupObservation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$inspectCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$resumeCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$awaitCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$detachUnresolved", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$captureRecoveries", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$recoveryOperation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$recoveryGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$logical", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeOwned", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerOwned", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$inspectCaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$resumeCaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$detachCaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Operation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Status", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Status", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$outcome", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$retained", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$stage", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Stage", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Dispatched", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Dispatching", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OperationComplete", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Queued", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ResponseClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Outcome", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ConnectionRetired", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Failed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$NotDispatched", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OutcomeUnknown", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Succeeded", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$operationStatus" + ], + "options": [], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query$runQuery": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Validate and evaluate against the supplied complete snapshot. Every\n requirement is checked before reading rows, including empty sources and\n zero limits. Consuming a successful result performs only pure processing\n of owned observations. No acquisition, pushdown or refresh occurs." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query$fetch": { + "meta": { + "version": null + }, + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Acquire a complete fresh snapshot and evaluate the query against it.\n Compiled evaluator support is checked before IO; version requirements are\n checked against acquired server metadata. Operational failures propagate\n as exceptions from " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifierUnchecked", + "modName": "LibTmux.Server" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "; use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifierUnchecked", + "modName": "LibTmux.Server" + }, + "second": { + "tag": "DocString", + "string": " to retain their\n context and recovery owners. Cancellation propagates unchanged." + } + } + } + } + } + }, + "second": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "This performs one acquisition per call, even when the query is reused or\n has a zero limit. Use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query$runQuery" + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": " to reuse an existing " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Snapshot" + }, + "second": { + "tag": "DocString", + "string": ". No filter\n is pushed into tmux in this implementation." + } + } + } + } + } + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$allOf", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$anyOf", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ascending", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$atMostOne", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$clients", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$contains", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$descending", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$dimensionAtLeast", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$dimensionAtMost", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$eq", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$every", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$exactlyOne", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ge", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$gt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$le", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$limit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$lt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$matching", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$none", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$not_", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$oneOf", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$optionalRelated", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$orderBy", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$paneIndexAtLeast", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$paneIndexAtMost", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$paneOccurrences", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$panes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$related", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$requirements", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$serverInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$sessions", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$some", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$windowIndexAtLeast", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$windowIndexAtMost", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$windowLinks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$windows", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query$fetch", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query$runQuery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$Field", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$CardinalityError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$AtLeastTwoMatches", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$NoMatches", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$Expr", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$Order", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$QueryError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$FieldUnavailable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$InvalidFieldRequirement", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$RelationshipLookupFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$RelationshipUnavailable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$RequiresTmux", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$QueryRequirements", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$QueryRequirements", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$fieldNames", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$orderingFields", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$relationshipNames", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$rowLimit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$sourceName", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ToMany", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ToOne", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ToOptional" + ], + "visible_exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Field$Field", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$Expr", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$Query", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$Order", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ToMany", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ToOne", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ToOptional", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$sessions", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$windows", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$panes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$windowLinks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$paneOccurrences", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$clients", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$serverInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$eq", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$oneOf", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$contains", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ge", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$gt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$le", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$lt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$dimensionAtLeast", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$dimensionAtMost", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$paneIndexAtLeast", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$paneIndexAtMost", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$windowIndexAtLeast", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$windowIndexAtMost", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$allOf", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$anyOf", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$not_", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$some", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$every", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$none", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$related", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$optionalRelated", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$matching", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$orderBy", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$ascending", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$descending", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$limit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$QueryRequirements", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$QueryRequirements", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$fieldNames", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$orderingFields", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$relationshipNames", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$rowLimit", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$sourceName", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$requirements", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$QueryError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$FieldUnavailable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$InvalidFieldRequirement", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$RelationshipLookupFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$RelationshipUnavailable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$RequiresTmux", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query$runQuery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query$fetch", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$CardinalityError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$AtLeastTwoMatches", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$NoMatches", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$exactlyOne", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Query$atMostOne" + ], + "options": [], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$id": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Native physical window ID, independent of a session's link index." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$name": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Lossless window label. Equality and ordering compare its retained bytes." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$width": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Positive physical window width in cells." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$height": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Positive physical window height in cells." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$panes": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Physical panes in this window, ordered by pane index." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$windowLinks": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "All contextual appearances of this window across captured sessions." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$height", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$panes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$width", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$windowLinks" + ], + "visible_exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$width", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$height", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$panes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Window$windowLinks" + ], + "options": [], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Session", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Session$id": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Native session ID without a connection-generation guarantee." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Session$name": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Captured UTF-8 session name. Equality does not normalize Unicode." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Session$attached": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Nonnegative count of attached clients as observed by tmux." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Session$windowLinks": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Every window link owned by this session, retaining index and multiplicity." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Session$clients": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Captured clients attached to this session; an empty list is known absence." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Session$attached", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Session$clients", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Session$id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Session$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Session$windowLinks" + ], + "visible_exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Session$id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Session$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Session$attached", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Session$windowLinks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Session$clients" + ], + "options": [], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ServerInfo", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ServerInfo$pid": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Observed daemon process ID." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ServerInfo$startedAt": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Daemon start time in epoch seconds, as reported by tmux." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ServerInfo$version": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Parsed tmux release, compared using the library's version ordering." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ServerInfo$socketPath": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Reported socket path on the tmux endpoint, retaining POSIX bytes." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ServerInfo$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ServerInfo$socketPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ServerInfo$startedAt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ServerInfo$version" + ], + "visible_exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ServerInfo$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ServerInfo$startedAt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ServerInfo$version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ServerInfo$socketPath" + ], + "options": [], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$id": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Native pane ID. Equality alone does not establish Server identity." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$windowId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Native ID of the pane's physical window; use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$window" + }, + "second": { + "tag": "DocString", + "string": " to navigate it." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$index": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Pane index within its window, distinct from a window-link index." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$width": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Positive width in cells. Use " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifierUnchecked", + "modName": "LibTmux.Query" + }, + "second": { + "tag": "DocString", + "string": " for an integer threshold." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$height": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Positive height in cells, independent of window-link context." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$active": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Whether this is the active pane of its physical window." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$dead": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Whether tmux observed the pane's process as dead." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$title": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "UTF-8 pane title. " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifierUnchecked", + "modName": "LibTmux.Query" + }, + "second": { + "tag": "DocString", + "string": " performs exact Text substring matching." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$currentCommand": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Foreground command name as lossless POSIX bytes, not a shell command line." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$currentPath": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Observed current directory on the tmux endpoint, preserving POSIX bytes." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$window": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Resolve the pane's physical window in the supplied snapshot with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifierUnchecked", + "modName": "LibTmux.Query" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$active", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$currentCommand", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$currentPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$dead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$height", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$title", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$width", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$windowId" + ], + "visible_exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$id", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$windowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$width", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$height", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$active", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$dead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$title", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$currentCommand", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$currentPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Pane$window" + ], + "options": [], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Occurrence", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Occurrence$pane": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "The physical pane observed through this occurrence, used with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifierUnchecked", + "modName": "LibTmux.Query" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Occurrence$link": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "The observed session and window-index context of this appearance." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Occurrence$link", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Occurrence$pane" + ], + "visible_exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Occurrence$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Occurrence$link" + ], + "options": [], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$sessionId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Native ID of the session that owns this observed link." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$windowId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Native ID of the shared physical window." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$index": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Window-link index within the session; reindexing can change it." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$active": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Whether this link is selected in its session." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$session": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Resolve the session in the supplied snapshot with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifierUnchecked", + "modName": "LibTmux.Query" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$window": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Resolve the shared physical window in the supplied snapshot." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$panes": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Physical panes reached through this link, ordered by pane index." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$active", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$panes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$sessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$windowId" + ], + "visible_exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$sessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$windowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$active", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Link$panes" + ], + "options": [], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$sessionId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Native ID of the selected session." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$windowId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Native ID of the selected physical window." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$windowIndex": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Selected link index in the client's session." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$paneId": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Native ID of the selected physical pane." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$session": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Selected session observation, used with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifierUnchecked", + "modName": "LibTmux.Query" + }, + "second": { + "tag": "DocString", + "string": "." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$window": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Selected physical window observation." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$pane": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Selected pane in its actual session/index context." + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$paneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$sessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$windowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$windowIndex" + ], + "visible_exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$sessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$windowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$windowIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$paneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.ClientAttachment$pane" + ], + "options": [], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Client", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": { + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Client$name": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Lossless client name supplied by tmux." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Client$pid": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocString", + "string": "Positive operating-system process ID, for observation rather than signalling." + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Client$tty": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Observed client tty, or " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifier", + "name": "$ghc-internal$GHC.Internal.Maybe$Nothing" + }, + "second": { + "tag": "DocString", + "string": " when tmux reports no tty." + } + } + } + } + }, + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Client$attachment": { + "meta": { + "version": null + }, + "document": { + "tag": "DocParagraph", + "document": { + "tag": "DocAppend", + "first": { + "tag": "DocString", + "string": "Optional captured selection, used with " + }, + "second": { + "tag": "DocAppend", + "first": { + "tag": "DocIdentifierUnchecked", + "modName": "LibTmux.Query" + }, + "second": { + "tag": "DocString", + "string": ". Absence fails\n that positive predicate and satisfies its negation." + } + } + } + } + } + }, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Client$attachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Client$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Client$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Client$tty" + ], + "visible_exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Client$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Client$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Client$tty", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Query.Client$attachment" + ], + "options": [], + "fix_map": {} + }, + { + "module": "$libtmux-haskell-0.1.0.0-inplace$LibTmux", + "is_sig": false, + "info": { + "description": null, + "copyright": null, + "maintainer": null, + "stability": null, + "protability": null, + "safety": "None", + "language": "GHC2024", + "extensions": [ + "OverloadedStrings", + "DuplicateRecordFields", + "OverloadedRecordDot" + ] + }, + "doc_map": {}, + "arg_map": {}, + "exports": [ + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$paneIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parsePaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseSessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$parseWindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderPaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderSessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$renderWindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$sessionIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$windowIdValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$captureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$clients", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$serverInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$awaitCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$cleanupObservation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$inspectCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$resumeCleanup", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$capture", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$captureRecoveries", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$cleanupRecoveries", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$detachCaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$detachUnresolved", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$inspectCaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$operationStatus", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$recoveryGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$recoveryOperation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$resumeCaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$serverConfig", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$serverGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$tryTmux", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withRuntime", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServer", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$withServerIn", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelFromBytes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$labelText", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$linksForSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupPane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupPaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupSessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$lookupWindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$paneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$paneOccurrences", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$panes", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$panesForWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$sessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$sessions", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$snapshotOrigin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windowLinks", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$windows", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$dimensionValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkDimension", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkPaneIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$mkWindowIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$paneIndexValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$windowIndexValue", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$parseVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$renderVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$requireSupported", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$IdError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$InvalidId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$expectedPrefix", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$input", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$PaneId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$SessionId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Id$WindowId", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Capture$CaptureRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$CaptureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$CaptureInterval", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$finishedNanoseconds", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedNanoseconds", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Client", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Client", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$tty", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ClientAttachment", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Generation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$LookupError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ForeignGeneration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingPane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingSession", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$MissingWindow", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$active", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentCommand", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$currentPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$dead", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$height", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$title", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$width", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneOccurrence", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneOccurrence", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$link", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pane", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$PaneRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ServerInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ServerInfo", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$generation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$pid", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$socketPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$startedAt", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$version", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$attached", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$SessionRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Snapshot", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$Window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$height", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$name", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$width", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowLink", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$active", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$index", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$session", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$window", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$WindowRef", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$ReadRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$logical", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$nativeOwned", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerFailure", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Runtime$workerOwned", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Operation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Outcome", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ConnectionRetired", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Failed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$NotDispatched", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OutcomeUnknown", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Succeeded", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Stage", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Dispatched", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Dispatching", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$OperationComplete", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Queued", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$ResponseClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Status", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$Status", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$outcome", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$retained", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scheduler$stage", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupRecovery", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupStatus", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupStatus", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$complete", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$failures", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingHandles", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$pendingReads", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$unresolved", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$TmuxException", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$CleanupFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidConfiguration", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$InvalidObservation", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$OperationFailed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$RuntimeClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Scope$ServerClosed", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.TmuxText$TmuxText", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$Runtime", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$Server", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$ServerConfig", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$ServerConfig", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$captureTimeout", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$executable", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$pinDirectory", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Server$socketPath", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$SnapshotOrigin", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$AcquiredFromTmux", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Snapshot$DefinedOffline", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$Dimension", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$PaneIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$ValueError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$NegativeIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$NonPositiveDimension", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Value$WindowIndex", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$TmuxVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$VersionError", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$MalformedVersion", + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Version$UnsupportedVersion" + ], + "visible_exports": [], + "options": [], + "fix_map": {} + } + ] +} diff --git a/packages/api-model/test/fixtures/haskell-query-native/provenance.json b/packages/api-model/test/fixtures/haskell-query-native/provenance.json new file mode 100644 index 000000000..5fd9f0f6e --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-query-native/provenance.json @@ -0,0 +1,221 @@ +{ + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14", + "modules": [ + "LibTmux", + "LibTmux.Id", + "LibTmux.Query", + "LibTmux.Query.Client", + "LibTmux.Query.ClientAttachment", + "LibTmux.Query.Link", + "LibTmux.Query.Occurrence", + "LibTmux.Query.Pane", + "LibTmux.Query.ServerInfo", + "LibTmux.Query.Session", + "LibTmux.Query.Window", + "LibTmux.Server", + "LibTmux.Snapshot", + "LibTmux.Snapshot.Fixture", + "LibTmux.Value", + "LibTmux.Version" + ], + "origins": [ + "LibTmux", + "LibTmux.Id", + "LibTmux.Query", + "LibTmux.Query.Client", + "LibTmux.Query.ClientAttachment", + "LibTmux.Query.Link", + "LibTmux.Query.Occurrence", + "LibTmux.Query.Pane", + "LibTmux.Query.ServerInfo", + "LibTmux.Query.Session", + "LibTmux.Query.Window", + "LibTmux.Server", + "LibTmux.Snapshot", + "LibTmux.Snapshot.Fixture", + "LibTmux.Value", + "LibTmux.Version", + "LibTmux.Internal.Capture", + "LibTmux.Internal.Field", + "LibTmux.Internal.Graph", + "LibTmux.Internal.Query", + "LibTmux.Internal.Runtime", + "LibTmux.Internal.Scheduler", + "LibTmux.Internal.Scope", + "LibTmux.Internal.TmuxText" + ], + "compiler": "9.14.1", + "haddock": "2.33.0", + "sourcePagesMatchCommittedBytes": true, + "exporterRevision": "cfa95b798860468e591a507c415ae2b144c54365", + "nativeArtifacts": [ + { + "path": "LibTmux-Id.html", + "sha256": "cf7102eba62a0e9b02e7ea7acefb85d1822a4d192a1fceb680246ed42bd10d45" + }, + { + "path": "LibTmux-Query-Client.html", + "sha256": "841c8d5a537f3d06d0f7a4a192c7922bf88bdbfbc0e6027143f0a36464826d8b" + }, + { + "path": "LibTmux-Query-ClientAttachment.html", + "sha256": "fc039ad4e8e5f78703a4fd47abb7691edd8e6a63ea4421f7fd944899c98f6204" + }, + { + "path": "LibTmux-Query-Link.html", + "sha256": "1dfbdc7a40b484dd04c7a949fc88ff4d28d405e95707900d5231cd17ab522fdf" + }, + { + "path": "LibTmux-Query-Occurrence.html", + "sha256": "792f12ae0bbc792264ad9261b94070046cc31ee8bd20a3b6ec34bf742249ae9a" + }, + { + "path": "LibTmux-Query-Pane.html", + "sha256": "036fcb94031ed3818ba7dc372e1950d706c1a66c359db35d833156c553054c03" + }, + { + "path": "LibTmux-Query-ServerInfo.html", + "sha256": "1df595aa9f3a7bb189165062f1c59047598b313502ec6252dbc285ab30fc4888" + }, + { + "path": "LibTmux-Query-Session.html", + "sha256": "b7a7b61ae49403b4bf7eeaa5be68371f6e216afa0748c4041c8244d0409155e4" + }, + { + "path": "LibTmux-Query-Window.html", + "sha256": "aaa13d0c47e88ed2551aeb7c45e19c506e262a87c75d627c21b7ff3ef9b74705" + }, + { + "path": "LibTmux-Query.html", + "sha256": "0c77ec7728fcaddd2d4a35744ba3da1270b265e77efe9212fdc0ad9aa0f6d4f1" + }, + { + "path": "LibTmux-Server.html", + "sha256": "ea41128f95487a63c251630abbbe3587153ec01b896ca703be97815458e61dc8" + }, + { + "path": "LibTmux-Snapshot-Fixture.html", + "sha256": "9d0939a019c99f33119619f0c424a87fea6e87abbd0a8ade758d78e05ae53a7c" + }, + { + "path": "LibTmux-Snapshot.html", + "sha256": "1f842b842539860588b079367edede8eb65986ed23a695bb3c9dc592af911a10" + }, + { + "path": "LibTmux-Value.html", + "sha256": "4160151534c27a8c787c9ab36fa6dcbf740fc193a7a3553935172be72111ff1d" + }, + { + "path": "LibTmux-Version.html", + "sha256": "3461a42be3733565d16ab18cf3b729e41eab6ef20e87c90b2ca10fa993999510" + }, + { + "path": "LibTmux.html", + "sha256": "a92d346516db99e4d4086fd9b4322c363eb5bc5a155ce28264e07eafac0c9e15" + }, + { + "path": "interface.haddock", + "sha256": "f1b379ffb656b6092d26960513ce994c6e000ad1e381285e93c2e427eba3d745" + }, + { + "path": "interface.json", + "sha256": "c1253b84879a0675e7ce6eac66135343bc9eb838416cad730087b605c40a06f6" + }, + { + "path": "src/LibTmux.Id.html", + "sha256": "4ffe3b428181e97542f140f27d29b4886487f3e42932a71de1c49027ce82379c" + }, + { + "path": "src/LibTmux.Internal.Capture.html", + "sha256": "39717a61c3d14c25bb35e1de8674e58d2ed6541f3e402fd88b9bae4b15861935" + }, + { + "path": "src/LibTmux.Internal.Field.html", + "sha256": "6c9ee76d4aea3fe98c1a385f5b3045e9bc90c6415bcb09028e55a61ee42fab15" + }, + { + "path": "src/LibTmux.Internal.Graph.html", + "sha256": "2b7a173ec6cb2cd836d02eac2f3f7afde831c07ff668617c6c30c9058f8148cb" + }, + { + "path": "src/LibTmux.Internal.Query.html", + "sha256": "c578a743c9975dcd792895c68264c8acb768df9f5ad8b8857aa9fc9cb5972025" + }, + { + "path": "src/LibTmux.Internal.Runtime.html", + "sha256": "dffb79b5ee22778adfdc78192d0f79543737bd1be23bfaeffca2e4894cf66567" + }, + { + "path": "src/LibTmux.Internal.Scheduler.html", + "sha256": "0f979509677d529e8dde05ee8bdaebbaeba3a769186b92491bd9523677ed99fc" + }, + { + "path": "src/LibTmux.Internal.Scope.html", + "sha256": "f1ff040ee7c377d0239289613ceeb63975e7bd91632a60c8e1e05e6005982c69" + }, + { + "path": "src/LibTmux.Internal.TmuxText.html", + "sha256": "e7b157d01e6c3a38aaeebcffda929c8b622dec125eb4bdfdd6273c4f7195a173" + }, + { + "path": "src/LibTmux.Query.Client.html", + "sha256": "63b8825e19f974abe4572598f213e5ad677d1b330659911109bfa39ba5853c10" + }, + { + "path": "src/LibTmux.Query.ClientAttachment.html", + "sha256": "ddd214d2151a04e988d7573b5a37922793a51d0dc253467a7ace7eafdcf24522" + }, + { + "path": "src/LibTmux.Query.Link.html", + "sha256": "704c97d3a9393b3a8834b5c4c5723cde3aaf9353272bb29bc4dce0c17260cc94" + }, + { + "path": "src/LibTmux.Query.Occurrence.html", + "sha256": "6b8434f01e2172bb84b29907ca9f41e9983b0e2250cee6134d7086f406a57034" + }, + { + "path": "src/LibTmux.Query.Pane.html", + "sha256": "a914f4b39e741ccca3dfba10941a037266cda6b39991c9901eb53f0d47de0ec3" + }, + { + "path": "src/LibTmux.Query.ServerInfo.html", + "sha256": "a1eb1a088b566436a553697610f9841c926dd7fcdaaf04acc6fe8072e3e09037" + }, + { + "path": "src/LibTmux.Query.Session.html", + "sha256": "e9f14446ea7e4998944700ee53f869d26e3a43ad44013590ec2f0bc833c8b247" + }, + { + "path": "src/LibTmux.Query.Window.html", + "sha256": "d1c54f7e867221a773a1f6b0b3994954a1be51ee841349cd3ad575e449e18293" + }, + { + "path": "src/LibTmux.Query.html", + "sha256": "dff07cc91ad3d3f33a74b955eadbd04e2c44f7e814f50908a82b5fada8e7082a" + }, + { + "path": "src/LibTmux.Server.html", + "sha256": "6abb571aab22a70c813796783a6b1ac4736698aa4adfff68a9abd54a8fa71e3b" + }, + { + "path": "src/LibTmux.Snapshot.Fixture.html", + "sha256": "67bbac3c3526fd4852c12974bd40b9998026f30efb918127ba4092a3b50fa6c7" + }, + { + "path": "src/LibTmux.Snapshot.html", + "sha256": "32e83f30b4b7253801906fa4ad091a0833294b0e06f13287c0c7fb882fef992b" + }, + { + "path": "src/LibTmux.Value.html", + "sha256": "41c181002b623ebedd852980c252161f0fff4734bf059746eb3625463059fbc2" + }, + { + "path": "src/LibTmux.Version.html", + "sha256": "02c525d9a7dccfb68d33bb4c35a15d28dc95afd635e1cd37e2f8ded829c61798" + }, + { + "path": "src/LibTmux.html", + "sha256": "b6361b9092cbd079dd75ae5b91977c3ed8b4ef1ed0c2505b1febcb59de386d19" + } + ] +} diff --git a/packages/api-model/test/fixtures/haskell-query-native/source-anchors.json b/packages/api-model/test/fixtures/haskell-query-native/source-anchors.json new file mode 100644 index 000000000..b7176ef7d --- /dev/null +++ b/packages/api-model/test/fixtures/haskell-query-native/source-anchors.json @@ -0,0 +1,19188 @@ +{ + "LibTmux": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ] + }, + "LibTmux.Id": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "line-36": [ + 36 + ], + "line-37": [ + 37 + ], + "line-38": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "line-41": [ + 41 + ], + "line-42": [ + 42 + ], + "line-43": [ + 43 + ], + "line-44": [ + 44 + ], + "line-45": [ + 45 + ], + "SessionId": [ + 45, + 45 + ], + "line-46": [ + 46 + ], + "local-6989586621679135977": [ + 46 + ], + "local-6989586621679135981": [ + 46 + ], + "local-6989586621679135988": [ + 46 + ], + "local-6989586621679135992": [ + 46 + ], + "local-6989586621679135995": [ + 46 + ], + "local-6989586621679135999": [ + 46 + ], + "local-6989586621679136002": [ + 46 + ], + "local-6989586621679136005": [ + 46 + ], + "local-6989586621679136008": [ + 46 + ], + "local-6989586621679136016": [ + 46 + ], + "local-6989586621679136020": [ + 46 + ], + "local-6989586621679136024": [ + 46 + ], + "line-47": [ + 47 + ], + "local-6989586621679136029": [ + 47 + ], + "line-48": [ + 48 + ], + "line-49": [ + 49 + ], + "line-50": [ + 50 + ], + "line-51": [ + 51 + ], + "WindowId": [ + 51, + 51 + ], + "line-52": [ + 52 + ], + "local-6989586621679136038": [ + 52 + ], + "local-6989586621679136041": [ + 52 + ], + "local-6989586621679136047": [ + 52 + ], + "local-6989586621679136050": [ + 52 + ], + "local-6989586621679136053": [ + 52 + ], + "local-6989586621679136057": [ + 52 + ], + "local-6989586621679136060": [ + 52 + ], + "local-6989586621679136063": [ + 52 + ], + "local-6989586621679136066": [ + 52 + ], + "local-6989586621679136069": [ + 52 + ], + "local-6989586621679136073": [ + 52 + ], + "local-6989586621679136077": [ + 52 + ], + "line-53": [ + 53 + ], + "local-6989586621679136080": [ + 53 + ], + "line-54": [ + 54 + ], + "line-55": [ + 55 + ], + "line-56": [ + 56 + ], + "line-57": [ + 57 + ], + "PaneId": [ + 57, + 57 + ], + "line-58": [ + 58 + ], + "local-6989586621679136086": [ + 58 + ], + "local-6989586621679136089": [ + 58 + ], + "local-6989586621679136095": [ + 58 + ], + "local-6989586621679136098": [ + 58 + ], + "local-6989586621679136101": [ + 58 + ], + "local-6989586621679136105": [ + 58 + ], + "local-6989586621679136108": [ + 58 + ], + "local-6989586621679136111": [ + 58 + ], + "local-6989586621679136114": [ + 58 + ], + "local-6989586621679136117": [ + 58 + ], + "local-6989586621679136121": [ + 58 + ], + "local-6989586621679136125": [ + 58 + ], + "line-59": [ + 59 + ], + "local-6989586621679136128": [ + 59 + ], + "line-60": [ + 60 + ], + "line-61": [ + 61 + ], + "line-62": [ + 62 + ], + "line-63": [ + 63 + ], + "IdError": [ + 63 + ], + "InvalidId": [ + 63 + ], + "line-64": [ + 64 + ], + "expectedPrefix": [ + 64 + ], + "line-65": [ + 65 + ], + "input": [ + 65 + ], + "line-66": [ + 66 + ], + "line-67": [ + 67 + ], + "local-6989586621679136136": [ + 67 + ], + "local-6989586621679136141": [ + 67 + ], + "local-6989586621679136145": [ + 67 + ], + "local-6989586621679136152": [ + 67 + ], + "local-6989586621679136156": [ + 67 + ], + "line-68": [ + 68 + ], + "line-69": [ + 69 + ], + "line-70": [ + 70 + ], + "line-71": [ + 71 + ], + "parseSessionId": [ + 71 + ], + "line-72": [ + 72 + ], + "line-73": [ + 73 + ], + "line-74": [ + 74 + ], + "line-75": [ + 75 + ], + "parseWindowId": [ + 75 + ], + "line-76": [ + 76 + ], + "line-77": [ + 77 + ], + "line-78": [ + 78 + ], + "line-79": [ + 79 + ], + "parsePaneId": [ + 79 + ], + "line-80": [ + 80 + ], + "line-81": [ + 81 + ], + "line-82": [ + 82 + ], + "line-83": [ + 83 + ], + "renderSessionId": [ + 83 + ], + "local-6989586621679136160": [ + 83 + ], + "line-84": [ + 84 + ], + "line-85": [ + 85 + ], + "line-86": [ + 86 + ], + "line-87": [ + 87 + ], + "renderWindowId": [ + 87 + ], + "local-6989586621679136163": [ + 87 + ], + "line-88": [ + 88 + ], + "line-89": [ + 89 + ], + "line-90": [ + 90 + ], + "line-91": [ + 91 + ], + "renderPaneId": [ + 91 + ], + "local-6989586621679136164": [ + 91 + ], + "line-92": [ + 92 + ], + "line-93": [ + 93 + ], + "line-94": [ + 94 + ], + "line-95": [ + 95 + ], + "sessionIdValue": [ + 95 + ], + "local-6989586621679136165": [ + 95 + ], + "line-96": [ + 96 + ], + "line-97": [ + 97 + ], + "line-98": [ + 98 + ], + "line-99": [ + 99 + ], + "windowIdValue": [ + 99 + ], + "local-6989586621679136166": [ + 99 + ], + "line-100": [ + 100 + ], + "line-101": [ + 101 + ], + "line-102": [ + 102 + ], + "line-103": [ + 103 + ], + "paneIdValue": [ + 103 + ], + "local-6989586621679136167": [ + 103 + ], + "line-104": [ + 104 + ], + "line-105": [ + 105 + ], + "line-106": [ + 106 + ], + "parseId": [ + 106 + ], + "local-6989586621679136168": [ + 106 + ], + "local-6989586621679136169": [ + 106 + ], + "line-107": [ + 107 + ], + "line-108": [ + 108 + ], + "local-6989586621679136171": [ + 108 + ], + "line-109": [ + 109 + ], + "local-6989586621679136172": [ + 109 + ], + "line-110": [ + 110 + ], + "line-111": [ + 111 + ], + "local-6989586621679136176": [ + 111 + ], + "local-6989586621679136177": [ + 111 + ], + "line-112": [ + 112 + ], + "line-113": [ + 113 + ], + "local-6989586621679136179": [ + 113 + ], + "local-6989586621679136180": [ + 113 + ], + "line-114": [ + 114 + ], + "line-115": [ + 115 + ], + "local-6989586621679136185": [ + 115 + ], + "line-116": [ + 116 + ], + "local-6989586621679136187": [ + 116 + ], + "local-6989586621679136189": [ + 116 + ], + "local-6989586621679136190": [ + 116 + ], + "line-117": [ + 117 + ], + "line-118": [ + 118 + ], + "line-119": [ + 119 + ] + }, + "LibTmux.Query": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "line-36": [ + 36 + ], + "line-37": [ + 37 + ], + "line-38": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "line-41": [ + 41 + ], + "line-42": [ + 42 + ], + "line-43": [ + 43 + ], + "line-44": [ + 44 + ], + "line-45": [ + 45 + ], + "line-46": [ + 46 + ], + "line-47": [ + 47 + ], + "line-48": [ + 48 + ], + "line-49": [ + 49 + ], + "line-50": [ + 50 + ], + "line-51": [ + 51 + ], + "line-52": [ + 52 + ], + "line-53": [ + 53 + ], + "line-54": [ + 54 + ], + "line-55": [ + 55 + ], + "line-56": [ + 56 + ], + "line-57": [ + 57 + ], + "line-58": [ + 58 + ], + "line-59": [ + 59 + ], + "line-60": [ + 60 + ], + "line-61": [ + 61 + ], + "line-62": [ + 62 + ], + "line-63": [ + 63 + ], + "line-64": [ + 64 + ], + "line-65": [ + 65 + ], + "line-66": [ + 66 + ], + "line-67": [ + 67 + ], + "line-68": [ + 68 + ], + "line-69": [ + 69 + ], + "local-6989586621679150331": [ + 69 + ], + "line-70": [ + 70 + ], + "runQuery": [ + 70 + ], + "line-71": [ + 71 + ], + "line-72": [ + 72 + ], + "line-73": [ + 73 + ], + "line-74": [ + 74 + ], + "line-75": [ + 75 + ], + "line-76": [ + 76 + ], + "line-77": [ + 77 + ], + "line-78": [ + 78 + ], + "line-79": [ + 79 + ], + "line-80": [ + 80 + ], + "line-81": [ + 81 + ], + "local-6989586621679150336": [ + 81 + ], + "line-82": [ + 82 + ], + "fetch": [ + 82 + ], + "local-6989586621679150398": [ + 82 + ], + "local-6989586621679150399": [ + 82 + ], + "line-83": [ + 83 + ], + "local-6989586621679150402": [ + 83 + ], + "line-84": [ + 84 + ], + "line-85": [ + 85 + ] + }, + "LibTmux.Query.Client": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "name": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "pid": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "tty": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "attachment": [ + 30 + ], + "line-31": [ + 31 + ] + }, + "LibTmux.Query.ClientAttachment": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "sessionId": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "windowId": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "windowIndex": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "paneId": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "session": [ + 35 + ], + "line-36": [ + 36 + ], + "line-37": [ + 37 + ], + "line-38": [ + 38 + ], + "line-39": [ + 39 + ], + "window": [ + 39 + ], + "line-40": [ + 40 + ], + "line-41": [ + 41 + ], + "line-42": [ + 42 + ], + "line-43": [ + 43 + ], + "pane": [ + 43 + ], + "line-44": [ + 44 + ] + }, + "LibTmux.Query.Link": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "sessionId": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "windowId": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "index": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "active": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "session": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "line-36": [ + 36 + ], + "line-37": [ + 37 + ], + "window": [ + 37 + ], + "line-38": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "line-41": [ + 41 + ], + "panes": [ + 41 + ], + "line-42": [ + 42 + ] + }, + "LibTmux.Query.Occurrence": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "pane": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "link": [ + 18 + ], + "line-19": [ + 19 + ] + }, + "LibTmux.Query.Pane": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "id": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "windowId": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "index": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "line-36": [ + 36 + ], + "line-37": [ + 37 + ], + "width": [ + 37 + ], + "line-38": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "line-41": [ + 41 + ], + "height": [ + 41 + ], + "line-42": [ + 42 + ], + "line-43": [ + 43 + ], + "line-44": [ + 44 + ], + "line-45": [ + 45 + ], + "active": [ + 45 + ], + "line-46": [ + 46 + ], + "line-47": [ + 47 + ], + "line-48": [ + 48 + ], + "line-49": [ + 49 + ], + "dead": [ + 49 + ], + "line-50": [ + 50 + ], + "line-51": [ + 51 + ], + "line-52": [ + 52 + ], + "line-53": [ + 53 + ], + "title": [ + 53 + ], + "line-54": [ + 54 + ], + "line-55": [ + 55 + ], + "line-56": [ + 56 + ], + "line-57": [ + 57 + ], + "currentCommand": [ + 57 + ], + "line-58": [ + 58 + ], + "line-59": [ + 59 + ], + "line-60": [ + 60 + ], + "line-61": [ + 61 + ], + "currentPath": [ + 61 + ], + "line-62": [ + 62 + ], + "line-63": [ + 63 + ], + "line-64": [ + 64 + ], + "line-65": [ + 65 + ], + "window": [ + 65 + ], + "line-66": [ + 66 + ] + }, + "LibTmux.Query.ServerInfo": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "pid": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "startedAt": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "version": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "socketPath": [ + 28 + ], + "line-29": [ + 29 + ] + }, + "LibTmux.Query.Session": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "id": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "name": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "attached": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "windowLinks": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "clients": [ + 34 + ], + "line-35": [ + 35 + ] + }, + "LibTmux.Query.Window": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "id": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "name": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "width": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "height": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "panes": [ + 35 + ], + "line-36": [ + 36 + ], + "line-37": [ + 37 + ], + "line-38": [ + 38 + ], + "line-39": [ + 39 + ], + "windowLinks": [ + 39 + ], + "line-40": [ + 40 + ] + }, + "LibTmux.Server": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "line-36": [ + 36 + ], + "line-37": [ + 37 + ], + "line-38": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "line-41": [ + 41 + ], + "line-42": [ + 42 + ], + "line-43": [ + 43 + ], + "line-44": [ + 44 + ], + "line-45": [ + 45 + ], + "line-46": [ + 46 + ], + "line-47": [ + 47 + ], + "line-48": [ + 48 + ], + "line-49": [ + 49 + ], + "line-50": [ + 50 + ], + "line-51": [ + 51 + ], + "line-52": [ + 52 + ], + "line-53": [ + 53 + ], + "line-54": [ + 54 + ], + "line-55": [ + 55 + ], + "line-56": [ + 56 + ], + "line-57": [ + 57 + ], + "line-58": [ + 58 + ], + "line-59": [ + 59 + ], + "line-60": [ + 60 + ], + "line-61": [ + 61 + ], + "line-62": [ + 62 + ], + "line-63": [ + 63 + ], + "line-64": [ + 64 + ], + "line-65": [ + 65 + ], + "line-66": [ + 66 + ], + "line-67": [ + 67 + ], + "line-68": [ + 68 + ], + "line-69": [ + 69 + ], + "line-70": [ + 70 + ], + "line-71": [ + 71 + ], + "line-72": [ + 72 + ], + "line-73": [ + 73 + ], + "line-74": [ + 74 + ], + "Server": [ + 74, + 74 + ], + "line-75": [ + 75 + ], + "line-76": [ + 76 + ], + "line-77": [ + 77 + ], + "line-78": [ + 78 + ], + "line-79": [ + 79 + ], + "Runtime": [ + 79, + 79 + ], + "line-80": [ + 80 + ], + "line-81": [ + 81 + ], + "line-82": [ + 82 + ], + "line-83": [ + 83 + ], + "line-84": [ + 84 + ], + "line-85": [ + 85 + ], + "line-86": [ + 86 + ], + "line-87": [ + 87 + ], + "line-88": [ + 88 + ], + "line-89": [ + 89 + ], + "local-6989586621679149881": [ + 89 + ], + "line-90": [ + 90 + ], + "withRuntime": [ + 90 + ], + "local-6989586621679150092": [ + 90 + ], + "line-91": [ + 91 + ], + "local-6989586621679150093": [ + 91 + ], + "line-92": [ + 92 + ], + "line-93": [ + 93 + ], + "line-94": [ + 94 + ], + "line-95": [ + 95 + ], + "line-96": [ + 96 + ], + "line-97": [ + 97 + ], + "line-98": [ + 98 + ], + "line-99": [ + 99 + ], + "line-100": [ + 100 + ], + "line-101": [ + 101 + ], + "line-102": [ + 102 + ], + "local-6989586621679149887": [ + 102 + ], + "line-103": [ + 103 + ], + "withServerIn": [ + 103 + ], + "local-6989586621679150114": [ + 103 + ], + "local-6989586621679150115": [ + 103 + ], + "local-6989586621679150116": [ + 103 + ], + "local-6989586621679150117": [ + 103 + ], + "line-104": [ + 104 + ], + "local-6989586621679150118": [ + 104 + ], + "line-105": [ + 105 + ], + "line-106": [ + 106 + ], + "local-6989586621679150121": [ + 106 + ], + "local-6989586621679150122": [ + 106 + ], + "line-107": [ + 107 + ], + "local-6989586621679150124": [ + 107 + ], + "line-108": [ + 108 + ], + "line-109": [ + 109 + ], + "local-6989586621679150127": [ + 109 + ], + "local-6989586621679150129": [ + 109 + ], + "local-6989586621679150130": [ + 109 + ], + "line-110": [ + 110 + ], + "line-111": [ + 111 + ], + "line-112": [ + 112 + ], + "line-113": [ + 113 + ], + "local-6989586621679150133": [ + 113 + ], + "line-114": [ + 114 + ], + "line-115": [ + 115 + ], + "line-116": [ + 116 + ], + "line-117": [ + 117 + ], + "line-118": [ + 118 + ], + "line-119": [ + 119 + ], + "ServerConfig": [ + 119, + 119 + ], + "line-120": [ + 120 + ], + "socketPath": [ + 120 + ], + "line-121": [ + 121 + ], + "executable": [ + 121 + ], + "line-122": [ + 122 + ], + "pinDirectory": [ + 122 + ], + "line-123": [ + 123 + ], + "captureTimeout": [ + 123 + ], + "line-124": [ + 124 + ], + "line-125": [ + 125 + ], + "local-6989586621679150142": [ + 125 + ], + "local-6989586621679150150": [ + 125 + ], + "local-6989586621679150155": [ + 125 + ], + "local-6989586621679150165": [ + 125 + ], + "local-6989586621679150169": [ + 125 + ], + "line-126": [ + 126 + ], + "line-127": [ + 127 + ], + "line-128": [ + 128 + ], + "line-129": [ + 129 + ], + "line-130": [ + 130 + ], + "line-131": [ + 131 + ], + "serverConfig": [ + 131 + ], + "local-6989586621679150173": [ + 131 + ], + "line-132": [ + 132 + ], + "line-133": [ + 133 + ], + "line-134": [ + 134 + ], + "line-135": [ + 135 + ], + "line-136": [ + 136 + ], + "line-137": [ + 137 + ], + "local-6989586621679149919": [ + 137 + ], + "line-138": [ + 138 + ], + "withServer": [ + 138 + ], + "local-6989586621679150182": [ + 138 + ], + "local-6989586621679150183": [ + 138 + ], + "line-139": [ + 139 + ], + "local-6989586621679150184": [ + 139 + ], + "local-6989586621679150185": [ + 139 + ], + "line-140": [ + 140 + ], + "local-6989586621679150186": [ + 140 + ], + "line-141": [ + 141 + ], + "line-142": [ + 142 + ], + "local-6989586621679150187": [ + 142 + ], + "line-143": [ + 143 + ], + "line-144": [ + 144 + ], + "line-145": [ + 145 + ], + "line-146": [ + 146 + ], + "checkedConfiguration": [ + 146 + ], + "local-6989586621679150189": [ + 146 + ], + "line-147": [ + 147 + ], + "local-6989586621679150190": [ + 147 + ], + "line-148": [ + 148 + ], + "line-149": [ + 149 + ], + "line-150": [ + 150 + ], + "local-6989586621679150195": [ + 150 + ], + "line-151": [ + 151 + ], + "line-152": [ + 152 + ], + "line-153": [ + 153 + ], + "line-154": [ + 154 + ], + "line-155": [ + 155 + ], + "line-156": [ + 156 + ], + "line-157": [ + 157 + ], + "capture": [ + 157 + ], + "local-6989586621679150199": [ + 157 + ], + "local-6989586621679150200": [ + 157 + ], + "local-6989586621679150201": [ + 157 + ], + "local-6989586621679150202": [ + 157 + ], + "line-158": [ + 158 + ], + "local-6989586621679150203": [ + 158 + ], + "line-159": [ + 159 + ], + "line-160": [ + 160 + ], + "local-6989586621679150206": [ + 160 + ], + "local-6989586621679150207": [ + 160 + ], + "local-6989586621679150208": [ + 160 + ], + "line-161": [ + 161 + ], + "local-6989586621679150210": [ + 161 + ], + "line-162": [ + 162 + ], + "line-163": [ + 163 + ], + "line-164": [ + 164 + ], + "line-165": [ + 165 + ], + "line-166": [ + 166 + ], + "line-167": [ + 167 + ], + "serverGeneration": [ + 167 + ], + "local-6989586621679150217": [ + 167 + ], + "line-168": [ + 168 + ], + "line-169": [ + 169 + ], + "line-170": [ + 170 + ], + "line-171": [ + 171 + ], + "line-172": [ + 172 + ], + "local-6989586621679149935": [ + 172 + ], + "line-173": [ + 173 + ], + "tryTmux": [ + 173 + ], + "line-174": [ + 174 + ], + "line-175": [ + 175 + ], + "line-176": [ + 176 + ], + "line-177": [ + 177 + ], + "line-178": [ + 178 + ], + "line-179": [ + 179 + ], + "line-180": [ + 180 + ], + "cleanupRecoveries": [ + 180 + ], + "line-181": [ + 181 + ], + "line-182": [ + 182 + ], + "line-183": [ + 183 + ], + "line-184": [ + 184 + ], + "line-185": [ + 185 + ], + "detachUnresolved": [ + 185 + ], + "local-6989586621679150222": [ + 185 + ], + "line-186": [ + 186 + ], + "line-187": [ + 187 + ], + "line-188": [ + 188 + ], + "line-189": [ + 189 + ], + "captureRecoveries": [ + 189 + ], + "line-190": [ + 190 + ], + "line-191": [ + 191 + ], + "line-192": [ + 192 + ], + "line-193": [ + 193 + ], + "recoveryOperation": [ + 193 + ], + "line-194": [ + 194 + ], + "line-195": [ + 195 + ], + "line-196": [ + 196 + ], + "line-197": [ + 197 + ], + "recoveryGeneration": [ + 197 + ], + "line-198": [ + 198 + ], + "line-199": [ + 199 + ], + "line-200": [ + 200 + ], + "line-201": [ + 201 + ], + "line-202": [ + 202 + ], + "inspectCaptureRecovery": [ + 202 + ], + "line-203": [ + 203 + ], + "line-204": [ + 204 + ], + "line-205": [ + 205 + ], + "line-206": [ + 206 + ], + "resumeCaptureRecovery": [ + 206 + ], + "line-207": [ + 207 + ], + "line-208": [ + 208 + ], + "line-209": [ + 209 + ], + "line-210": [ + 210 + ], + "detachCaptureRecovery": [ + 210 + ], + "line-211": [ + 211 + ], + "line-212": [ + 212 + ], + "line-213": [ + 213 + ], + "line-214": [ + 214 + ], + "operationStatus": [ + 214 + ], + "line-215": [ + 215 + ], + "line-216": [ + 216 + ], + "line-217": [ + 217 + ], + "resolveExecutable": [ + 217 + ], + "local-6989586621679150231": [ + 217 + ], + "line-218": [ + 218 + ], + "line-219": [ + 219 + ], + "local-6989586621679150233": [ + 219 + ], + "line-220": [ + 220 + ], + "local-6989586621679150234": [ + 220 + ], + "line-221": [ + 221 + ], + "local-6989586621679150236": [ + 221 + ], + "line-222": [ + 222 + ], + "line-223": [ + 223 + ], + "line-224": [ + 224 + ], + "line-225": [ + 225 + ], + "posixBytes": [ + 225 + ], + "line-226": [ + 226 + ], + "line-227": [ + 227 + ], + "local-6989586621679150243": [ + 227 + ], + "line-228": [ + 228 + ], + "operational": [ + 228 + ], + "local-6989586621679150267": [ + 228 + ], + "local-6989586621679150268": [ + 228 + ], + "local-6989586621679150269": [ + 228 + ], + "local-6989586621679150270": [ + 228 + ], + "line-229": [ + 229 + ], + "local-6989586621679150271": [ + 229 + ], + "line-230": [ + 230 + ], + "line-231": [ + 231 + ], + "line-232": [ + 232 + ], + "line-233": [ + 233 + ], + "line-234": [ + 234 + ], + "line-235": [ + 235 + ], + "line-236": [ + 236 + ], + "line-237": [ + 237 + ], + "line-238": [ + 238 + ], + "line-239": [ + 239 + ], + "line-240": [ + 240 + ], + "line-241": [ + 241 + ], + "line-242": [ + 242 + ] + }, + "LibTmux.Snapshot": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "line-36": [ + 36 + ], + "line-37": [ + 37 + ], + "line-38": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "line-41": [ + 41 + ], + "line-42": [ + 42 + ], + "line-43": [ + 43 + ], + "line-44": [ + 44 + ], + "line-45": [ + 45 + ], + "line-46": [ + 46 + ], + "line-47": [ + 47 + ], + "line-48": [ + 48 + ], + "line-49": [ + 49 + ], + "line-50": [ + 50 + ], + "line-51": [ + 51 + ], + "line-52": [ + 52 + ], + "line-53": [ + 53 + ], + "line-54": [ + 54 + ], + "line-55": [ + 55 + ], + "line-56": [ + 56 + ], + "line-57": [ + 57 + ], + "SnapshotOrigin": [ + 57 + ], + "line-58": [ + 58 + ], + "AcquiredFromTmux": [ + 58 + ], + "line-59": [ + 59 + ], + "DefinedOffline": [ + 59 + ], + "line-60": [ + 60 + ], + "local-6989586621679141025": [ + 60 + ], + "local-6989586621679141032": [ + 60 + ], + "local-6989586621679141039": [ + 60 + ], + "local-6989586621679141043": [ + 60 + ], + "local-6989586621679141046": [ + 60 + ], + "local-6989586621679141050": [ + 60 + ], + "local-6989586621679141053": [ + 60 + ], + "local-6989586621679141056": [ + 60 + ], + "local-6989586621679141059": [ + 60 + ], + "local-6989586621679141067": [ + 60 + ], + "local-6989586621679141073": [ + 60 + ], + "local-6989586621679141077": [ + 60 + ], + "line-61": [ + 61 + ], + "line-62": [ + 62 + ], + "line-63": [ + 63 + ], + "line-64": [ + 64 + ], + "line-65": [ + 65 + ], + "snapshotOrigin": [ + 65 + ], + "local-6989586621679141081": [ + 65 + ], + "line-66": [ + 66 + ], + "line-67": [ + 67 + ], + "local-6989586621679141084": [ + 67 + ], + "line-68": [ + 68 + ], + "line-69": [ + 69 + ], + "line-70": [ + 70 + ], + "line-71": [ + 71 + ], + "sessionId": [ + 71 + ], + "local-6989586621679141086": [ + 71 + ], + "line-72": [ + 72 + ], + "line-73": [ + 73 + ], + "line-74": [ + 74 + ], + "line-75": [ + 75 + ], + "windowId": [ + 75 + ], + "local-6989586621679141088": [ + 75 + ], + "line-76": [ + 76 + ], + "line-77": [ + 77 + ], + "line-78": [ + 78 + ], + "line-79": [ + 79 + ], + "paneId": [ + 79 + ], + "local-6989586621679141090": [ + 79 + ], + "line-80": [ + 80 + ], + "line-81": [ + 81 + ], + "line-82": [ + 82 + ], + "line-83": [ + 83 + ], + "sessions": [ + 83 + ], + "line-84": [ + 84 + ], + "line-85": [ + 85 + ], + "line-86": [ + 86 + ], + "line-87": [ + 87 + ], + "windows": [ + 87 + ], + "line-88": [ + 88 + ], + "line-89": [ + 89 + ], + "line-90": [ + 90 + ], + "line-91": [ + 91 + ], + "panes": [ + 91 + ], + "line-92": [ + 92 + ], + "line-93": [ + 93 + ], + "line-94": [ + 94 + ], + "line-95": [ + 95 + ], + "windowLinks": [ + 95 + ], + "line-96": [ + 96 + ], + "line-97": [ + 97 + ], + "line-98": [ + 98 + ], + "line-99": [ + 99 + ], + "paneOccurrences": [ + 99 + ], + "line-100": [ + 100 + ], + "line-101": [ + 101 + ], + "line-102": [ + 102 + ], + "line-103": [ + 103 + ], + "lookupSession": [ + 103 + ], + "local-6989586621679141098": [ + 103 + ], + "line-104": [ + 104 + ], + "line-105": [ + 105 + ], + "line-106": [ + 106 + ], + "line-107": [ + 107 + ], + "lookupWindow": [ + 107 + ], + "local-6989586621679141100": [ + 107 + ], + "line-108": [ + 108 + ], + "line-109": [ + 109 + ], + "line-110": [ + 110 + ], + "line-111": [ + 111 + ], + "lookupPane": [ + 111 + ], + "local-6989586621679141102": [ + 111 + ], + "line-112": [ + 112 + ], + "line-113": [ + 113 + ], + "line-114": [ + 114 + ], + "line-115": [ + 115 + ], + "linksForSession": [ + 115 + ], + "local-6989586621679141104": [ + 115 + ], + "line-116": [ + 116 + ], + "line-117": [ + 117 + ], + "line-118": [ + 118 + ], + "line-119": [ + 119 + ], + "panesForWindow": [ + 119 + ], + "local-6989586621679141106": [ + 119 + ], + "line-120": [ + 120 + ], + "line-121": [ + 121 + ], + "line-122": [ + 122 + ], + "line-123": [ + 123 + ], + "line-124": [ + 124 + ], + "lookupSessionId": [ + 124 + ], + "local-6989586621679141108": [ + 124 + ], + "local-6989586621679141109": [ + 124 + ], + "line-125": [ + 125 + ], + "line-126": [ + 126 + ], + "line-127": [ + 127 + ], + "line-128": [ + 128 + ], + "lookupWindowId": [ + 128 + ], + "local-6989586621679141110": [ + 128 + ], + "local-6989586621679141111": [ + 128 + ], + "line-129": [ + 129 + ], + "line-130": [ + 130 + ], + "line-131": [ + 131 + ], + "line-132": [ + 132 + ], + "lookupPaneId": [ + 132 + ], + "local-6989586621679141112": [ + 132 + ], + "local-6989586621679141113": [ + 132 + ], + "line-133": [ + 133 + ], + "line-134": [ + 134 + ], + "line-135": [ + 135 + ], + "line-136": [ + 136 + ], + "labelFromBytes": [ + 136 + ], + "line-137": [ + 137 + ], + "line-138": [ + 138 + ], + "line-139": [ + 139 + ], + "line-140": [ + 140 + ], + "labelBytes": [ + 140 + ], + "line-141": [ + 141 + ], + "line-142": [ + 142 + ], + "line-143": [ + 143 + ], + "line-144": [ + 144 + ], + "labelText": [ + 144 + ], + "line-145": [ + 145 + ] + }, + "LibTmux.Snapshot.Fixture": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "line-36": [ + 36 + ], + "line-37": [ + 37 + ], + "FixtureOrigin": [ + 37, + 37 + ], + "line-38": [ + 38 + ], + "local-6989586621679141287": [ + 38 + ], + "local-6989586621679141291": [ + 38 + ], + "local-6989586621679141298": [ + 38 + ], + "local-6989586621679141302": [ + 38 + ], + "local-6989586621679141305": [ + 38 + ], + "local-6989586621679141309": [ + 38 + ], + "local-6989586621679141312": [ + 38 + ], + "local-6989586621679141315": [ + 38 + ], + "local-6989586621679141318": [ + 38 + ], + "local-6989586621679141326": [ + 38 + ], + "local-6989586621679141332": [ + 38 + ], + "local-6989586621679141336": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "line-41": [ + 41 + ], + "line-42": [ + 42 + ], + "fixtureOrigin": [ + 42 + ], + "line-43": [ + 43 + ], + "line-44": [ + 44 + ], + "line-45": [ + 45 + ], + "line-46": [ + 46 + ], + "line-47": [ + 47 + ], + "fixtureGeneration": [ + 47 + ], + "local-6989586621679141343": [ + 47 + ], + "line-48": [ + 48 + ], + "line-49": [ + 49 + ], + "line-50": [ + 50 + ], + "line-51": [ + 51 + ], + "sessionRef": [ + 51 + ], + "local-6989586621679141344": [ + 51 + ], + "line-52": [ + 52 + ], + "line-53": [ + 53 + ], + "line-54": [ + 54 + ], + "line-55": [ + 55 + ], + "windowRef": [ + 55 + ], + "local-6989586621679141346": [ + 55 + ], + "line-56": [ + 56 + ], + "line-57": [ + 57 + ], + "line-58": [ + 58 + ], + "line-59": [ + 59 + ], + "paneRef": [ + 59 + ], + "local-6989586621679141348": [ + 59 + ], + "line-60": [ + 60 + ], + "line-61": [ + 61 + ], + "line-62": [ + 62 + ], + "line-63": [ + 63 + ], + "Fixture": [ + 63, + 63 + ], + "line-64": [ + 64 + ], + "info": [ + 64 + ], + "line-65": [ + 65 + ], + "sessions": [ + 65 + ], + "line-66": [ + 66 + ], + "windows": [ + 66 + ], + "line-67": [ + 67 + ], + "panes": [ + 67 + ], + "line-68": [ + 68 + ], + "windowLinks": [ + 68 + ], + "line-69": [ + 69 + ], + "clients": [ + 69 + ], + "line-70": [ + 70 + ], + "line-71": [ + 71 + ], + "local-6989586621679141357": [ + 71 + ], + "local-6989586621679141372": [ + 71 + ], + "local-6989586621679141381": [ + 71 + ], + "local-6989586621679141397": [ + 71 + ], + "local-6989586621679141401": [ + 71 + ], + "line-72": [ + 72 + ], + "line-73": [ + 73 + ], + "line-74": [ + 74 + ], + "line-75": [ + 75 + ], + "line-76": [ + 76 + ], + "AttachedClient": [ + 76, + 76 + ], + "line-77": [ + 77 + ], + "name": [ + 77 + ], + "line-78": [ + 78 + ], + "pid": [ + 78 + ], + "line-79": [ + 79 + ], + "tty": [ + 79 + ], + "line-80": [ + 80 + ], + "session": [ + 80 + ], + "line-81": [ + 81 + ], + "window": [ + 81 + ], + "line-82": [ + 82 + ], + "index": [ + 82 + ], + "line-83": [ + 83 + ], + "pane": [ + 83 + ], + "line-84": [ + 84 + ], + "line-85": [ + 85 + ], + "local-6989586621679141417": [ + 85 + ], + "local-6989586621679141433": [ + 85 + ], + "local-6989586621679141436": [ + 85 + ], + "local-6989586621679141453": [ + 85 + ], + "local-6989586621679141456": [ + 85 + ], + "line-86": [ + 86 + ], + "line-87": [ + 87 + ], + "line-88": [ + 88 + ], + "line-89": [ + 89 + ], + "line-90": [ + 90 + ], + "line-91": [ + 91 + ], + "emptyFixture": [ + 91 + ], + "local-6989586621679141458": [ + 91 + ], + "local-6989586621679141459": [ + 91 + ], + "line-92": [ + 92 + ], + "line-93": [ + 93 + ], + "line-94": [ + 94 + ], + "line-95": [ + 95 + ], + "line-96": [ + 96 + ], + "line-97": [ + 97 + ], + "FixtureError": [ + 97 + ], + "line-98": [ + 98 + ], + "InvalidGraph": [ + 98 + ], + "line-99": [ + 99 + ], + "InvalidSnapshot": [ + 99 + ], + "line-100": [ + 100 + ], + "local-6989586621679141465": [ + 100 + ], + "local-6989586621679141473": [ + 100 + ], + "local-6989586621679141477": [ + 100 + ], + "local-6989586621679141484": [ + 100 + ], + "local-6989586621679141488": [ + 100 + ], + "line-101": [ + 101 + ], + "line-102": [ + 102 + ], + "line-103": [ + 103 + ], + "line-104": [ + 104 + ], + "line-105": [ + 105 + ], + "line-106": [ + 106 + ], + "validateFixture": [ + 106 + ], + "local-6989586621679141490": [ + 106 + ], + "local-6989586621679141491": [ + 106 + ], + "line-107": [ + 107 + ], + "local-6989586621679141492": [ + 107 + ], + "line-108": [ + 108 + ], + "line-109": [ + 109 + ], + "line-110": [ + 110 + ], + "local-6989586621679141496": [ + 110 + ], + "line-111": [ + 111 + ], + "line-112": [ + 112 + ], + "local-6989586621679141498": [ + 112 + ], + "line-113": [ + 113 + ], + "line-114": [ + 114 + ], + "line-115": [ + 115 + ] + }, + "LibTmux.Value": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "Dimension": [ + 35, + 35 + ], + "line-36": [ + 36 + ], + "local-6989586621679138669": [ + 36 + ], + "local-6989586621679138673": [ + 36 + ], + "local-6989586621679138680": [ + 36 + ], + "local-6989586621679138683": [ + 36 + ], + "local-6989586621679138686": [ + 36 + ], + "local-6989586621679138690": [ + 36 + ], + "local-6989586621679138693": [ + 36 + ], + "local-6989586621679138696": [ + 36 + ], + "local-6989586621679138699": [ + 36 + ], + "local-6989586621679138707": [ + 36 + ], + "local-6989586621679138713": [ + 36 + ], + "local-6989586621679138717": [ + 36 + ], + "line-37": [ + 37 + ], + "local-6989586621679138722": [ + 37 + ], + "line-38": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "line-41": [ + 41 + ], + "WindowIndex": [ + 41, + 41 + ], + "line-42": [ + 42 + ], + "local-6989586621679138731": [ + 42 + ], + "local-6989586621679138734": [ + 42 + ], + "local-6989586621679138740": [ + 42 + ], + "local-6989586621679138743": [ + 42 + ], + "local-6989586621679138746": [ + 42 + ], + "local-6989586621679138750": [ + 42 + ], + "local-6989586621679138753": [ + 42 + ], + "local-6989586621679138756": [ + 42 + ], + "local-6989586621679138759": [ + 42 + ], + "local-6989586621679138762": [ + 42 + ], + "local-6989586621679138766": [ + 42 + ], + "local-6989586621679138770": [ + 42 + ], + "line-43": [ + 43 + ], + "local-6989586621679138773": [ + 43 + ], + "line-44": [ + 44 + ], + "line-45": [ + 45 + ], + "line-46": [ + 46 + ], + "line-47": [ + 47 + ], + "PaneIndex": [ + 47, + 47 + ], + "line-48": [ + 48 + ], + "local-6989586621679138779": [ + 48 + ], + "local-6989586621679138782": [ + 48 + ], + "local-6989586621679138788": [ + 48 + ], + "local-6989586621679138791": [ + 48 + ], + "local-6989586621679138794": [ + 48 + ], + "local-6989586621679138798": [ + 48 + ], + "local-6989586621679138801": [ + 48 + ], + "local-6989586621679138804": [ + 48 + ], + "local-6989586621679138807": [ + 48 + ], + "local-6989586621679138810": [ + 48 + ], + "local-6989586621679138814": [ + 48 + ], + "local-6989586621679138818": [ + 48 + ], + "line-49": [ + 49 + ], + "local-6989586621679138821": [ + 49 + ], + "line-50": [ + 50 + ], + "line-51": [ + 51 + ], + "line-52": [ + 52 + ], + "ValueError": [ + 52 + ], + "line-53": [ + 53 + ], + "NonPositiveDimension": [ + 53 + ], + "line-54": [ + 54 + ], + "NegativeIndex": [ + 54 + ], + "line-55": [ + 55 + ], + "local-6989586621679138828": [ + 55 + ], + "local-6989586621679138835": [ + 55 + ], + "local-6989586621679138839": [ + 55 + ], + "local-6989586621679138845": [ + 55 + ], + "local-6989586621679138849": [ + 55 + ], + "line-56": [ + 56 + ], + "line-57": [ + 57 + ], + "line-58": [ + 58 + ], + "line-59": [ + 59 + ], + "mkDimension": [ + 59 + ], + "local-6989586621679138851": [ + 59 + ], + "line-60": [ + 60 + ], + "line-61": [ + 61 + ], + "line-62": [ + 62 + ], + "line-63": [ + 63 + ], + "line-64": [ + 64 + ], + "line-65": [ + 65 + ], + "mkWindowIndex": [ + 65 + ], + "local-6989586621679138852": [ + 65 + ], + "line-66": [ + 66 + ], + "line-67": [ + 67 + ], + "line-68": [ + 68 + ], + "line-69": [ + 69 + ], + "line-70": [ + 70 + ], + "line-71": [ + 71 + ], + "mkPaneIndex": [ + 71 + ], + "local-6989586621679138853": [ + 71 + ], + "line-72": [ + 72 + ], + "line-73": [ + 73 + ], + "line-74": [ + 74 + ], + "line-75": [ + 75 + ], + "line-76": [ + 76 + ], + "line-77": [ + 77 + ], + "dimensionValue": [ + 77 + ], + "local-6989586621679138854": [ + 77 + ], + "line-78": [ + 78 + ], + "line-79": [ + 79 + ], + "line-80": [ + 80 + ], + "line-81": [ + 81 + ], + "windowIndexValue": [ + 81 + ], + "local-6989586621679138855": [ + 81 + ], + "line-82": [ + 82 + ], + "line-83": [ + 83 + ], + "line-84": [ + 84 + ], + "line-85": [ + 85 + ], + "paneIndexValue": [ + 85 + ], + "local-6989586621679138856": [ + 85 + ], + "line-86": [ + 86 + ] + }, + "LibTmux.Version": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "TmuxVersion": [ + 31, + 31 + ], + "line-32": [ + 32 + ], + "local-6989586621679138988": [ + 32 + ], + "local-6989586621679138996": [ + 32 + ], + "local-6989586621679139004": [ + 32 + ], + "local-6989586621679139011": [ + 32 + ], + "local-6989586621679139016": [ + 32 + ], + "local-6989586621679139019": [ + 32 + ], + "local-6989586621679139022": [ + 32 + ], + "local-6989586621679139025": [ + 32 + ], + "local-6989586621679139028": [ + 32 + ], + "local-6989586621679139036": [ + 32 + ], + "local-6989586621679139044": [ + 32 + ], + "local-6989586621679139048": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "VersionError": [ + 35 + ], + "line-36": [ + 36 + ], + "MalformedVersion": [ + 36 + ], + "line-37": [ + 37 + ], + "UnsupportedVersion": [ + 37 + ], + "line-38": [ + 38 + ], + "local-6989586621679139056": [ + 38 + ], + "local-6989586621679139064": [ + 38 + ], + "local-6989586621679139068": [ + 38 + ], + "local-6989586621679139075": [ + 38 + ], + "local-6989586621679139079": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "line-41": [ + 41 + ], + "line-42": [ + 42 + ], + "line-43": [ + 43 + ], + "line-44": [ + 44 + ], + "parseVersion": [ + 44 + ], + "local-6989586621679139081": [ + 44 + ], + "line-45": [ + 45 + ], + "line-46": [ + 46 + ], + "line-47": [ + 47 + ], + "line-48": [ + 48 + ], + "local-6989586621679139083": [ + 48 + ], + "line-49": [ + 49 + ], + "local-6989586621679139088": [ + 49 + ], + "line-50": [ + 50 + ], + "local-6989586621679139090": [ + 50 + ], + "line-51": [ + 51 + ], + "local-6989586621679139085": [ + 51 + ], + "line-52": [ + 52 + ], + "local-6989586621679139092": [ + 52 + ], + "local-6989586621679139093": [ + 52 + ], + "line-53": [ + 53 + ], + "local-6989586621679139095": [ + 53 + ], + "line-54": [ + 54 + ], + "local-6989586621679139096": [ + 54 + ], + "local-6989586621679139097": [ + 54 + ], + "line-55": [ + 55 + ], + "local-6989586621679139100": [ + 55 + ], + "line-56": [ + 56 + ], + "local-6989586621679139102": [ + 56 + ], + "line-57": [ + 57 + ], + "local-6989586621679139103": [ + 57 + ], + "line-58": [ + 58 + ], + "line-59": [ + 59 + ], + "local-6989586621679139105": [ + 59 + ], + "line-60": [ + 60 + ], + "line-61": [ + 61 + ], + "line-62": [ + 62 + ], + "line-63": [ + 63 + ], + "local-6989586621679139101": [ + 63 + ], + "local-6989586621679139109": [ + 63 + ], + "line-64": [ + 64 + ], + "line-65": [ + 65 + ], + "local-6989586621679139111": [ + 65 + ], + "line-66": [ + 66 + ], + "line-67": [ + 67 + ], + "line-68": [ + 68 + ], + "line-69": [ + 69 + ], + "local-6989586621679139099": [ + 69 + ], + "local-6989586621679139117": [ + 69 + ], + "line-70": [ + 70 + ], + "line-71": [ + 71 + ], + "line-72": [ + 72 + ], + "line-73": [ + 73 + ], + "renderVersion": [ + 73 + ], + "local-6989586621679139118": [ + 73 + ], + "local-6989586621679139119": [ + 73 + ], + "local-6989586621679139120": [ + 73 + ], + "line-74": [ + 74 + ], + "line-75": [ + 75 + ], + "line-76": [ + 76 + ], + "line-77": [ + 77 + ], + "line-78": [ + 78 + ], + "line-79": [ + 79 + ], + "line-80": [ + 80 + ], + "requireSupported": [ + 80 + ], + "local-6989586621679139123": [ + 80 + ], + "line-81": [ + 81 + ], + "line-82": [ + 82 + ], + "line-83": [ + 83 + ] + }, + "LibTmux.Internal.Capture": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "line-36": [ + 36 + ], + "line-37": [ + 37 + ], + "CapturedGraph": [ + 37 + ], + "line-38": [ + 38 + ], + "CapturedSnapshot": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "CaptureError": [ + 40 + ], + "line-41": [ + 41 + ], + "CaptureChanged": [ + 41 + ], + "CaptureDeadline": [ + 41 + ], + "InvalidCaptureDeadline": [ + 41 + ], + "line-42": [ + 42 + ], + "CaptureByteLimit": [ + 42 + ], + "InvalidCapturedField": [ + 42 + ], + "line-43": [ + 43 + ], + "CaptureReadUnavailable": [ + 43 + ], + "line-44": [ + 44 + ], + "local-6989586621679149483": [ + 44 + ], + "local-6989586621679149496": [ + 44 + ], + "local-6989586621679149501": [ + 44 + ], + "local-6989586621679149515": [ + 44 + ], + "local-6989586621679149519": [ + 44 + ], + "line-45": [ + 45 + ], + "local-6989586621679149528": [ + 45 + ], + "local-6989586621679149531": [ + 45 + ], + "local-6989586621679149534": [ + 45 + ], + "local-6989586621679149537": [ + 45 + ], + "line-46": [ + 46 + ], + "line-47": [ + 47 + ], + "line-48": [ + 48 + ], + "line-49": [ + 49 + ], + "CaptureRecovery": [ + 49, + 49 + ], + "line-50": [ + 50 + ], + "local-6989586621679149542": [ + 50 + ], + "local-6989586621679149546": [ + 50 + ], + "line-51": [ + 51 + ], + "local-6989586621679149552": [ + 51 + ], + "local-6989586621679149553": [ + 51 + ], + "local-6989586621679149554": [ + 51 + ], + "line-52": [ + 52 + ], + "line-53": [ + 53 + ], + "local-6989586621679149563": [ + 53 + ], + "line-54": [ + 54 + ], + "line-55": [ + 55 + ], + "line-56": [ + 56 + ], + "captureRecoveries": [ + 56 + ], + "line-57": [ + 57 + ], + "line-58": [ + 58 + ], + "line-59": [ + 59 + ], + "recoveryReceipt": [ + 59 + ], + "local-6989586621679149568": [ + 59 + ], + "line-60": [ + 60 + ], + "line-61": [ + 61 + ], + "line-62": [ + 62 + ], + "inspectRecovery": [ + 62 + ], + "local-6989586621679149569": [ + 62 + ], + "local-6989586621679149570": [ + 62 + ], + "local-6989586621679149571": [ + 62 + ], + "line-63": [ + 63 + ], + "line-64": [ + 64 + ], + "line-65": [ + 65 + ], + "line-66": [ + 66 + ], + "line-67": [ + 67 + ], + "resumeRecovery": [ + 67 + ], + "local-6989586621679149573": [ + 67 + ], + "local-6989586621679149574": [ + 67 + ], + "local-6989586621679149575": [ + 67 + ], + "line-68": [ + 68 + ], + "line-69": [ + 69 + ], + "line-70": [ + 70 + ], + "line-71": [ + 71 + ], + "detachRecovery": [ + 71 + ], + "local-6989586621679149577": [ + 71 + ], + "local-6989586621679149578": [ + 71 + ], + "local-6989586621679149579": [ + 71 + ], + "line-72": [ + 72 + ], + "line-73": [ + 73 + ], + "line-74": [ + 74 + ], + "captureGraph": [ + 74 + ], + "local-6989586621679149581": [ + 74 + ], + "local-6989586621679149582": [ + 74 + ], + "local-6989586621679149583": [ + 74 + ], + "local-6989586621679149584": [ + 74 + ], + "local-6989586621679149586": [ + 74 + ], + "local-6989586621679149587": [ + 74 + ], + "line-75": [ + 75 + ], + "local-6989586621679149588": [ + 75 + ], + "line-76": [ + 76 + ], + "line-77": [ + 77 + ], + "line-78": [ + 78 + ], + "line-79": [ + 79 + ], + "captureSnapshot": [ + 79 + ], + "line-80": [ + 80 + ], + "line-81": [ + 81 + ], + "line-82": [ + 82 + ], + "line-83": [ + 83 + ], + "line-84": [ + 84 + ], + "captureSnapshotWith": [ + 84 + ], + "local-6989586621679149593": [ + 84 + ], + "local-6989586621679149594": [ + 84 + ], + "local-6989586621679149595": [ + 84 + ], + "local-6989586621679149596": [ + 84 + ], + "local-6989586621679149597": [ + 84 + ], + "local-6989586621679149598": [ + 84 + ], + "local-6989586621679149599": [ + 84 + ], + "line-85": [ + 85 + ], + "local-6989586621679149600": [ + 85 + ], + "line-86": [ + 86 + ], + "line-87": [ + 87 + ], + "line-88": [ + 88 + ], + "line-89": [ + 89 + ], + "line-90": [ + 90 + ], + "line-91": [ + 91 + ], + "captureGraphWith": [ + 91 + ], + "local-6989586621679149602": [ + 91 + ], + "local-6989586621679149603": [ + 91 + ], + "local-6989586621679149604": [ + 91 + ], + "local-6989586621679149605": [ + 91 + ], + "local-6989586621679149606": [ + 91 + ], + "line-92": [ + 92 + ], + "local-6989586621679149607": [ + 92 + ], + "local-6989586621679149608": [ + 92 + ], + "line-93": [ + 93 + ], + "line-94": [ + 94 + ], + "local-6989586621679149611": [ + 94 + ], + "line-95": [ + 95 + ], + "line-96": [ + 96 + ], + "local-6989586621679149610": [ + 96 + ], + "local-6989586621679149613": [ + 96 + ], + "local-6989586621679149614": [ + 96 + ], + "local-6989586621679149615": [ + 96 + ], + "line-97": [ + 97 + ], + "local-6989586621679149618": [ + 97 + ], + "line-98": [ + 98 + ], + "line-99": [ + 99 + ], + "line-100": [ + 100 + ], + "local-6989586621679149620": [ + 100 + ], + "line-101": [ + 101 + ], + "line-102": [ + 102 + ], + "line-103": [ + 103 + ], + "local-6989586621679149622": [ + 103 + ], + "line-104": [ + 104 + ], + "line-105": [ + 105 + ], + "line-106": [ + 106 + ], + "line-107": [ + 107 + ], + "local-6989586621679149619": [ + 107 + ], + "local-6989586621679149624": [ + 107 + ], + "local-6989586621679149625": [ + 107 + ], + "local-6989586621679149626": [ + 107 + ], + "line-108": [ + 108 + ], + "line-109": [ + 109 + ], + "line-110": [ + 110 + ], + "local-6989586621679149616": [ + 110 + ], + "local-6989586621679149627": [ + 110 + ], + "local-6989586621679149628": [ + 110 + ], + "line-111": [ + 111 + ], + "local-6989586621679149629": [ + 111 + ], + "line-112": [ + 112 + ], + "local-6989586621679149631": [ + 112 + ], + "local-6989586621679149632": [ + 112 + ], + "line-113": [ + 113 + ], + "local-6989586621679149633": [ + 113 + ], + "line-114": [ + 114 + ], + "local-6989586621679149635": [ + 114 + ], + "line-115": [ + 115 + ], + "line-116": [ + 116 + ], + "line-117": [ + 117 + ], + "local-6989586621679149639": [ + 117 + ], + "line-118": [ + 118 + ], + "local-6989586621679149640": [ + 118 + ], + "line-119": [ + 119 + ], + "local-6989586621679149641": [ + 119 + ], + "line-120": [ + 120 + ], + "line-121": [ + 121 + ], + "local-6989586621679149645": [ + 121 + ], + "line-122": [ + 122 + ], + "line-123": [ + 123 + ], + "line-124": [ + 124 + ], + "line-125": [ + 125 + ], + "line-126": [ + 126 + ], + "local-6989586621679149653": [ + 126 + ], + "local-6989586621679149654": [ + 126 + ], + "line-127": [ + 127 + ], + "local-6989586621679149655": [ + 127 + ], + "line-128": [ + 128 + ], + "local-6989586621679149656": [ + 128 + ], + "line-129": [ + 129 + ], + "line-130": [ + 130 + ], + "line-131": [ + 131 + ], + "local-6989586621679149262": [ + 131 + ], + "local-6989586621679149263": [ + 131 + ], + "line-132": [ + 132 + ], + "local-6989586621679149658": [ + 132 + ], + "local-6989586621679149664": [ + 132 + ], + "local-6989586621679149665": [ + 132 + ], + "line-133": [ + 133 + ], + "local-6989586621679149666": [ + 133 + ], + "line-134": [ + 134 + ], + "line-135": [ + 135 + ], + "local-6989586621679149668": [ + 135 + ], + "line-136": [ + 136 + ], + "local-6989586621679149669": [ + 136 + ], + "local-6989586621679149670": [ + 136 + ], + "line-137": [ + 137 + ], + "local-6989586621679149671": [ + 137 + ], + "line-138": [ + 138 + ], + "line-139": [ + 139 + ], + "local-6989586621679149677": [ + 139 + ], + "local-6989586621679149678": [ + 139 + ], + "line-140": [ + 140 + ], + "local-6989586621679149679": [ + 140 + ], + "line-141": [ + 141 + ], + "line-142": [ + 142 + ], + "local-6989586621679149684": [ + 142 + ], + "local-6989586621679149685": [ + 142 + ], + "line-143": [ + 143 + ], + "local-6989586621679149686": [ + 143 + ], + "line-144": [ + 144 + ], + "local-6989586621679149688": [ + 144 + ], + "line-145": [ + 145 + ], + "local-6989586621679149691": [ + 145 + ], + "line-146": [ + 146 + ], + "local-6989586621679149694": [ + 146 + ], + "line-147": [ + 147 + ], + "line-148": [ + 148 + ], + "line-149": [ + 149 + ], + "local-6989586621679149700": [ + 149 + ], + "line-150": [ + 150 + ], + "line-151": [ + 151 + ], + "local-6989586621679149702": [ + 151 + ], + "line-152": [ + 152 + ], + "line-153": [ + 153 + ], + "line-154": [ + 154 + ], + "line-155": [ + 155 + ], + "local-6989586621679149225": [ + 155 + ], + "line-156": [ + 156 + ], + "line-157": [ + 157 + ], + "withinDeadline": [ + 157 + ], + "local-6989586621679149755": [ + 157 + ], + "local-6989586621679149756": [ + 157 + ], + "local-6989586621679149757": [ + 157 + ], + "local-6989586621679149758": [ + 157 + ], + "local-6989586621679149759": [ + 157 + ], + "line-158": [ + 158 + ], + "line-159": [ + 159 + ], + "local-6989586621679149762": [ + 159 + ], + "line-160": [ + 160 + ], + "local-6989586621679149763": [ + 160 + ], + "local-6989586621679149765": [ + 160 + ], + "local-6989586621679149766": [ + 160 + ], + "line-161": [ + 161 + ], + "local-6989586621679149767": [ + 161 + ], + "line-162": [ + 162 + ], + "local-6989586621679149768": [ + 162 + ], + "line-163": [ + 163 + ], + "local-6989586621679149769": [ + 163 + ], + "line-164": [ + 164 + ], + "line-165": [ + 165 + ], + "local-6989586621679149770": [ + 165 + ], + "line-166": [ + 166 + ], + "line-167": [ + 167 + ], + "local-6989586621679149771": [ + 167 + ], + "line-168": [ + 168 + ], + "local-6989586621679149772": [ + 168 + ], + "line-169": [ + 169 + ], + "line-170": [ + 170 + ], + "line-171": [ + 171 + ], + "line-172": [ + 172 + ], + "line-173": [ + 173 + ], + "local-6989586621679149774": [ + 173 + ], + "local-6989586621679149775": [ + 173 + ], + "line-174": [ + 174 + ], + "local-6989586621679149776": [ + 174 + ], + "line-175": [ + 175 + ], + "local-6989586621679149777": [ + 175 + ], + "line-176": [ + 176 + ], + "line-177": [ + 177 + ], + "local-6989586621679149780": [ + 177 + ], + "line-178": [ + 178 + ], + "local-6989586621679149781": [ + 178 + ], + "line-179": [ + 179 + ], + "local-6989586621679149782": [ + 179 + ], + "line-180": [ + 180 + ], + "local-6989586621679149783": [ + 180 + ], + "line-181": [ + 181 + ], + "local-6989586621679149785": [ + 181 + ], + "line-182": [ + 182 + ], + "line-183": [ + 183 + ], + "line-184": [ + 184 + ], + "line-185": [ + 185 + ], + "local-6989586621679149231": [ + 185 + ], + "line-186": [ + 186 + ], + "owned": [ + 186 + ], + "local-6989586621679149802": [ + 186 + ], + "local-6989586621679149803": [ + 186 + ], + "local-6989586621679149804": [ + 186 + ], + "local-6989586621679149805": [ + 186 + ], + "line-187": [ + 187 + ], + "line-188": [ + 188 + ], + "local-6989586621679149806": [ + 188 + ], + "local-6989586621679149807": [ + 188 + ], + "local-6989586621679149808": [ + 188 + ], + "line-189": [ + 189 + ], + "line-190": [ + 190 + ], + "line-191": [ + 191 + ], + "line-192": [ + 192 + ], + "local-6989586621679149809": [ + 192 + ], + "line-193": [ + 193 + ], + "line-194": [ + 194 + ], + "line-195": [ + 195 + ], + "local-6989586621679149810": [ + 195 + ], + "line-196": [ + 196 + ], + "line-197": [ + 197 + ], + "local-6989586621679149812": [ + 197 + ], + "line-198": [ + 198 + ], + "line-199": [ + 199 + ], + "local-6989586621679149816": [ + 199 + ], + "line-200": [ + 200 + ], + "local-6989586621679149818": [ + 200 + ], + "line-201": [ + 201 + ], + "local-6989586621679149819": [ + 201 + ], + "line-202": [ + 202 + ], + "line-203": [ + 203 + ], + "line-204": [ + 204 + ], + "remaining": [ + 204 + ], + "local-6989586621679149820": [ + 204 + ], + "line-205": [ + 205 + ], + "local-6989586621679149821": [ + 205 + ], + "line-206": [ + 206 + ], + "line-207": [ + 207 + ], + "line-208": [ + 208 + ] + }, + "LibTmux.Internal.Field": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "Field": [ + 29 + ], + "local-6989586621679143537": [ + 29 + ], + "local-6989586621679143538": [ + 29 + ], + "line-30": [ + 30 + ], + "ServerPid": [ + 30 + ], + "line-31": [ + 31 + ], + "ServerStartedAt": [ + 31 + ], + "line-32": [ + 32 + ], + "ServerVersion": [ + 32 + ], + "line-33": [ + 33 + ], + "ServerSocketPath": [ + 33 + ], + "line-34": [ + 34 + ], + "ClientName": [ + 34 + ], + "line-35": [ + 35 + ], + "ClientPid": [ + 35 + ], + "line-36": [ + 36 + ], + "ClientTty": [ + 36 + ], + "line-37": [ + 37 + ], + "ClientSession": [ + 37 + ], + "line-38": [ + 38 + ], + "ClientWindow": [ + 38 + ], + "line-39": [ + 39 + ], + "ClientWindowIndex": [ + 39 + ], + "line-40": [ + 40 + ], + "ClientPane": [ + 40 + ], + "line-41": [ + 41 + ], + "SessionId": [ + 41 + ], + "line-42": [ + 42 + ], + "SessionName": [ + 42 + ], + "line-43": [ + 43 + ], + "SessionAttached": [ + 43 + ], + "line-44": [ + 44 + ], + "WindowId": [ + 44 + ], + "line-45": [ + 45 + ], + "WindowName": [ + 45 + ], + "line-46": [ + 46 + ], + "WindowWidth": [ + 46 + ], + "line-47": [ + 47 + ], + "WindowHeight": [ + 47 + ], + "line-48": [ + 48 + ], + "PaneId": [ + 48 + ], + "line-49": [ + 49 + ], + "PaneWindow": [ + 49 + ], + "line-50": [ + 50 + ], + "PaneIndex": [ + 50 + ], + "line-51": [ + 51 + ], + "PaneWidth": [ + 51 + ], + "line-52": [ + 52 + ], + "PaneHeight": [ + 52 + ], + "line-53": [ + 53 + ], + "PaneActive": [ + 53 + ], + "line-54": [ + 54 + ], + "PaneDead": [ + 54 + ], + "line-55": [ + 55 + ], + "PaneTitle": [ + 55 + ], + "line-56": [ + 56 + ], + "PaneCommand": [ + 56 + ], + "line-57": [ + 57 + ], + "PanePath": [ + 57 + ], + "line-58": [ + 58 + ], + "LinkSession": [ + 58 + ], + "line-59": [ + 59 + ], + "LinkWindow": [ + 59 + ], + "line-60": [ + 60 + ], + "LinkIndex": [ + 60 + ], + "line-61": [ + 61 + ], + "LinkActive": [ + 61 + ], + "line-62": [ + 62 + ], + "line-63": [ + 63 + ], + "line-64": [ + 64 + ], + "SomeField": [ + 64, + 65 + ], + "line-65": [ + 65 + ], + "local-6989586621679143571": [ + 65 + ], + "local-6989586621679143572": [ + 65 + ], + "line-66": [ + 66 + ], + "line-67": [ + 67 + ], + "line-68": [ + 68 + ], + "catalogue": [ + 68 + ], + "line-69": [ + 69 + ], + "line-70": [ + 70 + ], + "line-71": [ + 71 + ], + "line-72": [ + 72 + ], + "line-73": [ + 73 + ], + "line-74": [ + 74 + ], + "line-75": [ + 75 + ], + "line-76": [ + 76 + ], + "line-77": [ + 77 + ], + "line-78": [ + 78 + ], + "line-79": [ + 79 + ], + "line-80": [ + 80 + ], + "line-81": [ + 81 + ], + "WireType": [ + 81 + ], + "local-6989586621679143574": [ + 81 + ], + "line-82": [ + 82 + ], + "SessionIdValue": [ + 82 + ], + "line-83": [ + 83 + ], + "WindowIdValue": [ + 83 + ], + "line-84": [ + 84 + ], + "PaneIdValue": [ + 84 + ], + "line-85": [ + 85 + ], + "TextValue": [ + 85 + ], + "line-86": [ + 86 + ], + "LabelValue": [ + 86 + ], + "line-87": [ + 87 + ], + "PosixStringValue": [ + 87 + ], + "line-88": [ + 88 + ], + "PosixPathValue": [ + 88 + ], + "line-89": [ + 89 + ], + "NonEmptyPosixStringValue": [ + 89 + ], + "line-90": [ + 90 + ], + "NonEmptyPosixPathValue": [ + 90 + ], + "line-91": [ + 91 + ], + "OptionalPosixPathValue": [ + 91 + ], + "line-92": [ + 92 + ], + "ProcessIdValue": [ + 92 + ], + "line-93": [ + 93 + ], + "EpochSecondsValue": [ + 93 + ], + "line-94": [ + 94 + ], + "VersionValue": [ + 94 + ], + "line-95": [ + 95 + ], + "DimensionValue": [ + 95 + ], + "line-96": [ + 96 + ], + "PaneIndexValue": [ + 96 + ], + "line-97": [ + 97 + ], + "WindowIndexValue": [ + 97 + ], + "line-98": [ + 98 + ], + "AttachedCountValue": [ + 98 + ], + "line-99": [ + 99 + ], + "BooleanValue": [ + 99 + ], + "line-100": [ + 100 + ], + "line-101": [ + 101 + ], + "Descriptor": [ + 101, + 101 + ], + "local-6989586621679143459": [ + 101 + ], + "local-6989586621679143458": [ + 101 + ], + "line-102": [ + 102 + ], + "line-103": [ + 103 + ], + "local-6989586621679143445": [ + 103 + ], + "local-6989586621679143446": [ + 103 + ], + "line-104": [ + 104 + ], + "descriptor": [ + 104 + ], + "line-105": [ + 105 + ], + "line-106": [ + 106 + ], + "line-107": [ + 107 + ], + "line-108": [ + 108 + ], + "line-109": [ + 109 + ], + "line-110": [ + 110 + ], + "line-111": [ + 111 + ], + "line-112": [ + 112 + ], + "local-6989586621679143647": [ + 112 + ], + "line-113": [ + 113 + ], + "local-6989586621679143656": [ + 113 + ], + "line-114": [ + 114 + ], + "local-6989586621679143667": [ + 114 + ], + "line-115": [ + 115 + ], + "local-6989586621679143676": [ + 115 + ], + "line-116": [ + 116 + ], + "line-117": [ + 117 + ], + "line-118": [ + 118 + ], + "line-119": [ + 119 + ], + "line-120": [ + 120 + ], + "line-121": [ + 121 + ], + "line-122": [ + 122 + ], + "line-123": [ + 123 + ], + "line-124": [ + 124 + ], + "line-125": [ + 125 + ], + "line-126": [ + 126 + ], + "line-127": [ + 127 + ], + "line-128": [ + 128 + ], + "line-129": [ + 129 + ], + "line-130": [ + 130 + ], + "line-131": [ + 131 + ], + "line-132": [ + 132 + ], + "line-133": [ + 133 + ], + "line-134": [ + 134 + ], + "line-135": [ + 135 + ], + "line-136": [ + 136 + ], + "line-137": [ + 137 + ], + "line-138": [ + 138 + ], + "line-139": [ + 139 + ], + "sessionId": [ + 139 + ], + "local-6989586621679143806": [ + 139 + ], + "line-140": [ + 140 + ], + "line-141": [ + 141 + ], + "line-142": [ + 142 + ], + "windowId": [ + 142 + ], + "local-6989586621679143808": [ + 142 + ], + "line-143": [ + 143 + ], + "line-144": [ + 144 + ], + "line-145": [ + 145 + ], + "paneId": [ + 145 + ], + "local-6989586621679143810": [ + 145 + ], + "line-146": [ + 146 + ], + "line-147": [ + 147 + ], + "line-148": [ + 148 + ], + "local-6989586621679143469": [ + 148 + ], + "local-6989586621679143470": [ + 148 + ], + "line-149": [ + 149 + ], + "fieldKey": [ + 149 + ], + "local-6989586621679143811": [ + 149 + ], + "local-6989586621679143812": [ + 149 + ], + "line-150": [ + 150 + ], + "line-151": [ + 151 + ], + "line-152": [ + 152 + ], + "local-6989586621679143473": [ + 152 + ], + "local-6989586621679143474": [ + 152 + ], + "line-153": [ + 153 + ], + "formatVariable": [ + 153 + ], + "local-6989586621679143813": [ + 153 + ], + "local-6989586621679143814": [ + 153 + ], + "line-154": [ + 154 + ], + "line-155": [ + 155 + ], + "line-156": [ + 156 + ], + "local-6989586621679143477": [ + 156 + ], + "local-6989586621679143478": [ + 156 + ], + "line-157": [ + 157 + ], + "wireType": [ + 157 + ], + "local-6989586621679143815": [ + 157 + ], + "local-6989586621679143816": [ + 157 + ], + "line-158": [ + 158 + ], + "line-159": [ + 159 + ], + "line-160": [ + 160 + ], + "line-161": [ + 161 + ], + "local-6989586621679143817": [ + 161 + ], + "local-6989586621679143818": [ + 161 + ], + "line-162": [ + 162 + ], + "minimumTmux": [ + 162 + ], + "line-163": [ + 163 + ], + "line-164": [ + 164 + ], + "line-165": [ + 165 + ], + "local-6989586621679143483": [ + 165 + ], + "local-6989586621679143484": [ + 165 + ], + "line-166": [ + 166 + ], + "project": [ + 166 + ], + "local-6989586621679143820": [ + 166 + ], + "local-6989586621679143821": [ + 166 + ], + "line-167": [ + 167 + ], + "line-168": [ + 168 + ], + "line-169": [ + 169 + ], + "FieldError": [ + 169, + 169 + ], + "line-170": [ + 170 + ], + "local-6989586621679143824": [ + 170 + ], + "local-6989586621679143830": [ + 170 + ], + "local-6989586621679143835": [ + 170 + ], + "local-6989586621679143843": [ + 170 + ], + "local-6989586621679143847": [ + 170 + ], + "line-171": [ + 171 + ], + "line-172": [ + 172 + ], + "FieldFailure": [ + 172 + ], + "InvalidSyntax": [ + 172 + ], + "InvalidEncoding": [ + 172 + ], + "UnexpectedNul": [ + 172 + ], + "ValueTooLarge": [ + 172 + ], + "line-173": [ + 173 + ], + "local-6989586621679143856": [ + 173 + ], + "local-6989586621679143863": [ + 173 + ], + "local-6989586621679143866": [ + 173 + ], + "local-6989586621679143871": [ + 173 + ], + "local-6989586621679143874": [ + 173 + ], + "line-174": [ + 174 + ], + "line-175": [ + 175 + ], + "line-176": [ + 176 + ], + "line-177": [ + 177 + ], + "line-178": [ + 178 + ], + "local-6989586621679143494": [ + 178 + ], + "local-6989586621679143495": [ + 178 + ], + "line-179": [ + 179 + ], + "decodeField": [ + 179 + ], + "local-6989586621679143881": [ + 179 + ], + "local-6989586621679143882": [ + 179 + ], + "line-180": [ + 180 + ], + "line-181": [ + 181 + ], + "line-182": [ + 182 + ], + "line-183": [ + 183 + ], + "line-184": [ + 184 + ], + "local-6989586621679143885": [ + 184 + ], + "line-185": [ + 185 + ], + "line-186": [ + 186 + ], + "local-6989586621679143505": [ + 186 + ], + "line-187": [ + 187 + ], + "decodeValue": [ + 187 + ], + "local-6989586621679143900": [ + 187 + ], + "local-6989586621679143901": [ + 187 + ], + "line-188": [ + 188 + ], + "line-189": [ + 189 + ], + "line-190": [ + 190 + ], + "line-191": [ + 191 + ], + "line-192": [ + 192 + ], + "line-193": [ + 193 + ], + "line-194": [ + 194 + ], + "line-195": [ + 195 + ], + "line-196": [ + 196 + ], + "line-197": [ + 197 + ], + "line-198": [ + 198 + ], + "line-199": [ + 199 + ], + "local-6989586621679143932": [ + 199 + ], + "line-200": [ + 200 + ], + "line-201": [ + 201 + ], + "line-202": [ + 202 + ], + "line-203": [ + 203 + ], + "line-204": [ + 204 + ], + "line-205": [ + 205 + ], + "line-206": [ + 206 + ], + "line-207": [ + 207 + ], + "line-208": [ + 208 + ], + "line-209": [ + 209 + ], + "line-210": [ + 210 + ], + "line-211": [ + 211 + ], + "line-212": [ + 212 + ], + "line-213": [ + 213 + ], + "local-6989586621679143508": [ + 213 + ], + "local-6989586621679143509": [ + 213 + ], + "line-214": [ + 214 + ], + "local-6989586621679143903": [ + 214 + ], + "local-6989586621679143960": [ + 214 + ], + "line-215": [ + 215 + ], + "line-216": [ + 216 + ], + "line-217": [ + 217 + ], + "line-218": [ + 218 + ], + "local-6989586621679143933": [ + 218 + ], + "line-219": [ + 219 + ], + "line-220": [ + 220 + ], + "local-6989586621679143936": [ + 220 + ], + "local-6989586621679143961": [ + 220 + ], + "local-6989586621679143962": [ + 220 + ], + "line-221": [ + 221 + ], + "line-222": [ + 222 + ], + "local-6989586621679143966": [ + 222 + ], + "line-223": [ + 223 + ], + "line-224": [ + 224 + ], + "local-6989586621679143970": [ + 224 + ], + "line-225": [ + 225 + ], + "line-226": [ + 226 + ], + "local-6989586621679143523": [ + 226 + ], + "local-6989586621679143524": [ + 226 + ], + "line-227": [ + 227 + ], + "local-6989586621679143944": [ + 227 + ], + "local-6989586621679143971": [ + 227 + ], + "line-228": [ + 228 + ] + }, + "LibTmux.Internal.Graph": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "line-36": [ + 36 + ], + "line-37": [ + 37 + ], + "line-38": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "EndpointIdentity": [ + 40, + 40 + ], + "line-41": [ + 41 + ], + "local-6989586621679139570": [ + 41 + ], + "local-6989586621679139575": [ + 41 + ], + "local-6989586621679139582": [ + 41 + ], + "local-6989586621679139586": [ + 41 + ], + "local-6989586621679139590": [ + 41 + ], + "local-6989586621679139594": [ + 41 + ], + "local-6989586621679139597": [ + 41 + ], + "local-6989586621679139600": [ + 41 + ], + "local-6989586621679139603": [ + 41 + ], + "local-6989586621679139611": [ + 41 + ], + "local-6989586621679139618": [ + 41 + ], + "local-6989586621679139622": [ + 41 + ], + "line-42": [ + 42 + ], + "line-43": [ + 43 + ], + "local-6989586621679139632": [ + 43 + ], + "local-6989586621679139633": [ + 43 + ], + "local-6989586621679139634": [ + 43 + ], + "line-44": [ + 44 + ], + "line-45": [ + 45 + ], + "line-46": [ + 46 + ], + "line-47": [ + 47 + ], + "Generation": [ + 47, + 47 + ], + "line-48": [ + 48 + ], + "FixtureGeneration": [ + 48 + ], + "line-49": [ + 49 + ], + "local-6989586621679139638": [ + 49 + ], + "local-6989586621679139648": [ + 49 + ], + "local-6989586621679139653": [ + 49 + ], + "local-6989586621679139660": [ + 49 + ], + "local-6989586621679139665": [ + 49 + ], + "local-6989586621679139669": [ + 49 + ], + "local-6989586621679139672": [ + 49 + ], + "local-6989586621679139675": [ + 49 + ], + "local-6989586621679139678": [ + 49 + ], + "local-6989586621679139681": [ + 49 + ], + "local-6989586621679139690": [ + 49 + ], + "local-6989586621679139694": [ + 49 + ], + "line-50": [ + 50 + ], + "line-51": [ + 51 + ], + "local-6989586621679139703": [ + 51 + ], + "local-6989586621679139704": [ + 51 + ], + "local-6989586621679139705": [ + 51 + ], + "line-52": [ + 52 + ], + "local-6989586621679139706": [ + 52 + ], + "line-53": [ + 53 + ], + "line-54": [ + 54 + ], + "line-55": [ + 55 + ], + "line-56": [ + 56 + ], + "SessionRef": [ + 56, + 56 + ], + "line-57": [ + 57 + ], + "local-6989586621679139709": [ + 57 + ], + "local-6989586621679139714": [ + 57 + ], + "local-6989586621679139720": [ + 57 + ], + "local-6989586621679139725": [ + 57 + ], + "local-6989586621679139729": [ + 57 + ], + "local-6989586621679139732": [ + 57 + ], + "local-6989586621679139735": [ + 57 + ], + "local-6989586621679139738": [ + 57 + ], + "local-6989586621679139741": [ + 57 + ], + "local-6989586621679139744": [ + 57 + ], + "local-6989586621679139750": [ + 57 + ], + "local-6989586621679139754": [ + 57 + ], + "line-58": [ + 58 + ], + "line-59": [ + 59 + ], + "local-6989586621679139761": [ + 59 + ], + "local-6989586621679139762": [ + 59 + ], + "local-6989586621679139763": [ + 59 + ], + "line-60": [ + 60 + ], + "line-61": [ + 61 + ], + "line-62": [ + 62 + ], + "line-63": [ + 63 + ], + "WindowRef": [ + 63, + 63 + ], + "line-64": [ + 64 + ], + "local-6989586621679139767": [ + 64 + ], + "local-6989586621679139772": [ + 64 + ], + "local-6989586621679139777": [ + 64 + ], + "local-6989586621679139782": [ + 64 + ], + "local-6989586621679139786": [ + 64 + ], + "local-6989586621679139789": [ + 64 + ], + "local-6989586621679139792": [ + 64 + ], + "local-6989586621679139795": [ + 64 + ], + "local-6989586621679139798": [ + 64 + ], + "local-6989586621679139801": [ + 64 + ], + "local-6989586621679139807": [ + 64 + ], + "local-6989586621679139811": [ + 64 + ], + "line-65": [ + 65 + ], + "line-66": [ + 66 + ], + "local-6989586621679139818": [ + 66 + ], + "local-6989586621679139819": [ + 66 + ], + "local-6989586621679139820": [ + 66 + ], + "line-67": [ + 67 + ], + "line-68": [ + 68 + ], + "line-69": [ + 69 + ], + "line-70": [ + 70 + ], + "PaneRef": [ + 70, + 70 + ], + "line-71": [ + 71 + ], + "local-6989586621679139824": [ + 71 + ], + "local-6989586621679139829": [ + 71 + ], + "local-6989586621679139835": [ + 71 + ], + "local-6989586621679139840": [ + 71 + ], + "local-6989586621679139844": [ + 71 + ], + "local-6989586621679139847": [ + 71 + ], + "local-6989586621679139850": [ + 71 + ], + "local-6989586621679139853": [ + 71 + ], + "local-6989586621679139856": [ + 71 + ], + "local-6989586621679139859": [ + 71 + ], + "local-6989586621679139865": [ + 71 + ], + "local-6989586621679139869": [ + 71 + ], + "line-72": [ + 72 + ], + "line-73": [ + 73 + ], + "local-6989586621679139876": [ + 73 + ], + "local-6989586621679139877": [ + 73 + ], + "local-6989586621679139878": [ + 73 + ], + "line-74": [ + 74 + ], + "line-75": [ + 75 + ], + "line-76": [ + 76 + ], + "Session": [ + 76, + 76 + ], + "line-77": [ + 77 + ], + "ref": [ + 77, + 87, + 99 + ], + "line-78": [ + 78 + ], + "name": [ + 78, + 88, + 165, + 176 + ], + "line-79": [ + 79 + ], + "attached": [ + 79 + ], + "line-80": [ + 80 + ], + "line-81": [ + 81 + ], + "local-6989586621679139884": [ + 81 + ], + "local-6989586621679139889": [ + 81 + ], + "local-6989586621679139892": [ + 81 + ], + "local-6989586621679139898": [ + 81 + ], + "local-6989586621679139902": [ + 81 + ], + "line-82": [ + 82 + ], + "line-83": [ + 83 + ], + "local-6989586621679139911": [ + 83 + ], + "local-6989586621679139912": [ + 83 + ], + "local-6989586621679139913": [ + 83 + ], + "local-6989586621679139914": [ + 83 + ], + "line-84": [ + 84 + ], + "line-85": [ + 85 + ], + "line-86": [ + 86 + ], + "Window": [ + 86, + 86 + ], + "line-87": [ + 87 + ], + "line-88": [ + 88 + ], + "line-89": [ + 89 + ], + "width": [ + 89, + 102 + ], + "line-90": [ + 90 + ], + "height": [ + 90, + 103 + ], + "line-91": [ + 91 + ], + "line-92": [ + 92 + ], + "local-6989586621679139921": [ + 92 + ], + "local-6989586621679139929": [ + 92 + ], + "local-6989586621679139932": [ + 92 + ], + "local-6989586621679139941": [ + 92 + ], + "local-6989586621679139945": [ + 92 + ], + "line-93": [ + 93 + ], + "line-94": [ + 94 + ], + "local-6989586621679139957": [ + 94 + ], + "local-6989586621679139958": [ + 94 + ], + "local-6989586621679139959": [ + 94 + ], + "local-6989586621679139960": [ + 94 + ], + "local-6989586621679139961": [ + 94 + ], + "line-95": [ + 95 + ], + "line-96": [ + 96 + ], + "line-97": [ + 97 + ], + "line-98": [ + 98 + ], + "Pane": [ + 98, + 98 + ], + "line-99": [ + 99 + ], + "line-100": [ + 100 + ], + "window": [ + 100, + 120, + 155, + 180 + ], + "line-101": [ + 101 + ], + "index": [ + 101, + 119, + 181 + ], + "line-102": [ + 102 + ], + "line-103": [ + 103 + ], + "line-104": [ + 104 + ], + "active": [ + 104, + 121 + ], + "line-105": [ + 105 + ], + "dead": [ + 105 + ], + "line-106": [ + 106 + ], + "title": [ + 106 + ], + "line-107": [ + 107 + ], + "currentCommand": [ + 107 + ], + "line-108": [ + 108 + ], + "currentPath": [ + 108 + ], + "line-109": [ + 109 + ], + "line-110": [ + 110 + ], + "local-6989586621679139975": [ + 110 + ], + "local-6989586621679139990": [ + 110 + ], + "local-6989586621679139993": [ + 110 + ], + "local-6989586621679140009": [ + 110 + ], + "local-6989586621679140013": [ + 110 + ], + "line-111": [ + 111 + ], + "line-112": [ + 112 + ], + "local-6989586621679140035": [ + 112 + ], + "local-6989586621679140036": [ + 112 + ], + "local-6989586621679140037": [ + 112 + ], + "local-6989586621679140038": [ + 112 + ], + "local-6989586621679140039": [ + 112 + ], + "local-6989586621679140040": [ + 112 + ], + "local-6989586621679140041": [ + 112 + ], + "local-6989586621679140042": [ + 112 + ], + "local-6989586621679140043": [ + 112 + ], + "local-6989586621679140044": [ + 112 + ], + "local-6989586621679140045": [ + 112 + ], + "line-113": [ + 113 + ], + "line-114": [ + 114 + ], + "line-115": [ + 115 + ], + "line-116": [ + 116 + ], + "line-117": [ + 117 + ], + "WindowLink": [ + 117, + 117 + ], + "line-118": [ + 118 + ], + "session": [ + 118, + 154, + 179 + ], + "line-119": [ + 119 + ], + "line-120": [ + 120 + ], + "line-121": [ + 121 + ], + "line-122": [ + 122 + ], + "line-123": [ + 123 + ], + "local-6989586621679140051": [ + 123 + ], + "local-6989586621679140058": [ + 123 + ], + "local-6989586621679140062": [ + 123 + ], + "local-6989586621679140070": [ + 123 + ], + "local-6989586621679140074": [ + 123 + ], + "line-124": [ + 124 + ], + "line-125": [ + 125 + ], + "local-6989586621679140084": [ + 125 + ], + "local-6989586621679140085": [ + 125 + ], + "local-6989586621679140086": [ + 125 + ], + "local-6989586621679140087": [ + 125 + ], + "local-6989586621679140088": [ + 125 + ], + "line-126": [ + 126 + ], + "line-127": [ + 127 + ], + "line-128": [ + 128 + ], + "PaneOccurrence": [ + 128, + 128 + ], + "line-129": [ + 129 + ], + "pane": [ + 129, + 156, + 182 + ], + "line-130": [ + 130 + ], + "link": [ + 130 + ], + "line-131": [ + 131 + ], + "line-132": [ + 132 + ], + "local-6989586621679140092": [ + 132 + ], + "local-6989586621679140096": [ + 132 + ], + "local-6989586621679140100": [ + 132 + ], + "local-6989586621679140105": [ + 132 + ], + "local-6989586621679140109": [ + 132 + ], + "line-133": [ + 133 + ], + "line-134": [ + 134 + ], + "local-6989586621679140116": [ + 134 + ], + "local-6989586621679140117": [ + 134 + ], + "local-6989586621679140118": [ + 134 + ], + "line-135": [ + 135 + ], + "line-136": [ + 136 + ], + "line-137": [ + 137 + ], + "line-138": [ + 138 + ], + "ServerInfo": [ + 138, + 138 + ], + "line-139": [ + 139 + ], + "generation": [ + 139, + 227 + ], + "line-140": [ + 140 + ], + "pid": [ + 140, + 166, + 177 + ], + "line-141": [ + 141 + ], + "startedAt": [ + 141 + ], + "line-142": [ + 142 + ], + "version": [ + 142 + ], + "line-143": [ + 143 + ], + "socketPath": [ + 143 + ], + "line-144": [ + 144 + ], + "line-145": [ + 145 + ], + "local-6989586621679140126": [ + 145 + ], + "local-6989586621679140134": [ + 145 + ], + "local-6989586621679140138": [ + 145 + ], + "local-6989586621679140147": [ + 145 + ], + "local-6989586621679140151": [ + 145 + ], + "line-146": [ + 146 + ], + "line-147": [ + 147 + ], + "local-6989586621679140160": [ + 147 + ], + "local-6989586621679140161": [ + 147 + ], + "local-6989586621679140162": [ + 147 + ], + "local-6989586621679140163": [ + 147 + ], + "local-6989586621679140164": [ + 147 + ], + "local-6989586621679140165": [ + 147 + ], + "line-148": [ + 148 + ], + "line-149": [ + 149 + ], + "line-150": [ + 150 + ], + "line-151": [ + 151 + ], + "line-152": [ + 152 + ], + "line-153": [ + 153 + ], + "ClientAttachment": [ + 153, + 153 + ], + "line-154": [ + 154 + ], + "line-155": [ + 155 + ], + "line-156": [ + 156 + ], + "line-157": [ + 157 + ], + "line-158": [ + 158 + ], + "local-6989586621679140172": [ + 158 + ], + "local-6989586621679140177": [ + 158 + ], + "local-6989586621679140181": [ + 158 + ], + "local-6989586621679140187": [ + 158 + ], + "local-6989586621679140191": [ + 158 + ], + "line-159": [ + 159 + ], + "line-160": [ + 160 + ], + "local-6989586621679140199": [ + 160 + ], + "local-6989586621679140200": [ + 160 + ], + "local-6989586621679140201": [ + 160 + ], + "local-6989586621679140202": [ + 160 + ], + "line-161": [ + 161 + ], + "line-162": [ + 162 + ], + "line-163": [ + 163 + ], + "line-164": [ + 164 + ], + "Client": [ + 164, + 164 + ], + "line-165": [ + 165 + ], + "line-166": [ + 166 + ], + "line-167": [ + 167 + ], + "tty": [ + 167, + 178 + ], + "line-168": [ + 168 + ], + "attachment": [ + 168 + ], + "line-169": [ + 169 + ], + "line-170": [ + 170 + ], + "local-6989586621679140209": [ + 170 + ], + "local-6989586621679140217": [ + 170 + ], + "local-6989586621679140221": [ + 170 + ], + "local-6989586621679140230": [ + 170 + ], + "local-6989586621679140234": [ + 170 + ], + "line-171": [ + 171 + ], + "line-172": [ + 172 + ], + "local-6989586621679140245": [ + 172 + ], + "local-6989586621679140246": [ + 172 + ], + "local-6989586621679140247": [ + 172 + ], + "local-6989586621679140248": [ + 172 + ], + "local-6989586621679140249": [ + 172 + ], + "line-173": [ + 173 + ], + "line-174": [ + 174 + ], + "line-175": [ + 175 + ], + "ClientInput": [ + 175, + 175 + ], + "line-176": [ + 176 + ], + "line-177": [ + 177 + ], + "line-178": [ + 178 + ], + "line-179": [ + 179 + ], + "line-180": [ + 180 + ], + "line-181": [ + 181 + ], + "line-182": [ + 182 + ], + "line-183": [ + 183 + ], + "line-184": [ + 184 + ], + "line-185": [ + 185 + ], + "line-186": [ + 186 + ], + "line-187": [ + 187 + ], + "line-188": [ + 188 + ], + "Snapshot": [ + 188, + 188 + ], + "line-189": [ + 189 + ], + "local-6989586621679140259": [ + 189 + ], + "local-6989586621679140269": [ + 189 + ], + "local-6989586621679140274": [ + 189 + ], + "local-6989586621679140285": [ + 189 + ], + "local-6989586621679140289": [ + 189 + ], + "line-190": [ + 190 + ], + "line-191": [ + 191 + ], + "local-6989586621679140301": [ + 191 + ], + "local-6989586621679140302": [ + 191 + ], + "local-6989586621679140303": [ + 191 + ], + "local-6989586621679140304": [ + 191 + ], + "local-6989586621679140305": [ + 191 + ], + "line-192": [ + 192 + ], + "line-193": [ + 193 + ], + "line-194": [ + 194 + ], + "line-195": [ + 195 + ], + "serverInfo": [ + 195 + ], + "local-6989586621679140306": [ + 195 + ], + "line-196": [ + 196 + ], + "line-197": [ + 197 + ], + "line-198": [ + 198 + ], + "entities": [ + 198 + ], + "local-6989586621679140307": [ + 198 + ], + "line-199": [ + 199 + ], + "line-200": [ + 200 + ], + "line-201": [ + 201 + ], + "line-202": [ + 202 + ], + "clients": [ + 202 + ], + "local-6989586621679140308": [ + 202 + ], + "line-203": [ + 203 + ], + "line-204": [ + 204 + ], + "line-205": [ + 205 + ], + "line-206": [ + 206 + ], + "CaptureInterval": [ + 206, + 206 + ], + "line-207": [ + 207 + ], + "startedNanoseconds": [ + 207 + ], + "line-208": [ + 208 + ], + "finishedNanoseconds": [ + 208 + ], + "line-209": [ + 209 + ], + "line-210": [ + 210 + ], + "local-6989586621679140313": [ + 210 + ], + "local-6989586621679140318": [ + 210 + ], + "local-6989586621679140321": [ + 210 + ], + "local-6989586621679140327": [ + 210 + ], + "local-6989586621679140330": [ + 210 + ], + "line-211": [ + 211 + ], + "line-212": [ + 212 + ], + "local-6989586621679140336": [ + 212 + ], + "local-6989586621679140337": [ + 212 + ], + "local-6989586621679140338": [ + 212 + ], + "line-213": [ + 213 + ], + "line-214": [ + 214 + ], + "line-215": [ + 215 + ], + "line-216": [ + 216 + ], + "line-217": [ + 217 + ], + "captureInterval": [ + 217 + ], + "local-6989586621679140339": [ + 217 + ], + "line-218": [ + 218 + ], + "line-219": [ + 219 + ], + "line-220": [ + 220 + ], + "stampSnapshot": [ + 220 + ], + "local-6989586621679140340": [ + 220 + ], + "local-6989586621679140341": [ + 220 + ], + "local-6989586621679140342": [ + 220 + ], + "local-6989586621679140343": [ + 220 + ], + "local-6989586621679140344": [ + 220 + ], + "line-221": [ + 221 + ], + "line-222": [ + 222 + ], + "line-223": [ + 223 + ], + "local-6989586621679140346": [ + 223 + ], + "line-224": [ + 224 + ], + "line-225": [ + 225 + ], + "line-226": [ + 226 + ], + "EntityGraph": [ + 226, + 226 + ], + "line-227": [ + 227 + ], + "line-228": [ + 228 + ], + "sessions": [ + 228 + ], + "line-229": [ + 229 + ], + "windows": [ + 229 + ], + "line-230": [ + 230 + ], + "panes": [ + 230 + ], + "line-231": [ + 231 + ], + "links": [ + 231 + ], + "line-232": [ + 232 + ], + "sessionLinks": [ + 232 + ], + "line-233": [ + 233 + ], + "windowPanes": [ + 233 + ], + "line-234": [ + 234 + ], + "line-235": [ + 235 + ], + "local-6989586621679140356": [ + 235 + ], + "local-6989586621679140372": [ + 235 + ], + "local-6989586621679140377": [ + 235 + ], + "local-6989586621679140398": [ + 235 + ], + "local-6989586621679140401": [ + 235 + ], + "line-236": [ + 236 + ], + "line-237": [ + 237 + ], + "local-6989586621679140432": [ + 237 + ], + "local-6989586621679140433": [ + 237 + ], + "line-238": [ + 238 + ], + "line-239": [ + 239 + ], + "line-240": [ + 240 + ], + "line-241": [ + 241 + ], + "line-242": [ + 242 + ], + "line-243": [ + 243 + ], + "LookupError": [ + 243 + ], + "line-244": [ + 244 + ], + "ForeignGeneration": [ + 244 + ], + "line-245": [ + 245 + ], + "MissingSession": [ + 245 + ], + "line-246": [ + 246 + ], + "MissingWindow": [ + 246 + ], + "line-247": [ + 247 + ], + "MissingPane": [ + 247 + ], + "line-248": [ + 248 + ], + "local-6989586621679140439": [ + 248 + ], + "local-6989586621679140446": [ + 248 + ], + "local-6989586621679140450": [ + 248 + ], + "local-6989586621679140458": [ + 248 + ], + "local-6989586621679140462": [ + 248 + ], + "line-249": [ + 249 + ], + "line-250": [ + 250 + ], + "GraphError": [ + 250 + ], + "line-251": [ + 251 + ], + "InvalidGeneration": [ + 251 + ], + "line-252": [ + 252 + ], + "InvalidReference": [ + 252 + ], + "line-253": [ + 253 + ], + "ConflictingSession": [ + 253 + ], + "line-254": [ + 254 + ], + "ConflictingWindow": [ + 254 + ], + "line-255": [ + 255 + ], + "ConflictingPane": [ + 255 + ], + "line-256": [ + 256 + ], + "DuplicateWindowSlot": [ + 256 + ], + "line-257": [ + 257 + ], + "DuplicatePaneIndex": [ + 257 + ], + "line-258": [ + 258 + ], + "InvalidAttachedCount": [ + 258 + ], + "line-259": [ + 259 + ], + "InvalidSessionSelection": [ + 259 + ], + "line-260": [ + 260 + ], + "InvalidPaneSelection": [ + 260 + ], + "line-261": [ + 261 + ], + "UnlinkedWindow": [ + 261 + ], + "line-262": [ + 262 + ], + "InvalidServerInfo": [ + 262 + ], + "line-263": [ + 263 + ], + "InvalidClientMetadata": [ + 263 + ], + "line-264": [ + 264 + ], + "MissingClientLink": [ + 264 + ], + "line-265": [ + 265 + ], + "ChangedClientAttachment": [ + 265 + ], + "line-266": [ + 266 + ], + "InvalidCaptureInterval": [ + 266 + ], + "line-267": [ + 267 + ], + "local-6989586621679140480": [ + 267 + ], + "local-6989586621679140501": [ + 267 + ], + "local-6989586621679140505": [ + 267 + ], + "local-6989586621679140536": [ + 267 + ], + "local-6989586621679140540": [ + 267 + ], + "line-268": [ + 268 + ], + "line-269": [ + 269 + ], + "line-270": [ + 270 + ], + "line-271": [ + 271 + ], + "line-272": [ + 272 + ], + "assembleEntityGraph": [ + 272 + ], + "local-6989586621679140542": [ + 272 + ], + "local-6989586621679140543": [ + 272 + ], + "local-6989586621679140544": [ + 272 + ], + "local-6989586621679140545": [ + 272 + ], + "local-6989586621679140546": [ + 272 + ], + "line-273": [ + 273 + ], + "local-6989586621679140547": [ + 273 + ], + "line-274": [ + 274 + ], + "local-6989586621679140548": [ + 274 + ], + "local-6989586621679140549": [ + 274 + ], + "local-6989586621679140550": [ + 274 + ], + "line-275": [ + 275 + ], + "line-276": [ + 276 + ], + "line-277": [ + 277 + ], + "line-278": [ + 278 + ], + "line-279": [ + 279 + ], + "line-280": [ + 280 + ], + "line-281": [ + 281 + ], + "line-282": [ + 282 + ], + "local-6989586621679140559": [ + 282 + ], + "line-283": [ + 283 + ], + "local-6989586621679140561": [ + 283 + ], + "line-284": [ + 284 + ], + "local-6989586621679140562": [ + 284 + ], + "line-285": [ + 285 + ], + "local-6989586621679140563": [ + 285 + ], + "line-286": [ + 286 + ], + "local-6989586621679140566": [ + 286 + ], + "local-6989586621679140568": [ + 286 + ], + "line-287": [ + 287 + ], + "local-6989586621679140570": [ + 287 + ], + "line-288": [ + 288 + ], + "local-6989586621679140572": [ + 288 + ], + "local-6989586621679140573": [ + 288 + ], + "line-289": [ + 289 + ], + "local-6989586621679140574": [ + 289 + ], + "line-290": [ + 290 + ], + "local-6989586621679140575": [ + 290 + ], + "line-291": [ + 291 + ], + "local-6989586621679140576": [ + 291 + ], + "local-6989586621679140578": [ + 291 + ], + "line-292": [ + 292 + ], + "local-6989586621679140579": [ + 292 + ], + "line-293": [ + 293 + ], + "line-294": [ + 294 + ], + "local-6989586621679140580": [ + 294 + ], + "line-295": [ + 295 + ], + "line-296": [ + 296 + ], + "line-297": [ + 297 + ], + "line-298": [ + 298 + ], + "line-299": [ + 299 + ], + "line-300": [ + 300 + ], + "local-6989586621679140586": [ + 300 + ], + "local-6989586621679140587": [ + 300 + ], + "line-301": [ + 301 + ], + "local-6989586621679140588": [ + 301 + ], + "local-6989586621679140589": [ + 301 + ], + "line-302": [ + 302 + ], + "local-6989586621679140555": [ + 302 + ], + "local-6989586621679140590": [ + 302 + ], + "line-303": [ + 303 + ], + "local-6989586621679140554": [ + 303 + ], + "local-6989586621679140591": [ + 303 + ], + "line-304": [ + 304 + ], + "line-305": [ + 305 + ], + "line-306": [ + 306 + ], + "local-6989586621679140557": [ + 306 + ], + "local-6989586621679140592": [ + 306 + ], + "line-307": [ + 307 + ], + "local-6989586621679140593": [ + 307 + ], + "line-308": [ + 308 + ], + "line-309": [ + 309 + ], + "line-310": [ + 310 + ], + "local-6989586621679140558": [ + 310 + ], + "local-6989586621679140594": [ + 310 + ], + "line-311": [ + 311 + ], + "local-6989586621679140564": [ + 311 + ], + "local-6989586621679140607": [ + 311 + ], + "local-6989586621679140608": [ + 311 + ], + "line-312": [ + 312 + ], + "line-313": [ + 313 + ], + "line-314": [ + 314 + ], + "local-6989586621679140581": [ + 314 + ], + "local-6989586621679140623": [ + 314 + ], + "local-6989586621679140624": [ + 314 + ], + "line-315": [ + 315 + ], + "line-316": [ + 316 + ], + "line-317": [ + 317 + ], + "local-6989586621679140583": [ + 317 + ], + "local-6989586621679140634": [ + 317 + ], + "local-6989586621679140635": [ + 317 + ], + "line-318": [ + 318 + ], + "local-6989586621679140636": [ + 318 + ], + "line-319": [ + 319 + ], + "line-320": [ + 320 + ], + "local-6989586621679140585": [ + 320 + ], + "local-6989586621679140649": [ + 320 + ], + "local-6989586621679140650": [ + 320 + ], + "local-6989586621679140651": [ + 320 + ], + "line-321": [ + 321 + ], + "line-322": [ + 322 + ], + "local-6989586621679140652": [ + 322 + ], + "line-323": [ + 323 + ], + "line-324": [ + 324 + ], + "line-325": [ + 325 + ], + "local-6989586621679139244": [ + 325 + ], + "local-6989586621679139245": [ + 325 + ], + "line-326": [ + 326 + ], + "uniqueBy": [ + 326 + ], + "local-6989586621679140660": [ + 326 + ], + "local-6989586621679140661": [ + 326 + ], + "line-327": [ + 327 + ], + "line-328": [ + 328 + ], + "local-6989586621679140662": [ + 328 + ], + "local-6989586621679140663": [ + 328 + ], + "local-6989586621679140664": [ + 328 + ], + "line-329": [ + 329 + ], + "line-330": [ + 330 + ], + "local-6989586621679140666": [ + 330 + ], + "line-331": [ + 331 + ], + "line-332": [ + 332 + ], + "line-333": [ + 333 + ], + "line-334": [ + 334 + ], + "graphSessions": [ + 334 + ], + "local-6989586621679140667": [ + 334 + ], + "line-335": [ + 335 + ], + "line-336": [ + 336 + ], + "line-337": [ + 337 + ], + "graphWindows": [ + 337 + ], + "local-6989586621679140668": [ + 337 + ], + "line-338": [ + 338 + ], + "line-339": [ + 339 + ], + "line-340": [ + 340 + ], + "graphPanes": [ + 340 + ], + "local-6989586621679140669": [ + 340 + ], + "line-341": [ + 341 + ], + "line-342": [ + 342 + ], + "line-343": [ + 343 + ], + "graphLinks": [ + 343 + ], + "local-6989586621679140670": [ + 343 + ], + "line-344": [ + 344 + ], + "line-345": [ + 345 + ], + "line-346": [ + 346 + ], + "graphOccurrences": [ + 346 + ], + "local-6989586621679140671": [ + 346 + ], + "line-347": [ + 347 + ], + "line-348": [ + 348 + ], + "local-6989586621679140673": [ + 348 + ], + "line-349": [ + 349 + ], + "local-6989586621679140672": [ + 349 + ], + "line-350": [ + 350 + ], + "line-351": [ + 351 + ], + "line-352": [ + 352 + ], + "line-353": [ + 353 + ], + "lookupSession": [ + 353 + ], + "local-6989586621679140674": [ + 353 + ], + "local-6989586621679140675": [ + 353 + ], + "local-6989586621679140676": [ + 353 + ], + "line-354": [ + 354 + ], + "line-355": [ + 355 + ], + "line-356": [ + 356 + ], + "line-357": [ + 357 + ], + "line-358": [ + 358 + ], + "lookupWindow": [ + 358 + ], + "local-6989586621679140679": [ + 358 + ], + "local-6989586621679140680": [ + 358 + ], + "local-6989586621679140681": [ + 358 + ], + "line-359": [ + 359 + ], + "line-360": [ + 360 + ], + "line-361": [ + 361 + ], + "line-362": [ + 362 + ], + "line-363": [ + 363 + ], + "lookupPane": [ + 363 + ], + "local-6989586621679140682": [ + 363 + ], + "local-6989586621679140683": [ + 363 + ], + "local-6989586621679140684": [ + 363 + ], + "line-364": [ + 364 + ], + "line-365": [ + 365 + ], + "line-366": [ + 366 + ], + "line-367": [ + 367 + ], + "line-368": [ + 368 + ], + "linksForSession": [ + 368 + ], + "local-6989586621679140685": [ + 368 + ], + "local-6989586621679140686": [ + 368 + ], + "line-369": [ + 369 + ], + "line-370": [ + 370 + ], + "line-371": [ + 371 + ], + "line-372": [ + 372 + ], + "line-373": [ + 373 + ], + "panesForWindow": [ + 373 + ], + "local-6989586621679140687": [ + 373 + ], + "local-6989586621679140688": [ + 373 + ], + "line-374": [ + 374 + ], + "line-375": [ + 375 + ], + "line-376": [ + 376 + ], + "line-377": [ + 377 + ], + "line-378": [ + 378 + ], + "line-379": [ + 379 + ], + "line-380": [ + 380 + ], + "line-381": [ + 381 + ], + "line-382": [ + 382 + ], + "assembleSnapshot": [ + 382 + ], + "local-6989586621679140689": [ + 382 + ], + "local-6989586621679140690": [ + 382 + ], + "local-6989586621679140691": [ + 382 + ], + "line-383": [ + 383 + ], + "line-384": [ + 384 + ], + "line-385": [ + 385 + ], + "line-386": [ + 386 + ], + "line-387": [ + 387 + ], + "local-6989586621679140699": [ + 387 + ], + "line-388": [ + 388 + ], + "local-6989586621679140702": [ + 388 + ], + "local-6989586621679140703": [ + 388 + ], + "line-389": [ + 389 + ], + "line-390": [ + 390 + ], + "line-391": [ + 391 + ], + "local-6989586621679140692": [ + 391 + ], + "local-6989586621679140711": [ + 391 + ], + "line-392": [ + 392 + ], + "local-6989586621679140693": [ + 392 + ], + "local-6989586621679140718": [ + 392 + ], + "line-393": [ + 393 + ], + "local-6989586621679140701": [ + 393 + ], + "local-6989586621679140723": [ + 393 + ], + "line-394": [ + 394 + ], + "line-395": [ + 395 + ], + "local-6989586621679140724": [ + 395 + ], + "line-396": [ + 396 + ], + "local-6989586621679140725": [ + 396 + ], + "line-397": [ + 397 + ], + "local-6989586621679140726": [ + 397 + ], + "line-398": [ + 398 + ], + "local-6989586621679140727": [ + 398 + ], + "line-399": [ + 399 + ], + "local-6989586621679140728": [ + 399 + ], + "line-400": [ + 400 + ], + "line-401": [ + 401 + ], + "line-402": [ + 402 + ], + "line-403": [ + 403 + ], + "local-6989586621679140729": [ + 403 + ], + "line-404": [ + 404 + ], + "line-405": [ + 405 + ] + }, + "LibTmux.Internal.Query": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "CardinalityError": [ + 33 + ], + "line-34": [ + 34 + ], + "NoMatches": [ + 34 + ], + "line-35": [ + 35 + ], + "AtLeastTwoMatches": [ + 35 + ], + "line-36": [ + 36 + ], + "local-6989586621679145481": [ + 36 + ], + "local-6989586621679145486": [ + 36 + ], + "local-6989586621679145491": [ + 36 + ], + "local-6989586621679145493": [ + 36 + ], + "local-6989586621679145497": [ + 36 + ], + "line-37": [ + 37 + ], + "line-38": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "line-41": [ + 41 + ], + "local-6989586621679145176": [ + 41 + ], + "line-42": [ + 42 + ], + "exactlyOne": [ + 42 + ], + "line-43": [ + 43 + ], + "local-6989586621679145501": [ + 43 + ], + "line-44": [ + 44 + ], + "line-45": [ + 45 + ], + "line-46": [ + 46 + ], + "line-47": [ + 47 + ], + "line-48": [ + 48 + ], + "local-6989586621679145180": [ + 48 + ], + "line-49": [ + 49 + ], + "atMostOne": [ + 49 + ], + "line-50": [ + 50 + ], + "local-6989586621679145502": [ + 50 + ], + "line-51": [ + 51 + ], + "line-52": [ + 52 + ], + "line-53": [ + 53 + ], + "line-54": [ + 54 + ], + "line-55": [ + 55 + ], + "ToMany": [ + 55 + ], + "local-6989586621679145503": [ + 55 + ], + "local-6989586621679145504": [ + 55 + ], + "line-56": [ + 56 + ], + "SessionLinks": [ + 56 + ], + "line-57": [ + 57 + ], + "SessionClients": [ + 57 + ], + "line-58": [ + 58 + ], + "WindowPanes": [ + 58 + ], + "line-59": [ + 59 + ], + "WindowLinks": [ + 59 + ], + "line-60": [ + 60 + ], + "LinkPanes": [ + 60 + ], + "line-61": [ + 61 + ], + "line-62": [ + 62 + ], + "line-63": [ + 63 + ], + "ToOne": [ + 63 + ], + "local-6989586621679145510": [ + 63 + ], + "local-6989586621679145511": [ + 63 + ], + "line-64": [ + 64 + ], + "PaneWindow": [ + 64 + ], + "line-65": [ + 65 + ], + "LinkSession": [ + 65 + ], + "line-66": [ + 66 + ], + "LinkWindow": [ + 66 + ], + "line-67": [ + 67 + ], + "OccurrencePane": [ + 67 + ], + "line-68": [ + 68 + ], + "OccurrenceLink": [ + 68 + ], + "line-69": [ + 69 + ], + "AttachmentSession": [ + 69 + ], + "line-70": [ + 70 + ], + "AttachmentWindow": [ + 70 + ], + "line-71": [ + 71 + ], + "AttachmentPane": [ + 71 + ], + "line-72": [ + 72 + ], + "line-73": [ + 73 + ], + "line-74": [ + 74 + ], + "line-75": [ + 75 + ], + "ToOptional": [ + 75 + ], + "local-6989586621679145520": [ + 75 + ], + "local-6989586621679145521": [ + 75 + ], + "line-76": [ + 76 + ], + "ClientAttachment": [ + 76 + ], + "line-77": [ + 77 + ], + "line-78": [ + 78 + ], + "Source": [ + 78 + ], + "local-6989586621679145523": [ + 78 + ], + "line-79": [ + 79 + ], + "Sessions": [ + 79 + ], + "line-80": [ + 80 + ], + "Windows": [ + 80 + ], + "line-81": [ + 81 + ], + "Panes": [ + 81 + ], + "line-82": [ + 82 + ], + "WindowLinksSource": [ + 82 + ], + "line-83": [ + 83 + ], + "Occurrences": [ + 83 + ], + "line-84": [ + 84 + ], + "Clients": [ + 84 + ], + "line-85": [ + 85 + ], + "ServerInfo": [ + 85 + ], + "line-86": [ + 86 + ], + "line-87": [ + 87 + ], + "NumberField": [ + 87 + ], + "local-6989586621679145531": [ + 87 + ], + "line-88": [ + 88 + ], + "local-6989586621679145210": [ + 88 + ], + "IntegerField": [ + 88 + ], + "line-89": [ + 89 + ], + "local-6989586621679145217": [ + 89 + ], + "DimensionField": [ + 89 + ], + "line-90": [ + 90 + ], + "local-6989586621679145222": [ + 90 + ], + "PaneIndexField": [ + 90 + ], + "line-91": [ + 91 + ], + "local-6989586621679145227": [ + 91 + ], + "WindowIndexField": [ + 91 + ], + "line-92": [ + 92 + ], + "line-93": [ + 93 + ], + "Comparison": [ + 93 + ], + "AtLeast": [ + 93 + ], + "Above": [ + 93 + ], + "AtMost": [ + 93 + ], + "Below": [ + 93 + ], + "line-94": [ + 94 + ], + "Quantifier": [ + 94 + ], + "Some": [ + 94 + ], + "Every": [ + 94 + ], + "None": [ + 94 + ], + "line-95": [ + 95 + ], + "line-96": [ + 96 + ], + "line-97": [ + 97 + ], + "line-98": [ + 98 + ], + "line-99": [ + 99 + ], + "line-100": [ + 100 + ], + "Expr": [ + 100 + ], + "local-6989586621679145543": [ + 100 + ], + "line-101": [ + 101 + ], + "local-6989586621679145544": [ + 101 + ], + "local-6989586621679145545": [ + 101 + ], + "Equal": [ + 101 + ], + "line-102": [ + 102 + ], + "local-6989586621679145547": [ + 102 + ], + "local-6989586621679145548": [ + 102 + ], + "OneOf": [ + 102 + ], + "line-103": [ + 103 + ], + "local-6989586621679145550": [ + 103 + ], + "Contains": [ + 103 + ], + "line-104": [ + 104 + ], + "local-6989586621679145209": [ + 104 + ], + "NumberCompare": [ + 104 + ], + "line-105": [ + 105 + ], + "local-6989586621679145553": [ + 105 + ], + "All": [ + 105 + ], + "line-106": [ + 106 + ], + "local-6989586621679145555": [ + 106 + ], + "Any": [ + 106 + ], + "line-107": [ + 107 + ], + "local-6989586621679145557": [ + 107 + ], + "Not": [ + 107 + ], + "line-108": [ + 108 + ], + "local-6989586621679145240": [ + 108 + ], + "local-6989586621679145559": [ + 108 + ], + "Quantified": [ + 108 + ], + "line-109": [ + 109 + ], + "local-6989586621679145561": [ + 109 + ], + "local-6989586621679145562": [ + 109 + ], + "Related": [ + 109 + ], + "line-110": [ + 110 + ], + "local-6989586621679145564": [ + 110 + ], + "local-6989586621679145565": [ + 110 + ], + "OptionalRelated": [ + 110 + ], + "line-111": [ + 111 + ], + "line-112": [ + 112 + ], + "line-113": [ + 113 + ], + "line-114": [ + 114 + ], + "Order": [ + 114, + 115 + ], + "local-6989586621679145567": [ + 114 + ], + "line-115": [ + 115 + ], + "local-6989586621679145275": [ + 115 + ], + "local-6989586621679145568": [ + 115 + ], + "line-116": [ + 116 + ], + "line-117": [ + 117 + ], + "line-118": [ + 118 + ], + "line-119": [ + 119 + ], + "line-120": [ + 120 + ], + "Query": [ + 120, + 120 + ], + "local-6989586621679145260": [ + 120 + ], + "line-121": [ + 121 + ], + "line-122": [ + 122 + ], + "line-123": [ + 123 + ], + "line-124": [ + 124 + ], + "QueryError": [ + 124 + ], + "line-125": [ + 125 + ], + "FieldUnavailable": [ + 125 + ], + "line-126": [ + 126 + ], + "RelationshipUnavailable": [ + 126 + ], + "line-127": [ + 127 + ], + "RequiresTmux": [ + 127 + ], + "line-128": [ + 128 + ], + "InvalidFieldRequirement": [ + 128 + ], + "line-129": [ + 129 + ], + "RelationshipLookupFailed": [ + 129 + ], + "line-130": [ + 130 + ], + "local-6989586621679145577": [ + 130 + ], + "local-6989586621679145592": [ + 130 + ], + "local-6989586621679145596": [ + 130 + ], + "local-6989586621679145615": [ + 130 + ], + "local-6989586621679145619": [ + 130 + ], + "line-131": [ + 131 + ], + "line-132": [ + 132 + ], + "line-133": [ + 133 + ], + "QueryRequirements": [ + 133, + 133 + ], + "line-134": [ + 134 + ], + "sourceName": [ + 134 + ], + "line-135": [ + 135 + ], + "fieldNames": [ + 135 + ], + "line-136": [ + 136 + ], + "relationshipNames": [ + 136 + ], + "line-137": [ + 137 + ], + "orderingFields": [ + 137 + ], + "line-138": [ + 138 + ], + "rowLimit": [ + 138 + ], + "line-139": [ + 139 + ], + "line-140": [ + 140 + ], + "local-6989586621679145628": [ + 140 + ], + "local-6989586621679145638": [ + 140 + ], + "local-6989586621679145643": [ + 140 + ], + "local-6989586621679145654": [ + 140 + ], + "local-6989586621679145658": [ + 140 + ], + "line-141": [ + 141 + ], + "line-142": [ + 142 + ], + "EvaluatorProfile": [ + 142, + 142 + ], + "line-143": [ + 143 + ], + "availableFields": [ + 143 + ], + "line-144": [ + 144 + ], + "availableRelationships": [ + 144 + ], + "line-145": [ + 145 + ], + "evaluatorVersion": [ + 145 + ], + "line-146": [ + 146 + ], + "line-147": [ + 147 + ], + "line-148": [ + 148 + ], + "line-149": [ + 149 + ], + "line-150": [ + 150 + ], + "local-6989586621679145193": [ + 150 + ], + "local-6989586621679145194": [ + 150 + ], + "line-151": [ + 151 + ], + "eq": [ + 151 + ], + "line-152": [ + 152 + ], + "line-153": [ + 153 + ], + "line-154": [ + 154 + ], + "line-155": [ + 155 + ], + "local-6989586621679145199": [ + 155 + ], + "local-6989586621679145200": [ + 155 + ], + "line-156": [ + 156 + ], + "oneOf": [ + 156 + ], + "line-157": [ + 157 + ], + "line-158": [ + 158 + ], + "line-159": [ + 159 + ], + "line-160": [ + 160 + ], + "local-6989586621679145203": [ + 160 + ], + "line-161": [ + 161 + ], + "contains": [ + 161 + ], + "line-162": [ + 162 + ], + "line-163": [ + 163 + ], + "line-164": [ + 164 + ], + "line-165": [ + 165 + ], + "local-6989586621679145205": [ + 165 + ], + "line-166": [ + 166 + ], + "ge": [ + 166 + ], + "local-6989586621679145669": [ + 166 + ], + "line-167": [ + 167 + ], + "gt": [ + 167 + ], + "local-6989586621679145670": [ + 167 + ], + "line-168": [ + 168 + ], + "le": [ + 168 + ], + "local-6989586621679145671": [ + 168 + ], + "line-169": [ + 169 + ], + "lt": [ + 169 + ], + "local-6989586621679145672": [ + 169 + ], + "line-170": [ + 170 + ], + "line-171": [ + 171 + ], + "line-172": [ + 172 + ], + "line-173": [ + 173 + ], + "line-174": [ + 174 + ], + "local-6989586621679145214": [ + 174 + ], + "line-175": [ + 175 + ], + "dimensionAtLeast": [ + 175 + ], + "local-6989586621679145673": [ + 175 + ], + "line-176": [ + 176 + ], + "dimensionAtMost": [ + 176 + ], + "local-6989586621679145674": [ + 176 + ], + "line-177": [ + 177 + ], + "line-178": [ + 178 + ], + "line-179": [ + 179 + ], + "local-6989586621679145219": [ + 179 + ], + "line-180": [ + 180 + ], + "paneIndexAtLeast": [ + 180 + ], + "local-6989586621679145675": [ + 180 + ], + "line-181": [ + 181 + ], + "paneIndexAtMost": [ + 181 + ], + "local-6989586621679145676": [ + 181 + ], + "line-182": [ + 182 + ], + "line-183": [ + 183 + ], + "line-184": [ + 184 + ], + "local-6989586621679145224": [ + 184 + ], + "line-185": [ + 185 + ], + "windowIndexAtLeast": [ + 185 + ], + "local-6989586621679145677": [ + 185 + ], + "line-186": [ + 186 + ], + "windowIndexAtMost": [ + 186 + ], + "local-6989586621679145678": [ + 186 + ], + "line-187": [ + 187 + ], + "line-188": [ + 188 + ], + "line-189": [ + 189 + ], + "line-190": [ + 190 + ], + "local-6989586621679145229": [ + 190 + ], + "line-191": [ + 191 + ], + "allOf": [ + 191 + ], + "line-192": [ + 192 + ], + "anyOf": [ + 192 + ], + "line-193": [ + 193 + ], + "line-194": [ + 194 + ], + "line-195": [ + 195 + ], + "local-6989586621679145232": [ + 195 + ], + "line-196": [ + 196 + ], + "not_": [ + 196 + ], + "line-197": [ + 197 + ], + "line-198": [ + 198 + ], + "line-199": [ + 199 + ], + "line-200": [ + 200 + ], + "line-201": [ + 201 + ], + "line-202": [ + 202 + ], + "local-6989586621679145234": [ + 202 + ], + "local-6989586621679145235": [ + 202 + ], + "line-203": [ + 203 + ], + "some": [ + 203 + ], + "line-204": [ + 204 + ], + "every": [ + 204 + ], + "line-205": [ + 205 + ], + "none": [ + 205 + ], + "line-206": [ + 206 + ], + "line-207": [ + 207 + ], + "line-208": [ + 208 + ], + "line-209": [ + 209 + ], + "local-6989586621679145246": [ + 209 + ], + "local-6989586621679145247": [ + 209 + ], + "line-210": [ + 210 + ], + "related": [ + 210 + ], + "line-211": [ + 211 + ], + "line-212": [ + 212 + ], + "line-213": [ + 213 + ], + "line-214": [ + 214 + ], + "local-6989586621679145251": [ + 214 + ], + "local-6989586621679145252": [ + 214 + ], + "line-215": [ + 215 + ], + "optionalRelated": [ + 215 + ], + "line-216": [ + 216 + ], + "line-217": [ + 217 + ], + "line-218": [ + 218 + ], + "line-219": [ + 219 + ], + "sessions": [ + 219 + ], + "line-220": [ + 220 + ], + "line-221": [ + 221 + ], + "line-222": [ + 222 + ], + "windows": [ + 222 + ], + "line-223": [ + 223 + ], + "line-224": [ + 224 + ], + "line-225": [ + 225 + ], + "panes": [ + 225 + ], + "line-226": [ + 226 + ], + "line-227": [ + 227 + ], + "line-228": [ + 228 + ], + "windowLinks": [ + 228 + ], + "line-229": [ + 229 + ], + "line-230": [ + 230 + ], + "line-231": [ + 231 + ], + "paneOccurrences": [ + 231 + ], + "line-232": [ + 232 + ], + "line-233": [ + 233 + ], + "line-234": [ + 234 + ], + "clients": [ + 234 + ], + "line-235": [ + 235 + ], + "line-236": [ + 236 + ], + "line-237": [ + 237 + ], + "serverInfo": [ + 237 + ], + "line-238": [ + 238 + ], + "line-239": [ + 239 + ], + "line-240": [ + 240 + ], + "local-6989586621679145267": [ + 240 + ], + "line-241": [ + 241 + ], + "matching": [ + 241 + ], + "local-6989586621679145679": [ + 241 + ], + "local-6989586621679145680": [ + 241 + ], + "local-6989586621679145681": [ + 241 + ], + "local-6989586621679145682": [ + 241 + ], + "local-6989586621679145683": [ + 241 + ], + "line-242": [ + 242 + ], + "line-243": [ + 243 + ], + "line-244": [ + 244 + ], + "line-245": [ + 245 + ], + "line-246": [ + 246 + ], + "local-6989586621679145269": [ + 246 + ], + "line-247": [ + 247 + ], + "orderBy": [ + 247 + ], + "local-6989586621679145684": [ + 247 + ], + "local-6989586621679145685": [ + 247 + ], + "local-6989586621679145686": [ + 247 + ], + "local-6989586621679145687": [ + 247 + ], + "line-248": [ + 248 + ], + "line-249": [ + 249 + ], + "line-250": [ + 250 + ], + "line-251": [ + 251 + ], + "local-6989586621679145271": [ + 251 + ], + "local-6989586621679145272": [ + 251 + ], + "line-252": [ + 252 + ], + "ascending": [ + 252 + ], + "line-253": [ + 253 + ], + "descending": [ + 253 + ], + "line-254": [ + 254 + ], + "line-255": [ + 255 + ], + "line-256": [ + 256 + ], + "line-257": [ + 257 + ], + "local-6989586621679145278": [ + 257 + ], + "line-258": [ + 258 + ], + "limit": [ + 258 + ], + "local-6989586621679145692": [ + 258 + ], + "local-6989586621679145693": [ + 258 + ], + "local-6989586621679145694": [ + 258 + ], + "local-6989586621679145695": [ + 258 + ], + "line-259": [ + 259 + ], + "line-260": [ + 260 + ], + "line-261": [ + 261 + ], + "nativeProfile": [ + 261 + ], + "line-262": [ + 262 + ], + "local-6989586621679145698": [ + 262 + ], + "line-263": [ + 263 + ], + "line-264": [ + 264 + ], + "line-265": [ + 265 + ], + "line-266": [ + 266 + ], + "line-267": [ + 267 + ], + "line-268": [ + 268 + ], + "line-269": [ + 269 + ], + "line-270": [ + 270 + ], + "line-271": [ + 271 + ], + "line-272": [ + 272 + ], + "line-273": [ + 273 + ], + "line-274": [ + 274 + ], + "local-6989586621679145296": [ + 274 + ], + "line-275": [ + 275 + ], + "requirements": [ + 275 + ], + "local-6989586621679145708": [ + 275 + ], + "local-6989586621679145709": [ + 275 + ], + "local-6989586621679145710": [ + 275 + ], + "local-6989586621679145711": [ + 275 + ], + "line-276": [ + 276 + ], + "local-6989586621679145712": [ + 276 + ], + "local-6989586621679145713": [ + 276 + ], + "line-277": [ + 277 + ], + "local-6989586621679145715": [ + 277 + ], + "line-278": [ + 278 + ], + "line-279": [ + 279 + ], + "line-280": [ + 280 + ], + "line-281": [ + 281 + ], + "line-282": [ + 282 + ], + "local-6989586621679145309": [ + 282 + ], + "line-283": [ + 283 + ], + "prepare": [ + 283 + ], + "local-6989586621679145735": [ + 283 + ], + "local-6989586621679145736": [ + 283 + ], + "local-6989586621679145737": [ + 283 + ], + "line-284": [ + 284 + ], + "local-6989586621679145738": [ + 284 + ], + "local-6989586621679145739": [ + 284 + ], + "line-285": [ + 285 + ], + "local-6989586621679145740": [ + 285 + ], + "local-6989586621679145742": [ + 285 + ], + "line-286": [ + 286 + ], + "local-6989586621679145758": [ + 286 + ], + "line-287": [ + 287 + ], + "local-6989586621679145759": [ + 287 + ], + "line-288": [ + 288 + ], + "line-289": [ + 289 + ], + "local-6989586621679145761": [ + 289 + ], + "line-290": [ + 290 + ], + "local-6989586621679145765": [ + 290 + ], + "line-291": [ + 291 + ], + "line-292": [ + 292 + ], + "local-6989586621679145767": [ + 292 + ], + "line-293": [ + 293 + ], + "line-294": [ + 294 + ], + "line-295": [ + 295 + ], + "line-296": [ + 296 + ], + "line-297": [ + 297 + ], + "line-298": [ + 298 + ], + "line-299": [ + 299 + ], + "local-6989586621679145345": [ + 299 + ], + "line-300": [ + 300 + ], + "runQuery": [ + 300 + ], + "local-6989586621679145769": [ + 300 + ], + "line-301": [ + 301 + ], + "line-302": [ + 302 + ], + "line-303": [ + 303 + ], + "local-6989586621679145347": [ + 303 + ], + "line-304": [ + 304 + ], + "runQueryWith": [ + 304 + ], + "local-6989586621679145776": [ + 304 + ], + "local-6989586621679145777": [ + 304 + ], + "local-6989586621679145778": [ + 304 + ], + "local-6989586621679145779": [ + 304 + ], + "local-6989586621679145780": [ + 304 + ], + "local-6989586621679145781": [ + 304 + ], + "local-6989586621679145782": [ + 304 + ], + "line-305": [ + 305 + ], + "line-306": [ + 306 + ], + "local-6989586621679145783": [ + 306 + ], + "line-307": [ + 307 + ], + "local-6989586621679145785": [ + 307 + ], + "line-308": [ + 308 + ], + "line-309": [ + 309 + ], + "line-310": [ + 310 + ], + "local-6989586621679145351": [ + 310 + ], + "line-311": [ + 311 + ], + "evaluateExpr": [ + 311 + ], + "local-6989586621679145792": [ + 311 + ], + "local-6989586621679145793": [ + 311 + ], + "local-6989586621679145794": [ + 311 + ], + "line-312": [ + 312 + ], + "local-6989586621679145797": [ + 312 + ], + "local-6989586621679145798": [ + 312 + ], + "line-313": [ + 313 + ], + "local-6989586621679145803": [ + 313 + ], + "local-6989586621679145804": [ + 313 + ], + "line-314": [ + 314 + ], + "local-6989586621679145806": [ + 314 + ], + "local-6989586621679145807": [ + 314 + ], + "line-315": [ + 315 + ], + "local-6989586621679145809": [ + 315 + ], + "local-6989586621679145810": [ + 315 + ], + "local-6989586621679145811": [ + 315 + ], + "line-316": [ + 316 + ], + "local-6989586621679145814": [ + 316 + ], + "local-6989586621679145816": [ + 316 + ], + "line-317": [ + 317 + ], + "local-6989586621679145817": [ + 317 + ], + "local-6989586621679145819": [ + 317 + ], + "line-318": [ + 318 + ], + "local-6989586621679145820": [ + 318 + ], + "line-319": [ + 319 + ], + "local-6989586621679145826": [ + 319 + ], + "local-6989586621679145827": [ + 319 + ], + "local-6989586621679145828": [ + 319 + ], + "line-320": [ + 320 + ], + "local-6989586621679145829": [ + 320 + ], + "local-6989586621679145830": [ + 320 + ], + "line-321": [ + 321 + ], + "local-6989586621679145831": [ + 321 + ], + "line-322": [ + 322 + ], + "line-323": [ + 323 + ], + "line-324": [ + 324 + ], + "line-325": [ + 325 + ], + "line-326": [ + 326 + ], + "local-6989586621679145834": [ + 326 + ], + "local-6989586621679145835": [ + 326 + ], + "line-327": [ + 327 + ], + "local-6989586621679145836": [ + 327 + ], + "local-6989586621679145837": [ + 327 + ], + "line-328": [ + 328 + ], + "local-6989586621679145838": [ + 328 + ], + "line-329": [ + 329 + ], + "line-330": [ + 330 + ], + "local-6989586621679145841": [ + 330 + ], + "local-6989586621679145842": [ + 330 + ], + "line-331": [ + 331 + ], + "local-6989586621679145843": [ + 331 + ], + "local-6989586621679145844": [ + 331 + ], + "line-332": [ + 332 + ], + "local-6989586621679145845": [ + 332 + ], + "line-333": [ + 333 + ], + "line-334": [ + 334 + ], + "line-335": [ + 335 + ], + "line-336": [ + 336 + ], + "someFieldKey": [ + 336 + ], + "local-6989586621679145846": [ + 336 + ], + "line-337": [ + 337 + ], + "line-338": [ + 338 + ], + "local-6989586621679145303": [ + 338 + ], + "line-339": [ + 339 + ], + "orderField": [ + 339 + ], + "local-6989586621679145848": [ + 339 + ], + "line-340": [ + 340 + ], + "line-341": [ + 341 + ], + "local-6989586621679145384": [ + 341 + ], + "line-342": [ + 342 + ], + "numberRequirement": [ + 342 + ], + "line-343": [ + 343 + ], + "local-6989586621679145850": [ + 343 + ], + "line-344": [ + 344 + ], + "local-6989586621679145851": [ + 344 + ], + "line-345": [ + 345 + ], + "local-6989586621679145852": [ + 345 + ], + "line-346": [ + 346 + ], + "local-6989586621679145853": [ + 346 + ], + "line-347": [ + 347 + ], + "line-348": [ + 348 + ], + "local-6989586621679145299": [ + 348 + ], + "line-349": [ + 349 + ], + "exprRequirements": [ + 349 + ], + "line-350": [ + 350 + ], + "local-6989586621679145864": [ + 350 + ], + "line-351": [ + 351 + ], + "local-6989586621679145867": [ + 351 + ], + "line-352": [ + 352 + ], + "local-6989586621679145868": [ + 352 + ], + "line-353": [ + 353 + ], + "local-6989586621679145869": [ + 353 + ], + "line-354": [ + 354 + ], + "local-6989586621679145870": [ + 354 + ], + "line-355": [ + 355 + ], + "local-6989586621679145872": [ + 355 + ], + "line-356": [ + 356 + ], + "local-6989586621679145873": [ + 356 + ], + "line-357": [ + 357 + ], + "local-6989586621679145875": [ + 357 + ], + "local-6989586621679145876": [ + 357 + ], + "line-358": [ + 358 + ], + "local-6989586621679145879": [ + 358 + ], + "local-6989586621679145880": [ + 358 + ], + "line-359": [ + 359 + ], + "local-6989586621679145882": [ + 359 + ], + "local-6989586621679145883": [ + 359 + ], + "line-360": [ + 360 + ], + "line-361": [ + 361 + ], + "local-6989586621679145877": [ + 361 + ], + "local-6989586621679145889": [ + 361 + ], + "local-6989586621679145890": [ + 361 + ], + "local-6989586621679145891": [ + 361 + ], + "line-362": [ + 362 + ], + "line-363": [ + 363 + ], + "local-6989586621679145369": [ + 363 + ], + "line-364": [ + 364 + ], + "numberValue": [ + 364 + ], + "local-6989586621679145893": [ + 364 + ], + "local-6989586621679145894": [ + 364 + ], + "line-365": [ + 365 + ], + "local-6989586621679145895": [ + 365 + ], + "line-366": [ + 366 + ], + "local-6989586621679145896": [ + 366 + ], + "line-367": [ + 367 + ], + "local-6989586621679145898": [ + 367 + ], + "line-368": [ + 368 + ], + "local-6989586621679145900": [ + 368 + ], + "line-369": [ + 369 + ], + "line-370": [ + 370 + ], + "line-371": [ + 371 + ], + "compareNumber": [ + 371 + ], + "line-372": [ + 372 + ], + "line-373": [ + 373 + ], + "local-6989586621679145356": [ + 373 + ], + "line-374": [ + 374 + ], + "compareRows": [ + 374 + ], + "local-6989586621679145907": [ + 374 + ], + "local-6989586621679145908": [ + 374 + ], + "local-6989586621679145909": [ + 374 + ], + "line-375": [ + 375 + ], + "line-376": [ + 376 + ], + "local-6989586621679145910": [ + 376 + ], + "local-6989586621679145914": [ + 376 + ], + "local-6989586621679145915": [ + 376 + ], + "line-377": [ + 377 + ], + "line-378": [ + 378 + ], + "line-379": [ + 379 + ], + "line-380": [ + 380 + ], + "local-6989586621679145361": [ + 380 + ], + "line-381": [ + 381 + ], + "takeNatural": [ + 381 + ], + "line-382": [ + 382 + ], + "line-383": [ + 383 + ], + "local-6989586621679145922": [ + 383 + ], + "local-6989586621679145923": [ + 383 + ], + "local-6989586621679145924": [ + 383 + ], + "line-384": [ + 384 + ], + "line-385": [ + 385 + ], + "local-6989586621679145370": [ + 385 + ], + "local-6989586621679145371": [ + 385 + ], + "line-386": [ + 386 + ], + "allM": [ + 386 + ], + "line-387": [ + 387 + ], + "local-6989586621679145926": [ + 387 + ], + "local-6989586621679145927": [ + 387 + ], + "local-6989586621679145928": [ + 387 + ], + "line-388": [ + 388 + ], + "local-6989586621679145929": [ + 388 + ], + "line-389": [ + 389 + ], + "line-390": [ + 390 + ], + "line-391": [ + 391 + ], + "local-6989586621679145930": [ + 391 + ], + "local-6989586621679145931": [ + 391 + ], + "line-392": [ + 392 + ], + "anyM": [ + 392 + ], + "line-393": [ + 393 + ], + "local-6989586621679145933": [ + 393 + ], + "local-6989586621679145934": [ + 393 + ], + "local-6989586621679145935": [ + 393 + ], + "line-394": [ + 394 + ], + "local-6989586621679145936": [ + 394 + ], + "line-395": [ + 395 + ], + "line-396": [ + 396 + ], + "line-397": [ + 397 + ], + "local-6989586621679145304": [ + 397 + ], + "line-398": [ + 398 + ], + "sourceKey": [ + 398 + ], + "line-399": [ + 399 + ], + "line-400": [ + 400 + ], + "line-401": [ + 401 + ], + "line-402": [ + 402 + ], + "line-403": [ + 403 + ], + "line-404": [ + 404 + ], + "line-405": [ + 405 + ], + "line-406": [ + 406 + ], + "line-407": [ + 407 + ], + "local-6989586621679145352": [ + 407 + ], + "line-408": [ + 408 + ], + "sourceRows": [ + 408 + ], + "local-6989586621679145952": [ + 408 + ], + "line-409": [ + 409 + ], + "line-410": [ + 410 + ], + "line-411": [ + 411 + ], + "line-412": [ + 412 + ], + "line-413": [ + 413 + ], + "line-414": [ + 414 + ], + "line-415": [ + 415 + ], + "line-416": [ + 416 + ], + "local-6989586621679145955": [ + 416 + ], + "line-417": [ + 417 + ], + "line-418": [ + 418 + ], + "line-419": [ + 419 + ], + "local-6989586621679145289": [ + 419 + ], + "local-6989586621679145290": [ + 419 + ], + "line-420": [ + 420 + ], + "manyDescriptor": [ + 420 + ], + "line-421": [ + 421 + ], + "local-6989586621679145973": [ + 421 + ], + "local-6989586621679145974": [ + 421 + ], + "line-422": [ + 422 + ], + "local-6989586621679145986": [ + 422 + ], + "local-6989586621679145987": [ + 422 + ], + "line-423": [ + 423 + ], + "local-6989586621679145988": [ + 423 + ], + "local-6989586621679145989": [ + 423 + ], + "line-424": [ + 424 + ], + "line-425": [ + 425 + ], + "local-6989586621679145995": [ + 425 + ], + "local-6989586621679145996": [ + 425 + ], + "line-426": [ + 426 + ], + "local-6989586621679146008": [ + 426 + ], + "local-6989586621679146009": [ + 426 + ], + "line-427": [ + 427 + ], + "line-428": [ + 428 + ], + "local-6989586621679146011": [ + 428 + ], + "line-429": [ + 429 + ], + "local-6989586621679146017": [ + 429 + ], + "local-6989586621679146018": [ + 429 + ], + "line-430": [ + 430 + ], + "line-431": [ + 431 + ], + "local-6989586621679145291": [ + 431 + ], + "local-6989586621679145292": [ + 431 + ], + "line-432": [ + 432 + ], + "oneDescriptor": [ + 432 + ], + "line-433": [ + 433 + ], + "local-6989586621679146024": [ + 433 + ], + "local-6989586621679146025": [ + 433 + ], + "line-434": [ + 434 + ], + "local-6989586621679146031": [ + 434 + ], + "local-6989586621679146032": [ + 434 + ], + "line-435": [ + 435 + ], + "local-6989586621679146039": [ + 435 + ], + "local-6989586621679146040": [ + 435 + ], + "line-436": [ + 436 + ], + "local-6989586621679146046": [ + 436 + ], + "line-437": [ + 437 + ], + "local-6989586621679146052": [ + 437 + ], + "line-438": [ + 438 + ], + "local-6989586621679146058": [ + 438 + ], + "line-439": [ + 439 + ], + "local-6989586621679146064": [ + 439 + ], + "line-440": [ + 440 + ], + "local-6989586621679146070": [ + 440 + ], + "line-441": [ + 441 + ], + "line-442": [ + 442 + ], + "local-6989586621679145294": [ + 442 + ], + "local-6989586621679145295": [ + 442 + ], + "line-443": [ + 443 + ], + "optionalDescriptor": [ + 443 + ], + "line-444": [ + 444 + ], + "local-6989586621679146076": [ + 444 + ], + "line-445": [ + 445 + ] + }, + "LibTmux.Internal.Runtime": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "line-36": [ + 36 + ], + "line-37": [ + 37 + ], + "line-38": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "line-41": [ + 41 + ], + "line-42": [ + 42 + ], + "line-43": [ + 43 + ], + "line-44": [ + 44 + ], + "line-45": [ + 45 + ], + "line-46": [ + 46 + ], + "line-47": [ + 47 + ], + "line-48": [ + 48 + ], + "line-49": [ + 49 + ], + "line-50": [ + 50 + ], + "line-51": [ + 51 + ], + "line-52": [ + 52 + ], + "line-53": [ + 53 + ], + "line-54": [ + 54 + ], + "line-55": [ + 55 + ], + "line-56": [ + 56 + ], + "line-57": [ + 57 + ], + "line-58": [ + 58 + ], + "line-59": [ + 59 + ], + "line-60": [ + 60 + ], + "Runtime": [ + 60, + 60 + ], + "line-61": [ + 61 + ], + "identity": [ + 61 + ], + "line-62": [ + 62 + ], + "budget": [ + 62 + ], + "entries": [ + 62 + ], + "nextKey": [ + 62 + ], + "line-63": [ + 63 + ], + "forker": [ + 63 + ], + "line-64": [ + 64 + ], + "shutdownRun": [ + 64, + 70 + ], + "line-65": [ + 65 + ], + "scheduler": [ + 65 + ], + "owners": [ + 65 + ], + "line-66": [ + 66 + ], + "line-67": [ + 67 + ], + "ServerOwner": [ + 67, + 67 + ], + "line-68": [ + 68 + ], + "key": [ + 68 + ], + "group": [ + 68 + ], + "pool": [ + 68 + ], + "line-69": [ + 69 + ], + "closeFailure": [ + 69 + ], + "line-70": [ + 70 + ], + "line-71": [ + 71 + ], + "line-72": [ + 72 + ], + "ServerHandle": [ + 72, + 72 + ], + "line-73": [ + 73 + ], + "line-74": [ + 74 + ], + "line-75": [ + 75 + ], + "line-76": [ + 76 + ], + "Report": [ + 76, + 76 + ], + "line-77": [ + 77 + ], + "accepting": [ + 77 + ], + "pending": [ + 77 + ], + "line-78": [ + 78 + ], + "closeFailures": [ + 78 + ], + "line-79": [ + 79 + ], + "unresolved": [ + 79 + ], + "line-80": [ + 80 + ], + "readWorkers": [ + 80 + ], + "line-81": [ + 81 + ], + "local-6989586621679147478": [ + 81 + ], + "local-6989586621679147493": [ + 81 + ], + "local-6989586621679147497": [ + 81 + ], + "line-82": [ + 82 + ], + "line-83": [ + 83 + ], + "line-84": [ + 84 + ], + "ReadClass": [ + 84 + ], + "InspectionRead": [ + 84 + ], + "ScalarRead": [ + 84 + ], + "line-85": [ + 85 + ], + "local-6989586621679147517": [ + 85 + ], + "local-6989586621679147522": [ + 85 + ], + "local-6989586621679147527": [ + 85 + ], + "local-6989586621679147529": [ + 85 + ], + "local-6989586621679147533": [ + 85 + ], + "line-86": [ + 86 + ], + "line-87": [ + 87 + ], + "line-88": [ + 88 + ], + "line-89": [ + 89 + ], + "Request": [ + 89, + 89 + ], + "local-6989586621679146821": [ + 89 + ], + "line-90": [ + 90 + ], + "line-91": [ + 91 + ], + "line-92": [ + 92 + ], + "line-93": [ + 93 + ], + "ReadReceipt": [ + 93, + 93 + ], + "line-94": [ + 94 + ], + "local-6989586621679147538": [ + 94 + ], + "local-6989586621679147545": [ + 94 + ], + "line-95": [ + 95 + ], + "local-6989586621679147550": [ + 95 + ], + "local-6989586621679147554": [ + 95 + ], + "line-96": [ + 96 + ], + "local-6989586621679147559": [ + 96 + ], + "local-6989586621679147560": [ + 96 + ], + "local-6989586621679147561": [ + 96 + ], + "line-97": [ + 97 + ], + "line-98": [ + 98 + ], + "local-6989586621679147570": [ + 98 + ], + "line-99": [ + 99 + ], + "line-100": [ + 100 + ], + "line-101": [ + 101 + ], + "line-102": [ + 102 + ], + "ReadRecovery": [ + 102, + 102 + ], + "line-103": [ + 103 + ], + "logical": [ + 103 + ], + "line-104": [ + 104 + ], + "workerOwned": [ + 104 + ], + "line-105": [ + 105 + ], + "workerFailure": [ + 105 + ], + "line-106": [ + 106 + ], + "nativeOwned": [ + 106 + ], + "line-107": [ + 107 + ], + "nativeFailure": [ + 107 + ], + "line-108": [ + 108 + ], + "local-6989586621679147582": [ + 108 + ], + "local-6989586621679147591": [ + 108 + ], + "local-6989586621679147595": [ + 108 + ], + "line-109": [ + 109 + ], + "line-110": [ + 110 + ], + "PidRead": [ + 110 + ], + "line-111": [ + 111 + ], + "line-112": [ + 112 + ], + "VersionRead": [ + 112 + ], + "line-113": [ + 113 + ], + "line-114": [ + 114 + ], + "ReadResult": [ + 114 + ], + "local-6989586621679146852": [ + 114 + ], + "ReadValue": [ + 114 + ], + "ReadUnavailable": [ + 114 + ], + "line-115": [ + 115 + ], + "local-6989586621679147601": [ + 115 + ], + "local-6989586621679147610": [ + 115 + ], + "local-6989586621679147615": [ + 115 + ], + "line-116": [ + 116 + ], + "line-117": [ + 117 + ], + "ReadCommand": [ + 117 + ], + "local-6989586621679147618": [ + 117 + ], + "line-118": [ + 118 + ], + "ReadPid": [ + 118 + ], + "line-119": [ + 119 + ], + "ReadVersion": [ + 119 + ], + "line-120": [ + 120 + ], + "ReadTopology": [ + 120 + ], + "line-121": [ + 121 + ], + "ReadEntityField": [ + 121 + ], + "line-122": [ + 122 + ], + "ReadGraph": [ + 122 + ], + "line-123": [ + 123 + ], + "ReadSnapshot": [ + 123 + ], + "line-124": [ + 124 + ], + "line-125": [ + 125 + ], + "NativeCommand": [ + 125 + ], + "local-6989586621679147625": [ + 125 + ], + "line-126": [ + 126 + ], + "local-6989586621679146801": [ + 126 + ], + "Observe": [ + 126 + ], + "line-127": [ + 127 + ], + "Mutate": [ + 127 + ], + "line-128": [ + 128 + ], + "line-129": [ + 129 + ], + "line-130": [ + 130 + ], + "ResultDecoder": [ + 130 + ], + "local-6989586621679147628": [ + 130 + ], + "line-131": [ + 131 + ], + "local-6989586621679146832": [ + 131 + ], + "ObservationResult": [ + 131 + ], + "line-132": [ + 132 + ], + "MutationResult": [ + 132 + ], + "line-133": [ + 133 + ], + "line-134": [ + 134 + ], + "line-135": [ + 135 + ], + "EntityField": [ + 135 + ], + "line-136": [ + 136 + ], + "SessionName": [ + 136 + ], + "WindowName": [ + 136 + ], + "line-137": [ + 137 + ], + "PaneTitle": [ + 137 + ], + "PaneCommand": [ + 137 + ], + "PanePath": [ + 137 + ], + "line-138": [ + 138 + ], + "local-6989586621679147637": [ + 138 + ], + "local-6989586621679147649": [ + 138 + ], + "local-6989586621679147653": [ + 138 + ], + "local-6989586621679147668": [ + 138 + ], + "local-6989586621679147672": [ + 138 + ], + "line-139": [ + 139 + ], + "line-140": [ + 140 + ], + "ReadError": [ + 140 + ], + "line-141": [ + 141 + ], + "ForeignServer": [ + 141 + ], + "InvalidReadDeadline": [ + 141 + ], + "ReadClockOverflow": [ + 141 + ], + "line-142": [ + 142 + ], + "ReadExpired": [ + 142 + ], + "ReadCancelled": [ + 142 + ], + "ReadClosing": [ + 142 + ], + "line-143": [ + 143 + ], + "InvalidReadFrame": [ + 143 + ], + "InvalidServerPid": [ + 143 + ], + "line-144": [ + 144 + ], + "InvalidRecordFrame": [ + 144 + ], + "line-145": [ + 145 + ], + "InvalidVersionEncoding": [ + 145 + ], + "InvalidServerVersion": [ + 145 + ], + "line-146": [ + 146 + ], + "InvalidEntityReceipt": [ + 146 + ], + "line-147": [ + 147 + ], + "InvalidCommandOperands": [ + 147 + ], + "line-148": [ + 148 + ], + "InvalidCommandReply": [ + 148 + ], + "line-149": [ + 149 + ], + "ReadExit": [ + 149 + ], + "ReadStderr": [ + 149 + ], + "line-150": [ + 150 + ], + "local-6989586621679147691": [ + 150 + ], + "local-6989586621679147709": [ + 150 + ], + "local-6989586621679147714": [ + 150 + ], + "local-6989586621679147738": [ + 150 + ], + "local-6989586621679147742": [ + 150 + ], + "line-151": [ + 151 + ], + "local-6989586621679147750": [ + 151 + ], + "local-6989586621679147753": [ + 151 + ], + "local-6989586621679147756": [ + 151 + ], + "local-6989586621679147759": [ + 151 + ], + "line-152": [ + 152 + ], + "line-153": [ + 153 + ], + "Submission": [ + 153 + ], + "NotSubmitted": [ + 153 + ], + "Registering": [ + 153 + ], + "Submitted": [ + 153 + ], + "SubmissionRefused": [ + 153 + ], + "line-154": [ + 154 + ], + "line-155": [ + 155 + ], + "NativeOwner": [ + 155, + 156 + ], + "line-156": [ + 156 + ], + "local-6989586621679147766": [ + 156 + ], + "line-157": [ + 157 + ], + "operation": [ + 157 + ], + "line-158": [ + 158 + ], + "receipt": [ + 158 + ], + "line-159": [ + 159 + ], + "decoder": [ + 159 + ], + "result": [ + 159 + ], + "line-160": [ + 160 + ], + "nonce": [ + 160 + ], + "deadline": [ + 160 + ], + "line-161": [ + 161 + ], + "envelope": [ + 161 + ], + "submission": [ + 161 + ], + "line-162": [ + 162 + ], + "cancelled": [ + 162 + ], + "busy": [ + 162 + ], + "line-163": [ + 163 + ], + "failure": [ + 163 + ], + "line-164": [ + 164 + ], + "line-165": [ + 165 + ], + "line-166": [ + 166 + ], + "line-167": [ + 167 + ], + "newRuntime": [ + 167 + ], + "local-6989586621679147779": [ + 167 + ], + "line-168": [ + 168 + ], + "local-6989586621679147780": [ + 168 + ], + "line-169": [ + 169 + ], + "local-6989586621679147781": [ + 169 + ], + "line-170": [ + 170 + ], + "local-6989586621679147784": [ + 170 + ], + "line-171": [ + 171 + ], + "local-6989586621679147787": [ + 171 + ], + "line-172": [ + 172 + ], + "local-6989586621679147788": [ + 172 + ], + "line-173": [ + 173 + ], + "local-6989586621679147789": [ + 173 + ], + "line-174": [ + 174 + ], + "local-6989586621679147791": [ + 174 + ], + "line-175": [ + 175 + ], + "line-176": [ + 176 + ], + "line-177": [ + 177 + ], + "line-178": [ + 178 + ], + "line-179": [ + 179 + ], + "line-180": [ + 180 + ], + "line-181": [ + 181 + ], + "adopt": [ + 181 + ], + "line-182": [ + 182 + ], + "line-183": [ + 183 + ], + "line-184": [ + 184 + ], + "line-185": [ + 185 + ], + "adoptWith": [ + 185 + ], + "local-6989586621679147792": [ + 185 + ], + "local-6989586621679147793": [ + 185 + ], + "local-6989586621679147794": [ + 185 + ], + "local-6989586621679147795": [ + 185 + ], + "local-6989586621679147797": [ + 185 + ], + "line-186": [ + 186 + ], + "local-6989586621679147798": [ + 186 + ], + "line-187": [ + 187 + ], + "local-6989586621679147799": [ + 187 + ], + "line-188": [ + 188 + ], + "line-189": [ + 189 + ], + "line-190": [ + 190 + ], + "line-191": [ + 191 + ], + "line-192": [ + 192 + ], + "line-193": [ + 193 + ], + "newServerOwner": [ + 193 + ], + "local-6989586621679147803": [ + 193 + ], + "local-6989586621679147804": [ + 193 + ], + "line-194": [ + 194 + ], + "local-6989586621679147806": [ + 194 + ], + "line-195": [ + 195 + ], + "local-6989586621679147808": [ + 195 + ], + "line-196": [ + 196 + ], + "line-197": [ + 197 + ], + "line-198": [ + 198 + ], + "local-6989586621679147811": [ + 198 + ], + "line-199": [ + 199 + ], + "line-200": [ + 200 + ], + "local-6989586621679147816": [ + 200 + ], + "line-201": [ + 201 + ], + "local-6989586621679147818": [ + 201 + ], + "line-202": [ + 202 + ], + "local-6989586621679147820": [ + 202 + ], + "line-203": [ + 203 + ], + "local-6989586621679147821": [ + 203 + ], + "line-204": [ + 204 + ], + "line-205": [ + 205 + ], + "line-206": [ + 206 + ], + "line-207": [ + 207 + ], + "line-208": [ + 208 + ], + "line-209": [ + 209 + ], + "line-210": [ + 210 + ], + "line-211": [ + 211 + ], + "line-212": [ + 212 + ], + "line-213": [ + 213 + ], + "line-214": [ + 214 + ], + "line-215": [ + 215 + ], + "adoptServerOwnerWith": [ + 215 + ], + "local-6989586621679147826": [ + 215 + ], + "local-6989586621679147827": [ + 215 + ], + "local-6989586621679147828": [ + 215 + ], + "local-6989586621679147829": [ + 215 + ], + "local-6989586621679147830": [ + 215 + ], + "local-6989586621679147831": [ + 215 + ], + "line-216": [ + 216 + ], + "local-6989586621679147832": [ + 216 + ], + "line-217": [ + 217 + ], + "line-218": [ + 218 + ], + "local-6989586621679147834": [ + 218 + ], + "line-219": [ + 219 + ], + "local-6989586621679147835": [ + 219 + ], + "line-220": [ + 220 + ], + "line-221": [ + 221 + ], + "line-222": [ + 222 + ], + "local-6989586621679147839": [ + 222 + ], + "line-223": [ + 223 + ], + "line-224": [ + 224 + ], + "line-225": [ + 225 + ], + "line-226": [ + 226 + ], + "line-227": [ + 227 + ], + "serverPool": [ + 227 + ], + "local-6989586621679147841": [ + 227 + ], + "line-228": [ + 228 + ], + "line-229": [ + 229 + ], + "line-230": [ + 230 + ], + "serverPin": [ + 230 + ], + "local-6989586621679147842": [ + 230 + ], + "line-231": [ + 231 + ], + "line-232": [ + 232 + ], + "line-233": [ + 233 + ], + "usage": [ + 233 + ], + "local-6989586621679147843": [ + 233 + ], + "line-234": [ + 234 + ], + "line-235": [ + 235 + ], + "line-236": [ + 236 + ], + "line-237": [ + 237 + ], + "line-238": [ + 238 + ], + "inspect": [ + 238 + ], + "local-6989586621679147846": [ + 238 + ], + "line-239": [ + 239 + ], + "local-6989586621679147847": [ + 239 + ], + "line-240": [ + 240 + ], + "local-6989586621679147848": [ + 240 + ], + "local-6989586621679147850": [ + 240 + ], + "local-6989586621679147851": [ + 240 + ], + "line-241": [ + 241 + ], + "local-6989586621679147852": [ + 241 + ], + "line-242": [ + 242 + ], + "local-6989586621679147854": [ + 242 + ], + "line-243": [ + 243 + ], + "line-244": [ + 244 + ], + "local-6989586621679147855": [ + 244 + ], + "line-245": [ + 245 + ], + "local-6989586621679147856": [ + 245 + ], + "local-6989586621679147857": [ + 245 + ], + "local-6989586621679147858": [ + 245 + ], + "local-6989586621679147859": [ + 245 + ], + "line-246": [ + 246 + ], + "local-6989586621679147862": [ + 246 + ], + "local-6989586621679147863": [ + 246 + ], + "line-247": [ + 247 + ], + "local-6989586621679147864": [ + 247 + ], + "line-248": [ + 248 + ], + "local-6989586621679147865": [ + 248 + ], + "line-249": [ + 249 + ], + "local-6989586621679147867": [ + 249 + ], + "line-250": [ + 250 + ], + "local-6989586621679147868": [ + 250 + ], + "line-251": [ + 251 + ], + "line-252": [ + 252 + ], + "local-6989586621679147871": [ + 252 + ], + "local-6989586621679147872": [ + 252 + ], + "line-253": [ + 253 + ], + "local-6989586621679147873": [ + 253 + ], + "local-6989586621679147874": [ + 253 + ], + "line-254": [ + 254 + ], + "line-255": [ + 255 + ], + "line-256": [ + 256 + ], + "local-6989586621679147860": [ + 256 + ], + "line-257": [ + 257 + ], + "line-258": [ + 258 + ], + "line-259": [ + 259 + ], + "line-260": [ + 260 + ], + "line-261": [ + 261 + ], + "line-262": [ + 262 + ], + "inspectServerHandle": [ + 262 + ], + "local-6989586621679147875": [ + 262 + ], + "local-6989586621679147876": [ + 262 + ], + "line-263": [ + 263 + ], + "line-264": [ + 264 + ], + "line-265": [ + 265 + ], + "inspectServerOwner": [ + 265 + ], + "local-6989586621679147877": [ + 265 + ], + "local-6989586621679147878": [ + 265 + ], + "line-266": [ + 266 + ], + "line-267": [ + 267 + ], + "local-6989586621679147879": [ + 267 + ], + "line-268": [ + 268 + ], + "local-6989586621679147880": [ + 268 + ], + "line-269": [ + 269 + ], + "local-6989586621679147881": [ + 269 + ], + "line-270": [ + 270 + ], + "local-6989586621679147882": [ + 270 + ], + "line-271": [ + 271 + ], + "local-6989586621679147883": [ + 271 + ], + "line-272": [ + 272 + ], + "local-6989586621679147885": [ + 272 + ], + "line-273": [ + 273 + ], + "local-6989586621679147887": [ + 273 + ], + "line-274": [ + 274 + ], + "line-275": [ + 275 + ], + "line-276": [ + 276 + ], + "line-277": [ + 277 + ], + "local-6989586621679147889": [ + 277 + ], + "line-278": [ + 278 + ], + "line-279": [ + 279 + ], + "line-280": [ + 280 + ], + "line-281": [ + 281 + ], + "line-282": [ + 282 + ], + "validateEntry": [ + 282 + ], + "local-6989586621679147890": [ + 282 + ], + "local-6989586621679147891": [ + 282 + ], + "line-283": [ + 283 + ], + "line-284": [ + 284 + ], + "line-285": [ + 285 + ], + "line-286": [ + 286 + ], + "serverReads": [ + 286 + ], + "local-6989586621679147892": [ + 286 + ], + "local-6989586621679147893": [ + 286 + ], + "line-287": [ + 287 + ], + "line-288": [ + 288 + ], + "line-289": [ + 289 + ], + "line-290": [ + 290 + ], + "workerStatus": [ + 290 + ], + "local-6989586621679147897": [ + 290 + ], + "local-6989586621679147898": [ + 290 + ], + "line-291": [ + 291 + ], + "line-292": [ + 292 + ], + "line-293": [ + 293 + ], + "line-294": [ + 294 + ], + "line-295": [ + 295 + ], + "closeServerAdmission": [ + 295 + ], + "local-6989586621679147900": [ + 295 + ], + "local-6989586621679147901": [ + 295 + ], + "line-296": [ + 296 + ], + "line-297": [ + 297 + ], + "line-298": [ + 298 + ], + "local-6989586621679147902": [ + 298 + ], + "line-299": [ + 299 + ], + "local-6989586621679147903": [ + 299 + ], + "line-300": [ + 300 + ], + "local-6989586621679147904": [ + 300 + ], + "line-301": [ + 301 + ], + "line-302": [ + 302 + ], + "line-303": [ + 303 + ], + "line-304": [ + 304 + ], + "requestServerClose": [ + 304 + ], + "local-6989586621679147909": [ + 304 + ], + "local-6989586621679147910": [ + 304 + ], + "line-305": [ + 305 + ], + "line-306": [ + 306 + ], + "line-307": [ + 307 + ], + "line-308": [ + 308 + ], + "line-309": [ + 309 + ], + "line-310": [ + 310 + ], + "line-311": [ + 311 + ], + "line-312": [ + 312 + ], + "line-313": [ + 313 + ], + "line-314": [ + 314 + ], + "shutdownServerHandle": [ + 314 + ], + "local-6989586621679147913": [ + 314 + ], + "local-6989586621679147914": [ + 314 + ], + "line-315": [ + 315 + ], + "line-316": [ + 316 + ], + "line-317": [ + 317 + ], + "shutdownServerOwner": [ + 317 + ], + "local-6989586621679147915": [ + 317 + ], + "local-6989586621679147916": [ + 317 + ], + "local-6989586621679147917": [ + 317 + ], + "line-318": [ + 318 + ], + "line-319": [ + 319 + ], + "line-320": [ + 320 + ], + "line-321": [ + 321 + ], + "line-322": [ + 322 + ], + "line-323": [ + 323 + ], + "line-324": [ + 324 + ], + "line-325": [ + 325 + ], + "awaitServerOwnerCleanup": [ + 325 + ], + "local-6989586621679147920": [ + 325 + ], + "local-6989586621679147921": [ + 325 + ], + "line-326": [ + 326 + ], + "local-6989586621679147922": [ + 326 + ], + "line-327": [ + 327 + ], + "line-328": [ + 328 + ], + "local-6989586621679147923": [ + 328 + ], + "line-329": [ + 329 + ], + "line-330": [ + 330 + ], + "line-331": [ + 331 + ], + "local-6989586621679147925": [ + 331 + ], + "line-332": [ + 332 + ], + "local-6989586621679147926": [ + 332 + ], + "line-333": [ + 333 + ], + "line-334": [ + 334 + ], + "line-335": [ + 335 + ], + "line-336": [ + 336 + ], + "line-337": [ + 337 + ], + "line-338": [ + 338 + ], + "line-339": [ + 339 + ], + "line-340": [ + 340 + ], + "detachServerOwnerOperation": [ + 340 + ], + "local-6989586621679147930": [ + 340 + ], + "local-6989586621679147931": [ + 340 + ], + "local-6989586621679147932": [ + 340 + ], + "line-341": [ + 341 + ], + "line-342": [ + 342 + ], + "line-343": [ + 343 + ], + "line-344": [ + 344 + ], + "line-345": [ + 345 + ], + "line-346": [ + 346 + ], + "closeServerHandle": [ + 346 + ], + "local-6989586621679147933": [ + 346 + ], + "line-347": [ + 347 + ], + "line-348": [ + 348 + ], + "line-349": [ + 349 + ], + "closeEntry": [ + 349 + ], + "local-6989586621679147935": [ + 349 + ], + "line-350": [ + 350 + ], + "local-6989586621679147936": [ + 350 + ], + "line-351": [ + 351 + ], + "line-352": [ + 352 + ], + "local-6989586621679147938": [ + 352 + ], + "line-353": [ + 353 + ], + "line-354": [ + 354 + ], + "line-355": [ + 355 + ], + "line-356": [ + 356 + ], + "line-357": [ + 357 + ], + "line-358": [ + 358 + ], + "line-359": [ + 359 + ], + "line-360": [ + 360 + ], + "requestClose": [ + 360 + ], + "local-6989586621679147941": [ + 360 + ], + "line-361": [ + 361 + ], + "local-6989586621679147942": [ + 361 + ], + "line-362": [ + 362 + ], + "line-363": [ + 363 + ], + "line-364": [ + 364 + ], + "local-6989586621679147945": [ + 364 + ], + "line-365": [ + 365 + ], + "local-6989586621679147946": [ + 365 + ], + "line-366": [ + 366 + ], + "local-6989586621679147947": [ + 366 + ], + "line-367": [ + 367 + ], + "line-368": [ + 368 + ], + "line-369": [ + 369 + ], + "line-370": [ + 370 + ], + "line-371": [ + 371 + ], + "line-372": [ + 372 + ], + "line-373": [ + 373 + ], + "line-374": [ + 374 + ], + "line-375": [ + 375 + ], + "line-376": [ + 376 + ], + "line-377": [ + 377 + ], + "line-378": [ + 378 + ], + "line-379": [ + 379 + ], + "awaitCleanup": [ + 379 + ], + "local-6989586621679147951": [ + 379 + ], + "line-380": [ + 380 + ], + "local-6989586621679147952": [ + 380 + ], + "line-381": [ + 381 + ], + "line-382": [ + 382 + ], + "local-6989586621679147953": [ + 382 + ], + "line-383": [ + 383 + ], + "line-384": [ + 384 + ], + "line-385": [ + 385 + ], + "local-6989586621679147954": [ + 385 + ], + "line-386": [ + 386 + ], + "line-387": [ + 387 + ], + "local-6989586621679147955": [ + 387 + ], + "line-388": [ + 388 + ], + "line-389": [ + 389 + ], + "local-6989586621679147956": [ + 389 + ], + "line-390": [ + 390 + ], + "line-391": [ + 391 + ], + "line-392": [ + 392 + ], + "line-393": [ + 393 + ], + "line-394": [ + 394 + ], + "line-395": [ + 395 + ], + "line-396": [ + 396 + ], + "line-397": [ + 397 + ], + "line-398": [ + 398 + ], + "line-399": [ + 399 + ], + "line-400": [ + 400 + ], + "line-401": [ + 401 + ], + "line-402": [ + 402 + ], + "line-403": [ + 403 + ], + "shutdown": [ + 403 + ], + "local-6989586621679147957": [ + 403 + ], + "local-6989586621679147958": [ + 403 + ], + "line-404": [ + 404 + ], + "line-405": [ + 405 + ], + "line-406": [ + 406 + ], + "line-407": [ + 407 + ], + "line-408": [ + 408 + ], + "line-409": [ + 409 + ], + "runShutdown": [ + 409 + ], + "local-6989586621679147960": [ + 409 + ], + "local-6989586621679147961": [ + 409 + ], + "local-6989586621679147962": [ + 409 + ], + "local-6989586621679147963": [ + 409 + ], + "local-6989586621679147964": [ + 409 + ], + "local-6989586621679147965": [ + 409 + ], + "line-410": [ + 410 + ], + "local-6989586621679147966": [ + 410 + ], + "local-6989586621679147967": [ + 410 + ], + "line-411": [ + 411 + ], + "line-412": [ + 412 + ], + "local-6989586621679147968": [ + 412 + ], + "line-413": [ + 413 + ], + "local-6989586621679147969": [ + 413 + ], + "line-414": [ + 414 + ], + "line-415": [ + 415 + ], + "local-6989586621679147970": [ + 415 + ], + "line-416": [ + 416 + ], + "line-417": [ + 417 + ], + "local-6989586621679147972": [ + 417 + ], + "line-418": [ + 418 + ], + "line-419": [ + 419 + ], + "local-6989586621679147973": [ + 419 + ], + "line-420": [ + 420 + ], + "line-421": [ + 421 + ], + "line-422": [ + 422 + ], + "local-6989586621679147975": [ + 422 + ], + "line-423": [ + 423 + ], + "line-424": [ + 424 + ], + "local-6989586621679147976": [ + 424 + ], + "local-6989586621679147977": [ + 424 + ], + "line-425": [ + 425 + ], + "line-426": [ + 426 + ], + "line-427": [ + 427 + ], + "local-6989586621679147979": [ + 427 + ], + "line-428": [ + 428 + ], + "local-6989586621679147980": [ + 428 + ], + "line-429": [ + 429 + ], + "line-430": [ + 430 + ], + "line-431": [ + 431 + ], + "line-432": [ + 432 + ], + "line-433": [ + 433 + ], + "line-434": [ + 434 + ], + "shutdownPhases": [ + 434 + ], + "local-6989586621679147983": [ + 434 + ], + "line-435": [ + 435 + ], + "line-436": [ + 436 + ], + "local-6989586621679147984": [ + 436 + ], + "line-437": [ + 437 + ], + "line-438": [ + 438 + ], + "line-439": [ + 439 + ], + "line-440": [ + 440 + ], + "line-441": [ + 441 + ], + "local-6989586621679147987": [ + 441 + ], + "line-442": [ + 442 + ], + "line-443": [ + 443 + ], + "line-444": [ + 444 + ], + "line-445": [ + 445 + ], + "line-446": [ + 446 + ], + "line-447": [ + 447 + ], + "shutdownServerPhases": [ + 447 + ], + "local-6989586621679147989": [ + 447 + ], + "local-6989586621679147990": [ + 447 + ], + "line-448": [ + 448 + ], + "line-449": [ + 449 + ], + "local-6989586621679147991": [ + 449 + ], + "line-450": [ + 450 + ], + "line-451": [ + 451 + ], + "line-452": [ + 452 + ], + "line-453": [ + 453 + ], + "line-454": [ + 454 + ], + "line-455": [ + 455 + ], + "line-456": [ + 456 + ], + "line-457": [ + 457 + ], + "line-458": [ + 458 + ], + "line-459": [ + 459 + ], + "observeCleanup": [ + 459 + ], + "local-6989586621679147992": [ + 459 + ], + "line-460": [ + 460 + ], + "local-6989586621679147993": [ + 460 + ], + "line-461": [ + 461 + ], + "line-462": [ + 462 + ], + "line-463": [ + 463 + ], + "local-6989586621679146752": [ + 463 + ], + "line-464": [ + 464 + ], + "readOperation": [ + 464 + ], + "local-6989586621679147994": [ + 464 + ], + "line-465": [ + 465 + ], + "line-466": [ + 466 + ], + "local-6989586621679146755": [ + 466 + ], + "line-467": [ + 467 + ], + "readReceipt": [ + 467 + ], + "local-6989586621679147995": [ + 467 + ], + "line-468": [ + 468 + ], + "line-469": [ + 469 + ], + "line-470": [ + 470 + ], + "receiptGeneration": [ + 470 + ], + "local-6989586621679147996": [ + 470 + ], + "line-471": [ + 471 + ], + "line-472": [ + 472 + ], + "line-473": [ + 473 + ], + "receiptOperation": [ + 473 + ], + "local-6989586621679147997": [ + 473 + ], + "line-474": [ + 474 + ], + "line-475": [ + 475 + ], + "line-476": [ + 476 + ], + "validateReceipt": [ + 476 + ], + "local-6989586621679147999": [ + 476 + ], + "local-6989586621679148000": [ + 476 + ], + "local-6989586621679148001": [ + 476 + ], + "local-6989586621679148002": [ + 476 + ], + "line-477": [ + 477 + ], + "line-478": [ + 478 + ], + "line-479": [ + 479 + ], + "line-480": [ + 480 + ], + "line-481": [ + 481 + ], + "line-482": [ + 482 + ], + "line-483": [ + 483 + ], + "inspectReceipt": [ + 483 + ], + "local-6989586621679148004": [ + 483 + ], + "local-6989586621679148005": [ + 483 + ], + "local-6989586621679148006": [ + 483 + ], + "local-6989586621679148007": [ + 483 + ], + "local-6989586621679148008": [ + 483 + ], + "line-484": [ + 484 + ], + "line-485": [ + 485 + ], + "local-6989586621679148009": [ + 485 + ], + "line-486": [ + 486 + ], + "local-6989586621679148010": [ + 486 + ], + "line-487": [ + 487 + ], + "local-6989586621679148011": [ + 487 + ], + "line-488": [ + 488 + ], + "local-6989586621679148012": [ + 488 + ], + "line-489": [ + 489 + ], + "local-6989586621679148013": [ + 489 + ], + "line-490": [ + 490 + ], + "line-491": [ + 491 + ], + "local-6989586621679148014": [ + 491 + ], + "line-492": [ + 492 + ], + "local-6989586621679148015": [ + 492 + ], + "line-493": [ + 493 + ], + "local-6989586621679148016": [ + 493 + ], + "line-494": [ + 494 + ], + "local-6989586621679148018": [ + 494 + ], + "line-495": [ + 495 + ], + "line-496": [ + 496 + ], + "line-497": [ + 497 + ], + "line-498": [ + 498 + ], + "line-499": [ + 499 + ], + "line-500": [ + 500 + ], + "line-501": [ + 501 + ], + "resumeReceipt": [ + 501 + ], + "local-6989586621679148020": [ + 501 + ], + "local-6989586621679148021": [ + 501 + ], + "local-6989586621679148022": [ + 501 + ], + "local-6989586621679148023": [ + 501 + ], + "local-6989586621679148024": [ + 501 + ], + "line-502": [ + 502 + ], + "local-6989586621679148025": [ + 502 + ], + "local-6989586621679148026": [ + 502 + ], + "line-503": [ + 503 + ], + "line-504": [ + 504 + ], + "local-6989586621679148027": [ + 504 + ], + "line-505": [ + 505 + ], + "local-6989586621679148028": [ + 505 + ], + "line-506": [ + 506 + ], + "local-6989586621679148029": [ + 506 + ], + "line-507": [ + 507 + ], + "line-508": [ + 508 + ], + "line-509": [ + 509 + ], + "line-510": [ + 510 + ], + "local-6989586621679148031": [ + 510 + ], + "line-511": [ + 511 + ], + "line-512": [ + 512 + ], + "line-513": [ + 513 + ], + "line-514": [ + 514 + ], + "line-515": [ + 515 + ], + "cancelReceipt": [ + 515 + ], + "local-6989586621679148032": [ + 515 + ], + "local-6989586621679148033": [ + 515 + ], + "local-6989586621679148034": [ + 515 + ], + "local-6989586621679148035": [ + 515 + ], + "line-516": [ + 516 + ], + "line-517": [ + 517 + ], + "line-518": [ + 518 + ], + "line-519": [ + 519 + ], + "line-520": [ + 520 + ], + "line-521": [ + 521 + ], + "line-522": [ + 522 + ], + "detachReceipt": [ + 522 + ], + "local-6989586621679148037": [ + 522 + ], + "local-6989586621679148038": [ + 522 + ], + "local-6989586621679148039": [ + 522 + ], + "local-6989586621679148040": [ + 522 + ], + "line-523": [ + 523 + ], + "line-524": [ + 524 + ], + "line-525": [ + 525 + ], + "line-526": [ + 526 + ], + "local-6989586621679146760": [ + 526 + ], + "line-527": [ + 527 + ], + "readStatus": [ + 527 + ], + "line-528": [ + 528 + ], + "line-529": [ + 529 + ], + "line-530": [ + 530 + ], + "line-531": [ + 531 + ], + "local-6989586621679146762": [ + 531 + ], + "line-532": [ + 532 + ], + "awaitRead": [ + 532 + ], + "local-6989586621679148041": [ + 532 + ], + "line-533": [ + 533 + ], + "line-534": [ + 534 + ], + "line-535": [ + 535 + ], + "line-536": [ + 536 + ], + "readServerPid": [ + 536 + ], + "line-537": [ + 537 + ], + "line-538": [ + 538 + ], + "line-539": [ + 539 + ], + "line-540": [ + 540 + ], + "line-541": [ + 541 + ], + "readServerPidWith": [ + 541 + ], + "line-542": [ + 542 + ], + "line-543": [ + 543 + ], + "line-544": [ + 544 + ], + "line-545": [ + 545 + ], + "line-546": [ + 546 + ], + "mutateWith": [ + 546 + ], + "local-6989586621679148044": [ + 546 + ], + "local-6989586621679148045": [ + 546 + ], + "local-6989586621679148046": [ + 546 + ], + "local-6989586621679148047": [ + 546 + ], + "local-6989586621679148048": [ + 546 + ], + "local-6989586621679148049": [ + 546 + ], + "line-547": [ + 547 + ], + "line-548": [ + 548 + ], + "line-549": [ + 549 + ], + "line-550": [ + 550 + ], + "line-551": [ + 551 + ], + "line-552": [ + 552 + ], + "line-553": [ + 553 + ], + "readServerVersion": [ + 553 + ], + "line-554": [ + 554 + ], + "line-555": [ + 555 + ], + "line-556": [ + 556 + ], + "line-557": [ + 557 + ], + "readServerVersionWith": [ + 557 + ], + "line-558": [ + 558 + ], + "line-559": [ + 559 + ], + "line-560": [ + 560 + ], + "readTopologyWith": [ + 560 + ], + "line-561": [ + 561 + ], + "line-562": [ + 562 + ], + "line-563": [ + 563 + ], + "readEntityFieldWith": [ + 563 + ], + "local-6989586621679148052": [ + 563 + ], + "line-564": [ + 564 + ], + "line-565": [ + 565 + ], + "line-566": [ + 566 + ], + "line-567": [ + 567 + ], + "line-568": [ + 568 + ], + "line-569": [ + 569 + ], + "readGraphWith": [ + 569 + ], + "local-6989586621679148053": [ + 569 + ], + "local-6989586621679148054": [ + 569 + ], + "local-6989586621679148055": [ + 569 + ], + "local-6989586621679148056": [ + 569 + ], + "local-6989586621679148057": [ + 569 + ], + "line-570": [ + 570 + ], + "line-571": [ + 571 + ], + "line-572": [ + 572 + ], + "line-573": [ + 573 + ], + "line-574": [ + 574 + ], + "line-575": [ + 575 + ], + "readSnapshotWith": [ + 575 + ], + "local-6989586621679148058": [ + 575 + ], + "local-6989586621679148059": [ + 575 + ], + "local-6989586621679148060": [ + 575 + ], + "local-6989586621679148061": [ + 575 + ], + "local-6989586621679148062": [ + 575 + ], + "line-576": [ + 576 + ], + "line-577": [ + 577 + ], + "line-578": [ + 578 + ], + "line-579": [ + 579 + ], + "line-580": [ + 580 + ], + "local-6989586621679146776": [ + 580 + ], + "line-581": [ + 581 + ], + "withCaptureBudget": [ + 581 + ], + "local-6989586621679148069": [ + 581 + ], + "local-6989586621679148070": [ + 581 + ], + "line-582": [ + 582 + ], + "line-583": [ + 583 + ], + "line-584": [ + 584 + ], + "line-585": [ + 585 + ], + "local-6989586621679146782": [ + 585 + ], + "line-586": [ + 586 + ], + "commandArguments": [ + 586 + ], + "local-6989586621679148084": [ + 586 + ], + "local-6989586621679148085": [ + 586 + ], + "line-587": [ + 587 + ], + "line-588": [ + 588 + ], + "line-589": [ + 589 + ], + "line-590": [ + 590 + ], + "local-6989586621679148098": [ + 590 + ], + "local-6989586621679148099": [ + 590 + ], + "local-6989586621679148100": [ + 590 + ], + "line-591": [ + 591 + ], + "line-592": [ + 592 + ], + "local-6989586621679148104": [ + 592 + ], + "line-593": [ + 593 + ], + "local-6989586621679148108": [ + 593 + ], + "line-594": [ + 594 + ], + "line-595": [ + 595 + ], + "local-6989586621679148088": [ + 595 + ], + "line-596": [ + 596 + ], + "local-6989586621679148105": [ + 596 + ], + "local-6989586621679148111": [ + 596 + ], + "line-597": [ + 597 + ], + "line-598": [ + 598 + ], + "line-599": [ + 599 + ], + "entityField": [ + 599 + ], + "local-6989586621679148113": [ + 599 + ], + "line-600": [ + 600 + ], + "line-601": [ + 601 + ], + "local-6989586621679148120": [ + 601 + ], + "line-602": [ + 602 + ], + "line-603": [ + 603 + ], + "local-6989586621679148124": [ + 603 + ], + "line-604": [ + 604 + ], + "line-605": [ + 605 + ], + "local-6989586621679148128": [ + 605 + ], + "line-606": [ + 606 + ], + "line-607": [ + 607 + ], + "local-6989586621679148130": [ + 607 + ], + "line-608": [ + 608 + ], + "line-609": [ + 609 + ], + "line-610": [ + 610 + ], + "local-6989586621679146791": [ + 610 + ], + "local-6989586621679146792": [ + 610 + ], + "line-611": [ + 611 + ], + "fieldFormat": [ + 611 + ], + "local-6989586621679148136": [ + 611 + ], + "line-612": [ + 612 + ], + "line-613": [ + 613 + ], + "local-6989586621679146787": [ + 613 + ], + "line-614": [ + 614 + ], + "commandTarget": [ + 614 + ], + "local-6989586621679148139": [ + 614 + ], + "local-6989586621679148140": [ + 614 + ], + "line-615": [ + 615 + ], + "line-616": [ + 616 + ], + "line-617": [ + 617 + ], + "local-6989586621679146767": [ + 617 + ], + "line-618": [ + 618 + ], + "startRead": [ + 618 + ], + "line-619": [ + 619 + ], + "line-620": [ + 620 + ], + "local-6989586621679146771": [ + 620 + ], + "line-621": [ + 621 + ], + "startNative": [ + 621 + ], + "local-6989586621679148247": [ + 621 + ], + "local-6989586621679148248": [ + 621 + ], + "local-6989586621679148249": [ + 621 + ], + "local-6989586621679148250": [ + 621 + ], + "local-6989586621679148251": [ + 621 + ], + "local-6989586621679148252": [ + 621 + ], + "local-6989586621679148253": [ + 621 + ], + "local-6989586621679148254": [ + 621 + ], + "local-6989586621679148255": [ + 621 + ], + "line-622": [ + 622 + ], + "local-6989586621679148256": [ + 622 + ], + "line-623": [ + 623 + ], + "line-624": [ + 624 + ], + "line-625": [ + 625 + ], + "local-6989586621679148258": [ + 625 + ], + "line-626": [ + 626 + ], + "local-6989586621679148261": [ + 626 + ], + "line-627": [ + 627 + ], + "local-6989586621679148262": [ + 627 + ], + "local-6989586621679148265": [ + 627 + ], + "line-628": [ + 628 + ], + "line-629": [ + 629 + ], + "line-630": [ + 630 + ], + "local-6989586621679148268": [ + 630 + ], + "line-631": [ + 631 + ], + "local-6989586621679148270": [ + 631 + ], + "local-6989586621679148271": [ + 631 + ], + "local-6989586621679148272": [ + 631 + ], + "line-632": [ + 632 + ], + "line-633": [ + 633 + ], + "line-634": [ + 634 + ], + "local-6989586621679148277": [ + 634 + ], + "line-635": [ + 635 + ], + "line-636": [ + 636 + ], + "local-6989586621679148280": [ + 636 + ], + "line-637": [ + 637 + ], + "line-638": [ + 638 + ], + "local-6989586621679148283": [ + 638 + ], + "local-6989586621679148284": [ + 638 + ], + "line-639": [ + 639 + ], + "line-640": [ + 640 + ], + "line-641": [ + 641 + ], + "line-642": [ + 642 + ], + "line-643": [ + 643 + ], + "line-644": [ + 644 + ], + "local-6989586621679148291": [ + 644 + ], + "line-645": [ + 645 + ], + "local-6989586621679148292": [ + 645 + ], + "line-646": [ + 646 + ], + "line-647": [ + 647 + ], + "local-6989586621679148293": [ + 647 + ], + "local-6989586621679148294": [ + 647 + ], + "line-648": [ + 648 + ], + "line-649": [ + 649 + ], + "local-6989586621679148296": [ + 649 + ], + "line-650": [ + 650 + ], + "local-6989586621679148298": [ + 650 + ], + "line-651": [ + 651 + ], + "line-652": [ + 652 + ], + "line-653": [ + 653 + ], + "line-654": [ + 654 + ], + "line-655": [ + 655 + ], + "line-656": [ + 656 + ], + "local-6989586621679148319": [ + 656 + ], + "line-657": [ + 657 + ], + "local-6989586621679148320": [ + 657 + ], + "line-658": [ + 658 + ], + "local-6989586621679148321": [ + 658 + ], + "line-659": [ + 659 + ], + "local-6989586621679148322": [ + 659 + ], + "line-660": [ + 660 + ], + "local-6989586621679148323": [ + 660 + ], + "line-661": [ + 661 + ], + "local-6989586621679148324": [ + 661 + ], + "line-662": [ + 662 + ], + "local-6989586621679148325": [ + 662 + ], + "line-663": [ + 663 + ], + "local-6989586621679148326": [ + 663 + ], + "line-664": [ + 664 + ], + "local-6989586621679148327": [ + 664 + ], + "line-665": [ + 665 + ], + "line-666": [ + 666 + ], + "line-667": [ + 667 + ], + "line-668": [ + 668 + ], + "local-6989586621679148328": [ + 668 + ], + "line-669": [ + 669 + ], + "local-6989586621679148330": [ + 669 + ], + "line-670": [ + 670 + ], + "local-6989586621679148332": [ + 670 + ], + "line-671": [ + 671 + ], + "line-672": [ + 672 + ], + "line-673": [ + 673 + ], + "local-6989586621679148336": [ + 673 + ], + "local-6989586621679148337": [ + 673 + ], + "line-674": [ + 674 + ], + "line-675": [ + 675 + ], + "local-6989586621679148339": [ + 675 + ], + "line-676": [ + 676 + ], + "line-677": [ + 677 + ], + "line-678": [ + 678 + ], + "line-679": [ + 679 + ], + "local-6989586621679146813": [ + 679 + ], + "line-680": [ + 680 + ], + "compileNative": [ + 680 + ], + "local-6989586621679148343": [ + 680 + ], + "local-6989586621679148344": [ + 680 + ], + "line-681": [ + 681 + ], + "local-6989586621679148351": [ + 681 + ], + "line-682": [ + 682 + ], + "local-6989586621679148352": [ + 682 + ], + "line-683": [ + 683 + ], + "line-684": [ + 684 + ], + "line-685": [ + 685 + ], + "line-686": [ + 686 + ], + "remaining": [ + 686 + ], + "local-6989586621679148355": [ + 686 + ], + "line-687": [ + 687 + ], + "local-6989586621679148356": [ + 687 + ], + "line-688": [ + 688 + ], + "line-689": [ + 689 + ], + "local-6989586621679148357": [ + 689 + ], + "local-6989586621679148358": [ + 689 + ], + "line-690": [ + 690 + ], + "line-691": [ + 691 + ], + "line-692": [ + 692 + ], + "line-693": [ + 693 + ], + "claimRead": [ + 693 + ], + "local-6989586621679148361": [ + 693 + ], + "local-6989586621679148362": [ + 693 + ], + "line-694": [ + 694 + ], + "local-6989586621679148363": [ + 694 + ], + "line-695": [ + 695 + ], + "line-696": [ + 696 + ], + "line-697": [ + 697 + ], + "line-698": [ + 698 + ], + "local-6989586621679148365": [ + 698 + ], + "line-699": [ + 699 + ], + "line-700": [ + 700 + ], + "local-6989586621679148366": [ + 700 + ], + "line-701": [ + 701 + ], + "readAction": [ + 701 + ], + "local-6989586621679148367": [ + 701 + ], + "local-6989586621679148368": [ + 701 + ], + "local-6989586621679148369": [ + 701 + ], + "local-6989586621679148370": [ + 701 + ], + "local-6989586621679148371": [ + 701 + ], + "local-6989586621679148372": [ + 701 + ], + "local-6989586621679148373": [ + 701 + ], + "local-6989586621679148374": [ + 701 + ], + "line-702": [ + 702 + ], + "local-6989586621679148375": [ + 702 + ], + "line-703": [ + 703 + ], + "local-6989586621679148376": [ + 703 + ], + "line-704": [ + 704 + ], + "line-705": [ + 705 + ], + "line-706": [ + 706 + ], + "local-6989586621679148377": [ + 706 + ], + "line-707": [ + 707 + ], + "local-6989586621679148378": [ + 707 + ], + "line-708": [ + 708 + ], + "line-709": [ + 709 + ], + "line-710": [ + 710 + ], + "line-711": [ + 711 + ], + "local-6989586621679148379": [ + 711 + ], + "local-6989586621679148380": [ + 711 + ], + "line-712": [ + 712 + ], + "line-713": [ + 713 + ], + "local-6989586621679148381": [ + 713 + ], + "line-714": [ + 714 + ], + "line-715": [ + 715 + ], + "local-6989586621679148382": [ + 715 + ], + "line-716": [ + 716 + ], + "line-717": [ + 717 + ], + "local-6989586621679148383": [ + 717 + ], + "line-718": [ + 718 + ], + "line-719": [ + 719 + ], + "local-6989586621679148384": [ + 719 + ], + "line-720": [ + 720 + ], + "line-721": [ + 721 + ], + "local-6989586621679148386": [ + 721 + ], + "line-722": [ + 722 + ], + "line-723": [ + 723 + ], + "line-724": [ + 724 + ], + "local-6989586621679148387": [ + 724 + ], + "line-725": [ + 725 + ], + "line-726": [ + 726 + ], + "local-6989586621679148388": [ + 726 + ], + "line-727": [ + 727 + ], + "local-6989586621679148389": [ + 727 + ], + "line-728": [ + 728 + ], + "line-729": [ + 729 + ], + "local-6989586621679148390": [ + 729 + ], + "line-730": [ + 730 + ], + "line-731": [ + 731 + ], + "line-732": [ + 732 + ], + "local-6989586621679148392": [ + 732 + ], + "line-733": [ + 733 + ], + "line-734": [ + 734 + ], + "line-735": [ + 735 + ], + "line-736": [ + 736 + ], + "local-6989586621679148393": [ + 736 + ], + "line-737": [ + 737 + ], + "readWorker": [ + 737 + ], + "local-6989586621679148394": [ + 737 + ], + "local-6989586621679148395": [ + 737 + ], + "local-6989586621679148396": [ + 737 + ], + "local-6989586621679148397": [ + 737 + ], + "line-738": [ + 738 + ], + "local-6989586621679148398": [ + 738 + ], + "line-739": [ + 739 + ], + "line-740": [ + 740 + ], + "line-741": [ + 741 + ], + "local-6989586621679148399": [ + 741 + ], + "line-742": [ + 742 + ], + "line-743": [ + 743 + ], + "local-6989586621679148400": [ + 743 + ], + "line-744": [ + 744 + ], + "line-745": [ + 745 + ], + "line-746": [ + 746 + ], + "line-747": [ + 747 + ], + "line-748": [ + 748 + ], + "line-749": [ + 749 + ], + "local-6989586621679148404": [ + 749 + ], + "line-750": [ + 750 + ], + "recoverRead": [ + 750 + ], + "local-6989586621679148405": [ + 750 + ], + "local-6989586621679148406": [ + 750 + ], + "local-6989586621679148407": [ + 750 + ], + "line-751": [ + 751 + ], + "local-6989586621679148408": [ + 751 + ], + "line-752": [ + 752 + ], + "local-6989586621679148409": [ + 752 + ], + "line-753": [ + 753 + ], + "line-754": [ + 754 + ], + "line-755": [ + 755 + ], + "line-756": [ + 756 + ], + "line-757": [ + 757 + ], + "line-758": [ + 758 + ], + "local-6989586621679148411": [ + 758 + ], + "line-759": [ + 759 + ], + "line-760": [ + 760 + ], + "local-6989586621679148412": [ + 760 + ], + "line-761": [ + 761 + ], + "line-762": [ + 762 + ], + "line-763": [ + 763 + ], + "line-764": [ + 764 + ], + "local-6989586621679148413": [ + 764 + ], + "line-765": [ + 765 + ], + "line-766": [ + 766 + ], + "line-767": [ + 767 + ], + "line-768": [ + 768 + ], + "line-769": [ + 769 + ], + "resumeRead": [ + 769 + ], + "local-6989586621679148414": [ + 769 + ], + "local-6989586621679148415": [ + 769 + ], + "local-6989586621679148416": [ + 769 + ], + "line-770": [ + 770 + ], + "local-6989586621679148417": [ + 770 + ], + "line-771": [ + 771 + ], + "local-6989586621679148418": [ + 771 + ], + "line-772": [ + 772 + ], + "local-6989586621679148419": [ + 772 + ], + "line-773": [ + 773 + ], + "line-774": [ + 774 + ], + "line-775": [ + 775 + ], + "line-776": [ + 776 + ], + "line-777": [ + 777 + ], + "line-778": [ + 778 + ], + "line-779": [ + 779 + ], + "local-6989586621679148421": [ + 779 + ], + "local-6989586621679148422": [ + 779 + ], + "line-780": [ + 780 + ], + "line-781": [ + 781 + ], + "line-782": [ + 782 + ], + "local-6989586621679148423": [ + 782 + ], + "line-783": [ + 783 + ], + "line-784": [ + 784 + ], + "line-785": [ + 785 + ], + "line-786": [ + 786 + ], + "line-787": [ + 787 + ], + "line-788": [ + 788 + ], + "line-789": [ + 789 + ], + "line-790": [ + 790 + ], + "line-791": [ + 791 + ], + "submittedTicket": [ + 791 + ], + "local-6989586621679148424": [ + 791 + ], + "line-792": [ + 792 + ], + "local-6989586621679148425": [ + 792 + ], + "line-793": [ + 793 + ], + "line-794": [ + 794 + ], + "line-795": [ + 795 + ], + "line-796": [ + 796 + ], + "finishRead": [ + 796 + ], + "local-6989586621679148426": [ + 796 + ], + "local-6989586621679148427": [ + 796 + ], + "local-6989586621679148464": [ + 796 + ], + "local-6989586621679148465": [ + 796 + ], + "local-6989586621679148466": [ + 796 + ], + "local-6989586621679148467": [ + 796 + ], + "line-797": [ + 797 + ], + "local-6989586621679148468": [ + 797 + ], + "line-798": [ + 798 + ], + "line-799": [ + 799 + ], + "local-6989586621679148471": [ + 799 + ], + "line-800": [ + 800 + ], + "line-801": [ + 801 + ], + "line-802": [ + 802 + ], + "local-6989586621679148474": [ + 802 + ], + "line-803": [ + 803 + ], + "line-804": [ + 804 + ], + "line-805": [ + 805 + ], + "line-806": [ + 806 + ], + "local-6989586621679148476": [ + 806 + ], + "line-807": [ + 807 + ], + "line-808": [ + 808 + ], + "line-809": [ + 809 + ], + "local-6989586621679148478": [ + 809 + ], + "line-810": [ + 810 + ], + "line-811": [ + 811 + ], + "line-812": [ + 812 + ], + "line-813": [ + 813 + ], + "line-814": [ + 814 + ], + "local-6989586621679148479": [ + 814 + ], + "line-815": [ + 815 + ], + "line-816": [ + 816 + ], + "line-817": [ + 817 + ], + "line-818": [ + 818 + ], + "local-6989586621679148484": [ + 818 + ], + "line-819": [ + 819 + ], + "line-820": [ + 820 + ], + "line-821": [ + 821 + ], + "line-822": [ + 822 + ], + "line-823": [ + 823 + ], + "line-824": [ + 824 + ], + "line-825": [ + 825 + ], + "local-6989586621679146848": [ + 825 + ], + "line-826": [ + 826 + ], + "forceResult": [ + 826 + ], + "local-6989586621679148493": [ + 826 + ], + "line-827": [ + 827 + ], + "local-6989586621679148494": [ + 827 + ], + "local-6989586621679148495": [ + 827 + ], + "line-828": [ + 828 + ], + "line-829": [ + 829 + ], + "line-830": [ + 830 + ], + "line-831": [ + 831 + ], + "line-832": [ + 832 + ], + "line-833": [ + 833 + ], + "line-834": [ + 834 + ], + "line-835": [ + 835 + ], + "local-6989586621679146850": [ + 835 + ], + "line-836": [ + 836 + ], + "completionEvidence": [ + 836 + ], + "line-837": [ + 837 + ], + "line-838": [ + 838 + ], + "line-839": [ + 839 + ], + "line-840": [ + 840 + ], + "local-6989586621679146847": [ + 840 + ], + "line-841": [ + 841 + ], + "decodeResult": [ + 841 + ], + "local-6989586621679148523": [ + 841 + ], + "line-842": [ + 842 + ], + "local-6989586621679148535": [ + 842 + ], + "line-843": [ + 843 + ], + "local-6989586621679148536": [ + 843 + ], + "line-844": [ + 844 + ], + "line-845": [ + 845 + ], + "local-6989586621679148537": [ + 845 + ], + "line-846": [ + 846 + ], + "local-6989586621679148539": [ + 846 + ], + "line-847": [ + 847 + ], + "line-848": [ + 848 + ], + "line-849": [ + 849 + ], + "line-850": [ + 850 + ], + "line-851": [ + 851 + ], + "local-6989586621679146856": [ + 851 + ], + "line-852": [ + 852 + ], + "decodeRead": [ + 852 + ], + "local-6989586621679148553": [ + 852 + ], + "local-6989586621679148554": [ + 852 + ], + "local-6989586621679148555": [ + 852 + ], + "line-853": [ + 853 + ], + "line-854": [ + 854 + ], + "line-855": [ + 855 + ], + "line-856": [ + 856 + ], + "line-857": [ + 857 + ], + "local-6989586621679148581": [ + 857 + ], + "line-858": [ + 858 + ], + "line-859": [ + 859 + ], + "local-6989586621679148585": [ + 859 + ], + "local-6989586621679148588": [ + 859 + ], + "line-860": [ + 860 + ], + "line-861": [ + 861 + ], + "line-862": [ + 862 + ], + "line-863": [ + 863 + ], + "local-6989586621679148597": [ + 863 + ], + "line-864": [ + 864 + ], + "local-6989586621679148598": [ + 864 + ], + "line-865": [ + 865 + ], + "line-866": [ + 866 + ], + "local-6989586621679148601": [ + 866 + ], + "line-867": [ + 867 + ], + "local-6989586621679148602": [ + 867 + ], + "line-868": [ + 868 + ], + "line-869": [ + 869 + ], + "local-6989586621679148613": [ + 869 + ], + "line-870": [ + 870 + ], + "local-6989586621679148614": [ + 870 + ], + "line-871": [ + 871 + ], + "local-6989586621679148616": [ + 871 + ], + "line-872": [ + 872 + ], + "line-873": [ + 873 + ], + "line-874": [ + 874 + ], + "local-6989586621679148622": [ + 874 + ], + "line-875": [ + 875 + ], + "line-876": [ + 876 + ], + "local-6989586621679148627": [ + 876 + ], + "line-877": [ + 877 + ], + "line-878": [ + 878 + ], + "line-879": [ + 879 + ], + "local-6989586621679148582": [ + 879 + ], + "local-6989586621679148629": [ + 879 + ], + "local-6989586621679148630": [ + 879 + ], + "line-880": [ + 880 + ], + "line-881": [ + 881 + ], + "line-882": [ + 882 + ], + "line-883": [ + 883 + ], + "publishUnavailable": [ + 883 + ], + "local-6989586621679148631": [ + 883 + ], + "local-6989586621679148637": [ + 883 + ], + "local-6989586621679148638": [ + 883 + ], + "line-884": [ + 884 + ], + "local-6989586621679148639": [ + 884 + ], + "line-885": [ + 885 + ], + "line-886": [ + 886 + ], + "local-6989586621679148640": [ + 886 + ], + "line-887": [ + 887 + ], + "line-888": [ + 888 + ], + "line-889": [ + 889 + ], + "line-890": [ + 890 + ], + "retireRefusal": [ + 890 + ], + "local-6989586621679148641": [ + 890 + ], + "local-6989586621679148642": [ + 890 + ], + "local-6989586621679148643": [ + 890 + ], + "line-891": [ + 891 + ], + "local-6989586621679148644": [ + 891 + ], + "line-892": [ + 892 + ], + "line-893": [ + 893 + ], + "line-894": [ + 894 + ], + "line-895": [ + 895 + ], + "line-896": [ + 896 + ], + "line-897": [ + 897 + ], + "line-898": [ + 898 + ], + "releaseRead": [ + 898 + ], + "local-6989586621679148646": [ + 898 + ], + "local-6989586621679148647": [ + 898 + ], + "line-899": [ + 899 + ], + "line-900": [ + 900 + ], + "line-901": [ + 901 + ], + "line-902": [ + 902 + ], + "line-903": [ + 903 + ], + "line-904": [ + 904 + ], + "line-905": [ + 905 + ], + "line-906": [ + 906 + ], + "local-6989586621679146864": [ + 906 + ], + "line-907": [ + 907 + ], + "cancelRead": [ + 907 + ], + "local-6989586621679148648": [ + 907 + ], + "local-6989586621679148649": [ + 907 + ], + "line-908": [ + 908 + ], + "line-909": [ + 909 + ], + "line-910": [ + 910 + ], + "cancelOperation": [ + 910 + ], + "local-6989586621679148650": [ + 910 + ], + "local-6989586621679148651": [ + 910 + ], + "line-911": [ + 911 + ], + "line-912": [ + 912 + ], + "local-6989586621679148652": [ + 912 + ], + "line-913": [ + 913 + ], + "line-914": [ + 914 + ], + "line-915": [ + 915 + ], + "line-916": [ + 916 + ], + "line-917": [ + 917 + ], + "cancelOwner": [ + 917 + ], + "local-6989586621679148654": [ + 917 + ], + "local-6989586621679148655": [ + 917 + ], + "local-6989586621679148656": [ + 917 + ], + "line-918": [ + 918 + ], + "line-919": [ + 919 + ], + "line-920": [ + 920 + ], + "cancelOwnerSTM": [ + 920 + ], + "local-6989586621679148657": [ + 920 + ], + "local-6989586621679148658": [ + 920 + ], + "local-6989586621679148659": [ + 920 + ], + "line-921": [ + 921 + ], + "line-922": [ + 922 + ], + "line-923": [ + 923 + ], + "line-924": [ + 924 + ], + "line-925": [ + 925 + ], + "local-6989586621679148660": [ + 925 + ], + "line-926": [ + 926 + ], + "line-927": [ + 927 + ], + "line-928": [ + 928 + ], + "line-929": [ + 929 + ], + "line-930": [ + 930 + ], + "detachOperation": [ + 930 + ], + "local-6989586621679148661": [ + 930 + ], + "line-931": [ + 931 + ] + }, + "LibTmux.Internal.Scheduler": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "line-22": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "Scheduler": [ + 35, + 35 + ], + "line-36": [ + 36 + ], + "State": [ + 36, + 36 + ], + "line-37": [ + 37 + ], + "accepting": [ + 37 + ], + "line-38": [ + 38 + ], + "nextKey": [ + 38 + ], + "line-39": [ + 39 + ], + "operations": [ + 39 + ], + "line-40": [ + 40 + ], + "line-41": [ + 41 + ], + "line-42": [ + 42 + ], + "line-43": [ + 43 + ], + "line-44": [ + 44 + ], + "Operation": [ + 44, + 44 + ], + "line-45": [ + 45 + ], + "local-6989586621679138113": [ + 45 + ], + "local-6989586621679138122": [ + 45 + ], + "line-46": [ + 46 + ], + "line-47": [ + 47 + ], + "local-6989586621679138128": [ + 47 + ], + "local-6989586621679138132": [ + 47 + ], + "line-48": [ + 48 + ], + "local-6989586621679138139": [ + 48 + ], + "local-6989586621679138141": [ + 48 + ], + "local-6989586621679138142": [ + 48 + ], + "line-49": [ + 49 + ], + "line-50": [ + 50 + ], + "line-51": [ + 51 + ], + "line-52": [ + 52 + ], + "line-53": [ + 53 + ], + "Group": [ + 53, + 53 + ], + "line-54": [ + 54 + ], + "local-6989586621679138150": [ + 54 + ], + "local-6989586621679138153": [ + 54 + ], + "line-55": [ + 55 + ], + "line-56": [ + 56 + ], + "line-57": [ + 57 + ], + "line-58": [ + 58 + ], + "newGroup": [ + 58 + ], + "line-59": [ + 59 + ], + "line-60": [ + 60 + ], + "line-61": [ + 61 + ], + "line-62": [ + 62 + ], + "Lane": [ + 62 + ], + "Inspection": [ + 62 + ], + "ScalarRead": [ + 62 + ], + "Mutation": [ + 62 + ], + "Waiting": [ + 62 + ], + "line-63": [ + 63 + ], + "local-6989586621679138161": [ + 63 + ], + "local-6989586621679138166": [ + 63 + ], + "local-6989586621679138169": [ + 63 + ], + "local-6989586621679138171": [ + 63 + ], + "local-6989586621679138175": [ + 63 + ], + "line-64": [ + 64 + ], + "line-65": [ + 65 + ], + "line-66": [ + 66 + ], + "line-67": [ + 67 + ], + "Stage": [ + 67 + ], + "Queued": [ + 67 + ], + "Dispatching": [ + 67 + ], + "Dispatched": [ + 67 + ], + "ResponseClosed": [ + 67 + ], + "OperationComplete": [ + 67 + ], + "line-68": [ + 68 + ], + "local-6989586621679138183": [ + 68 + ], + "local-6989586621679138187": [ + 68 + ], + "local-6989586621679138190": [ + 68 + ], + "local-6989586621679138192": [ + 68 + ], + "local-6989586621679138196": [ + 68 + ], + "line-69": [ + 69 + ], + "line-70": [ + 70 + ], + "line-71": [ + 71 + ], + "line-72": [ + 72 + ], + "Outcome": [ + 72 + ], + "line-73": [ + 73 + ], + "Succeeded": [ + 73 + ], + "line-74": [ + 74 + ], + "Failed": [ + 74 + ], + "line-75": [ + 75 + ], + "NotDispatched": [ + 75 + ], + "line-76": [ + 76 + ], + "OutcomeUnknown": [ + 76 + ], + "line-77": [ + 77 + ], + "ConnectionRetired": [ + 77 + ], + "line-78": [ + 78 + ], + "local-6989586621679138204": [ + 78 + ], + "local-6989586621679138208": [ + 78 + ], + "local-6989586621679138211": [ + 78 + ], + "local-6989586621679138213": [ + 78 + ], + "local-6989586621679138217": [ + 78 + ], + "line-79": [ + 79 + ], + "line-80": [ + 80 + ], + "line-81": [ + 81 + ], + "line-82": [ + 82 + ], + "Status": [ + 82, + 82 + ], + "line-83": [ + 83 + ], + "stage": [ + 83 + ], + "line-84": [ + 84 + ], + "outcome": [ + 84 + ], + "line-85": [ + 85 + ], + "retained": [ + 85 + ], + "line-86": [ + 86 + ], + "line-87": [ + 87 + ], + "local-6989586621679138224": [ + 87 + ], + "local-6989586621679138230": [ + 87 + ], + "local-6989586621679138234": [ + 87 + ], + "local-6989586621679138243": [ + 87 + ], + "local-6989586621679138247": [ + 87 + ], + "line-88": [ + 88 + ], + "line-89": [ + 89 + ], + "line-90": [ + 90 + ], + "line-91": [ + 91 + ], + "Completion": [ + 91 + ], + "Success": [ + 91 + ], + "CommandFailure": [ + 91 + ], + "line-92": [ + 92 + ], + "local-6989586621679138252": [ + 92 + ], + "local-6989586621679138256": [ + 92 + ], + "local-6989586621679138260": [ + 92 + ], + "local-6989586621679138262": [ + 92 + ], + "local-6989586621679138266": [ + 92 + ], + "line-93": [ + 93 + ], + "line-94": [ + 94 + ], + "line-95": [ + 95 + ], + "line-96": [ + 96 + ], + "line-97": [ + 97 + ], + "AdmissionError": [ + 97 + ], + "line-98": [ + 98 + ], + "AdmissionClosed": [ + 98 + ], + "line-99": [ + 99 + ], + "AdmissionFull": [ + 99 + ], + "line-100": [ + 100 + ], + "OrdinaryFull": [ + 100 + ], + "line-101": [ + 101 + ], + "KeyExhausted": [ + 101 + ], + "line-102": [ + 102 + ], + "ForeignContext": [ + 102 + ], + "line-103": [ + 103 + ], + "InvalidTransition": [ + 103 + ], + "line-104": [ + 104 + ], + "local-6989586621679138275": [ + 104 + ], + "local-6989586621679138281": [ + 104 + ], + "local-6989586621679138285": [ + 104 + ], + "local-6989586621679138290": [ + 104 + ], + "local-6989586621679138294": [ + 104 + ], + "line-105": [ + 105 + ], + "local-6989586621679138301": [ + 105 + ], + "local-6989586621679138304": [ + 105 + ], + "local-6989586621679138307": [ + 105 + ], + "local-6989586621679138310": [ + 105 + ], + "line-106": [ + 106 + ], + "line-107": [ + 107 + ], + "line-108": [ + 108 + ], + "line-109": [ + 109 + ], + "line-110": [ + 110 + ], + "line-111": [ + 111 + ], + "line-112": [ + 112 + ], + "newScheduler": [ + 112 + ], + "line-113": [ + 113 + ], + "line-114": [ + 114 + ], + "line-115": [ + 115 + ], + "line-116": [ + 116 + ], + "line-117": [ + 117 + ], + "line-118": [ + 118 + ], + "admit": [ + 118 + ], + "local-6989586621679138315": [ + 118 + ], + "line-119": [ + 119 + ], + "line-120": [ + 120 + ], + "line-121": [ + 121 + ], + "line-122": [ + 122 + ], + "line-123": [ + 123 + ], + "line-124": [ + 124 + ], + "admitIn": [ + 124 + ], + "local-6989586621679138317": [ + 124 + ], + "local-6989586621679138318": [ + 124 + ], + "line-125": [ + 125 + ], + "line-126": [ + 126 + ], + "line-127": [ + 127 + ], + "reserve": [ + 127 + ], + "local-6989586621679138319": [ + 127 + ], + "local-6989586621679138320": [ + 127 + ], + "local-6989586621679138321": [ + 127 + ], + "local-6989586621679138322": [ + 127 + ], + "line-128": [ + 128 + ], + "line-129": [ + 129 + ], + "local-6989586621679138323": [ + 129 + ], + "line-130": [ + 130 + ], + "line-131": [ + 131 + ], + "local-6989586621679138324": [ + 131 + ], + "line-132": [ + 132 + ], + "line-133": [ + 133 + ], + "line-134": [ + 134 + ], + "local-6989586621679138328": [ + 134 + ], + "local-6989586621679138330": [ + 134 + ], + "line-135": [ + 135 + ], + "line-136": [ + 136 + ], + "local-6989586621679138333": [ + 136 + ], + "line-137": [ + 137 + ], + "local-6989586621679138335": [ + 137 + ], + "line-138": [ + 138 + ], + "local-6989586621679138337": [ + 138 + ], + "line-139": [ + 139 + ], + "local-6989586621679138338": [ + 139 + ], + "line-140": [ + 140 + ], + "line-141": [ + 141 + ], + "line-142": [ + 142 + ], + "line-143": [ + 143 + ], + "line-144": [ + 144 + ], + "line-145": [ + 145 + ], + "line-146": [ + 146 + ], + "status": [ + 146 + ], + "local-6989586621679138344": [ + 146 + ], + "line-147": [ + 147 + ], + "line-148": [ + 148 + ], + "line-149": [ + 149 + ], + "line-150": [ + 150 + ], + "line-151": [ + 151 + ], + "outstanding": [ + 151 + ], + "local-6989586621679138345": [ + 151 + ], + "line-152": [ + 152 + ], + "local-6989586621679138346": [ + 152 + ], + "line-153": [ + 153 + ], + "local-6989586621679138348": [ + 153 + ], + "line-154": [ + 154 + ], + "line-155": [ + 155 + ], + "line-156": [ + 156 + ], + "line-157": [ + 157 + ], + "line-158": [ + 158 + ], + "outstandingIn": [ + 158 + ], + "local-6989586621679138350": [ + 158 + ], + "local-6989586621679138351": [ + 158 + ], + "line-159": [ + 159 + ], + "line-160": [ + 160 + ], + "line-161": [ + 161 + ], + "line-162": [ + 162 + ], + "line-163": [ + 163 + ], + "memberOf": [ + 163 + ], + "local-6989586621679138353": [ + 163 + ], + "local-6989586621679138354": [ + 163 + ], + "line-164": [ + 164 + ], + "line-165": [ + 165 + ], + "line-166": [ + 166 + ], + "line-167": [ + 167 + ], + "line-168": [ + 168 + ], + "await": [ + 168 + ], + "local-6989586621679138355": [ + 168 + ], + "line-169": [ + 169 + ], + "line-170": [ + 170 + ], + "line-171": [ + 171 + ], + "line-172": [ + 172 + ], + "line-173": [ + 173 + ], + "line-174": [ + 174 + ], + "claim": [ + 174 + ], + "local-6989586621679138357": [ + 174 + ], + "line-175": [ + 175 + ], + "local-6989586621679138358": [ + 175 + ], + "line-176": [ + 176 + ], + "line-177": [ + 177 + ], + "local-6989586621679138360": [ + 177 + ], + "local-6989586621679138361": [ + 177 + ], + "local-6989586621679138362": [ + 177 + ], + "line-178": [ + 178 + ], + "local-6989586621679138363": [ + 178 + ], + "local-6989586621679138364": [ + 178 + ], + "local-6989586621679138365": [ + 178 + ], + "line-179": [ + 179 + ], + "local-6989586621679138366": [ + 179 + ], + "local-6989586621679138367": [ + 179 + ], + "line-180": [ + 180 + ], + "local-6989586621679138369": [ + 180 + ], + "line-181": [ + 181 + ], + "local-6989586621679138370": [ + 181 + ], + "local-6989586621679138371": [ + 181 + ], + "line-182": [ + 182 + ], + "line-183": [ + 183 + ], + "line-184": [ + 184 + ], + "line-185": [ + 185 + ], + "line-186": [ + 186 + ], + "line-187": [ + 187 + ], + "line-188": [ + 188 + ], + "local-6989586621679138373": [ + 188 + ], + "line-189": [ + 189 + ], + "local-6989586621679138378": [ + 189 + ], + "local-6989586621679138379": [ + 189 + ], + "local-6989586621679138380": [ + 189 + ], + "local-6989586621679138381": [ + 189 + ], + "local-6989586621679138382": [ + 189 + ], + "local-6989586621679138383": [ + 189 + ], + "line-190": [ + 190 + ], + "line-191": [ + 191 + ], + "line-192": [ + 192 + ], + "line-193": [ + 193 + ], + "line-194": [ + 194 + ], + "line-195": [ + 195 + ], + "line-196": [ + 196 + ], + "line-197": [ + 197 + ], + "line-198": [ + 198 + ], + "markDispatched": [ + 198 + ], + "line-199": [ + 199 + ], + "line-200": [ + 200 + ], + "line-201": [ + 201 + ], + "line-202": [ + 202 + ], + "line-203": [ + 203 + ], + "markResponseClosed": [ + 203 + ], + "line-204": [ + 204 + ], + "line-205": [ + 205 + ], + "line-206": [ + 206 + ], + "line-207": [ + 207 + ], + "line-208": [ + 208 + ], + "line-209": [ + 209 + ], + "finish": [ + 209 + ], + "local-6989586621679138385": [ + 209 + ], + "local-6989586621679138386": [ + 209 + ], + "local-6989586621679138387": [ + 209 + ], + "local-6989586621679138389": [ + 209 + ], + "line-210": [ + 210 + ], + "line-211": [ + 211 + ], + "line-212": [ + 212 + ], + "local-6989586621679138393": [ + 212 + ], + "line-213": [ + 213 + ], + "line-214": [ + 214 + ], + "line-215": [ + 215 + ], + "line-216": [ + 216 + ], + "line-217": [ + 217 + ], + "markUnknown": [ + 217 + ], + "line-218": [ + 218 + ], + "line-219": [ + 219 + ], + "line-220": [ + 220 + ], + "line-221": [ + 221 + ], + "line-222": [ + 222 + ], + "cancelQueued": [ + 222 + ], + "local-6989586621679138395": [ + 222 + ], + "local-6989586621679138396": [ + 222 + ], + "local-6989586621679138397": [ + 222 + ], + "line-223": [ + 223 + ], + "line-224": [ + 224 + ], + "line-225": [ + 225 + ], + "line-226": [ + 226 + ], + "line-227": [ + 227 + ], + "line-228": [ + 228 + ], + "line-229": [ + 229 + ], + "line-230": [ + 230 + ], + "refuseBeforeBirth": [ + 230 + ], + "local-6989586621679138398": [ + 230 + ], + "local-6989586621679138399": [ + 230 + ], + "local-6989586621679138400": [ + 230 + ], + "line-231": [ + 231 + ], + "line-232": [ + 232 + ], + "line-233": [ + 233 + ], + "line-234": [ + 234 + ], + "line-235": [ + 235 + ], + "line-236": [ + 236 + ], + "line-237": [ + 237 + ], + "line-238": [ + 238 + ], + "connectionRetired": [ + 238 + ], + "line-239": [ + 239 + ], + "line-240": [ + 240 + ], + "line-241": [ + 241 + ], + "line-242": [ + 242 + ], + "line-243": [ + 243 + ], + "line-244": [ + 244 + ], + "line-245": [ + 245 + ], + "detachResponsibility": [ + 245 + ], + "local-6989586621679138401": [ + 245 + ], + "local-6989586621679138402": [ + 245 + ], + "local-6989586621679138403": [ + 245 + ], + "line-246": [ + 246 + ], + "line-247": [ + 247 + ], + "line-248": [ + 248 + ], + "line-249": [ + 249 + ], + "line-250": [ + 250 + ], + "line-251": [ + 251 + ], + "line-252": [ + 252 + ], + "line-253": [ + 253 + ], + "line-254": [ + 254 + ], + "closeAdmission": [ + 254 + ], + "local-6989586621679138405": [ + 254 + ], + "local-6989586621679138406": [ + 254 + ], + "line-255": [ + 255 + ], + "local-6989586621679138407": [ + 255 + ], + "line-256": [ + 256 + ], + "line-257": [ + 257 + ], + "local-6989586621679138408": [ + 257 + ], + "line-258": [ + 258 + ], + "local-6989586621679138409": [ + 258 + ], + "line-259": [ + 259 + ], + "line-260": [ + 260 + ], + "line-261": [ + 261 + ], + "line-262": [ + 262 + ], + "local-6989586621679137926": [ + 262 + ], + "line-263": [ + 263 + ], + "withLive": [ + 263 + ], + "local-6989586621679138419": [ + 263 + ], + "local-6989586621679138420": [ + 263 + ], + "local-6989586621679138421": [ + 263 + ], + "local-6989586621679138422": [ + 263 + ], + "local-6989586621679138423": [ + 263 + ], + "local-6989586621679138424": [ + 263 + ], + "local-6989586621679138425": [ + 263 + ], + "line-264": [ + 264 + ], + "line-265": [ + 265 + ], + "local-6989586621679138426": [ + 265 + ], + "line-266": [ + 266 + ], + "line-267": [ + 267 + ], + "line-268": [ + 268 + ], + "line-269": [ + 269 + ], + "line-270": [ + 270 + ], + "advance": [ + 270 + ], + "local-6989586621679138428": [ + 270 + ], + "local-6989586621679138429": [ + 270 + ], + "local-6989586621679138430": [ + 270 + ], + "local-6989586621679138431": [ + 270 + ], + "local-6989586621679138432": [ + 270 + ], + "line-271": [ + 271 + ], + "local-6989586621679138433": [ + 271 + ], + "line-272": [ + 272 + ], + "line-273": [ + 273 + ], + "line-274": [ + 274 + ], + "line-275": [ + 275 + ], + "line-276": [ + 276 + ], + "line-277": [ + 277 + ], + "requireStage": [ + 277 + ], + "local-6989586621679138434": [ + 277 + ], + "local-6989586621679138435": [ + 277 + ], + "line-278": [ + 278 + ], + "line-279": [ + 279 + ], + "line-280": [ + 280 + ], + "line-281": [ + 281 + ], + "publish": [ + 281 + ], + "local-6989586621679138436": [ + 281 + ], + "local-6989586621679138437": [ + 281 + ], + "line-282": [ + 282 + ], + "line-283": [ + 283 + ], + "line-284": [ + 284 + ], + "line-285": [ + 285 + ], + "line-286": [ + 286 + ], + "line-287": [ + 287 + ], + "publishActive": [ + 287 + ], + "local-6989586621679138438": [ + 287 + ], + "local-6989586621679138439": [ + 287 + ], + "local-6989586621679138440": [ + 287 + ], + "local-6989586621679138441": [ + 287 + ], + "line-288": [ + 288 + ], + "local-6989586621679138442": [ + 288 + ], + "line-289": [ + 289 + ], + "line-290": [ + 290 + ], + "line-291": [ + 291 + ], + "line-292": [ + 292 + ], + "line-293": [ + 293 + ], + "line-294": [ + 294 + ], + "line-295": [ + 295 + ], + "line-296": [ + 296 + ], + "line-297": [ + 297 + ], + "retire": [ + 297 + ], + "local-6989586621679138443": [ + 297 + ], + "local-6989586621679138444": [ + 297 + ], + "local-6989586621679138445": [ + 297 + ], + "local-6989586621679138446": [ + 297 + ], + "line-298": [ + 298 + ], + "local-6989586621679138447": [ + 298 + ], + "line-299": [ + 299 + ], + "line-300": [ + 300 + ], + "line-301": [ + 301 + ], + "line-302": [ + 302 + ] + }, + "LibTmux.Internal.Scope": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "TmuxException": [ + 21 + ], + "line-22": [ + 22 + ], + "ServerClosed": [ + 22 + ], + "line-23": [ + 23 + ], + "RuntimeClosed": [ + 23 + ], + "line-24": [ + 24 + ], + "InvalidConfiguration": [ + 24 + ], + "line-25": [ + 25 + ], + "InvalidObservation": [ + 25 + ], + "line-26": [ + 26 + ], + "OperationFailed": [ + 26 + ], + "line-27": [ + 27 + ], + "CleanupFailed": [ + 27 + ], + "line-28": [ + 28 + ], + "local-6989586621679148941": [ + 28 + ], + "local-6989586621679148957": [ + 28 + ], + "local-6989586621679148961": [ + 28 + ], + "line-29": [ + 29 + ], + "local-6989586621679148970": [ + 29 + ], + "local-6989586621679148974": [ + 29 + ], + "local-6989586621679148977": [ + 29 + ], + "local-6989586621679148980": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "line-33": [ + 33 + ], + "CleanupStatus": [ + 33, + 33 + ], + "line-34": [ + 34 + ], + "complete": [ + 34 + ], + "line-35": [ + 35 + ], + "pendingHandles": [ + 35 + ], + "line-36": [ + 36 + ], + "pendingReads": [ + 36 + ], + "line-37": [ + 37 + ], + "unresolved": [ + 37 + ], + "line-38": [ + 38 + ], + "failures": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "local-6989586621679148990": [ + 40 + ], + "local-6989586621679149003": [ + 40 + ], + "local-6989586621679149006": [ + 40 + ], + "line-41": [ + 41 + ], + "line-42": [ + 42 + ], + "Target": [ + 42 + ], + "RuntimeTarget": [ + 42 + ], + "ServerTarget": [ + 42 + ], + "line-43": [ + 43 + ], + "line-44": [ + 44 + ], + "line-45": [ + 45 + ], + "line-46": [ + 46 + ], + "CleanupRecovery": [ + 46, + 46 + ], + "line-47": [ + 47 + ], + "local-6989586621679149017": [ + 47 + ], + "local-6989586621679149022": [ + 47 + ], + "line-48": [ + 48 + ], + "local-6989586621679149024": [ + 48 + ], + "line-49": [ + 49 + ], + "local-6989586621679149029": [ + 49 + ], + "line-50": [ + 50 + ], + "line-51": [ + 51 + ], + "line-52": [ + 52 + ], + "line-53": [ + 53 + ], + "local-6989586621679148841": [ + 53 + ], + "line-54": [ + 54 + ], + "runServerScope": [ + 54 + ], + "local-6989586621679149033": [ + 54 + ], + "local-6989586621679149034": [ + 54 + ], + "line-55": [ + 55 + ], + "line-56": [ + 56 + ], + "local-6989586621679148845": [ + 56 + ], + "line-57": [ + 57 + ], + "runScope": [ + 57 + ], + "local-6989586621679149036": [ + 57 + ], + "line-58": [ + 58 + ], + "line-59": [ + 59 + ], + "local-6989586621679148844": [ + 59 + ], + "line-60": [ + 60 + ], + "runTarget": [ + 60 + ], + "local-6989586621679149057": [ + 60 + ], + "local-6989586621679149058": [ + 60 + ], + "local-6989586621679149060": [ + 60 + ], + "line-61": [ + 61 + ], + "line-62": [ + 62 + ], + "line-63": [ + 63 + ], + "local-6989586621679149061": [ + 63 + ], + "local-6989586621679149062": [ + 63 + ], + "line-64": [ + 64 + ], + "line-65": [ + 65 + ], + "line-66": [ + 66 + ], + "local-6989586621679149064": [ + 66 + ], + "line-67": [ + 67 + ], + "local-6989586621679149066": [ + 67 + ], + "line-68": [ + 68 + ], + "line-69": [ + 69 + ], + "local-6989586621679149068": [ + 69 + ], + "line-70": [ + 70 + ], + "local-6989586621679149069": [ + 70 + ], + "line-71": [ + 71 + ], + "line-72": [ + 72 + ], + "local-6989586621679149073": [ + 72 + ], + "line-73": [ + 73 + ], + "line-74": [ + 74 + ], + "local-6989586621679149074": [ + 74 + ], + "line-75": [ + 75 + ], + "line-76": [ + 76 + ], + "line-77": [ + 77 + ], + "local-6989586621679149078": [ + 77 + ], + "line-78": [ + 78 + ], + "local-6989586621679149079": [ + 78 + ], + "line-79": [ + 79 + ], + "local-6989586621679149082": [ + 79 + ], + "line-80": [ + 80 + ], + "local-6989586621679149083": [ + 80 + ], + "line-81": [ + 81 + ], + "line-82": [ + 82 + ], + "local-6989586621679149084": [ + 82 + ], + "line-83": [ + 83 + ], + "line-84": [ + 84 + ], + "line-85": [ + 85 + ], + "line-86": [ + 86 + ], + "cleanupRecoveries": [ + 86 + ], + "line-87": [ + 87 + ], + "line-88": [ + 88 + ], + "line-89": [ + 89 + ], + "line-90": [ + 90 + ], + "line-91": [ + 91 + ], + "cleanupFailure": [ + 91 + ], + "local-6989586621679149089": [ + 91 + ], + "line-92": [ + 92 + ], + "line-93": [ + 93 + ], + "line-94": [ + 94 + ], + "line-95": [ + 95 + ], + "cleanupObservation": [ + 95 + ], + "local-6989586621679149090": [ + 95 + ], + "line-96": [ + 96 + ], + "line-97": [ + 97 + ], + "line-98": [ + 98 + ], + "line-99": [ + 99 + ], + "inspectCleanup": [ + 99 + ], + "local-6989586621679149091": [ + 99 + ], + "line-100": [ + 100 + ], + "line-101": [ + 101 + ], + "line-102": [ + 102 + ], + "line-103": [ + 103 + ], + "line-104": [ + 104 + ], + "resumeCleanup": [ + 104 + ], + "local-6989586621679149092": [ + 104 + ], + "local-6989586621679149093": [ + 104 + ], + "line-105": [ + 105 + ], + "line-106": [ + 106 + ], + "line-107": [ + 107 + ], + "line-108": [ + 108 + ], + "line-109": [ + 109 + ], + "line-110": [ + 110 + ], + "line-111": [ + 111 + ], + "line-112": [ + 112 + ], + "awaitCleanup": [ + 112 + ], + "local-6989586621679149095": [ + 112 + ], + "local-6989586621679149096": [ + 112 + ], + "line-113": [ + 113 + ], + "line-114": [ + 114 + ], + "line-115": [ + 115 + ], + "line-116": [ + 116 + ], + "line-117": [ + 117 + ], + "detachUnresolved": [ + 117 + ], + "local-6989586621679149098": [ + 117 + ], + "local-6989586621679149099": [ + 117 + ], + "line-118": [ + 118 + ], + "local-6989586621679149100": [ + 118 + ], + "line-119": [ + 119 + ], + "local-6989586621679149102": [ + 119 + ], + "local-6989586621679149103": [ + 119 + ], + "line-120": [ + 120 + ], + "line-121": [ + 121 + ], + "line-122": [ + 122 + ], + "annotated": [ + 122 + ], + "local-6989586621679149105": [ + 122 + ], + "local-6989586621679149106": [ + 122 + ], + "local-6989586621679149107": [ + 122 + ], + "line-123": [ + 123 + ], + "line-124": [ + 124 + ], + "line-125": [ + 125 + ], + "local-6989586621679148872": [ + 125 + ], + "line-126": [ + 126 + ], + "throwCleanup": [ + 126 + ], + "local-6989586621679149114": [ + 126 + ], + "local-6989586621679149115": [ + 126 + ], + "local-6989586621679149116": [ + 126 + ], + "local-6989586621679149117": [ + 126 + ], + "line-127": [ + 127 + ], + "line-128": [ + 128 + ], + "line-129": [ + 129 + ], + "line-130": [ + 130 + ], + "line-131": [ + 131 + ], + "line-132": [ + 132 + ], + "line-133": [ + 133 + ], + "recoverCleanup": [ + 133 + ], + "local-6989586621679149119": [ + 133 + ], + "local-6989586621679149120": [ + 133 + ], + "line-134": [ + 134 + ], + "local-6989586621679149122": [ + 134 + ], + "local-6989586621679149123": [ + 134 + ], + "line-135": [ + 135 + ], + "local-6989586621679149124": [ + 135 + ], + "line-136": [ + 136 + ], + "local-6989586621679149125": [ + 136 + ], + "line-137": [ + 137 + ], + "line-138": [ + 138 + ], + "line-139": [ + 139 + ], + "line-140": [ + 140 + ], + "inspectTarget": [ + 140 + ], + "local-6989586621679149126": [ + 140 + ], + "line-141": [ + 141 + ], + "local-6989586621679149128": [ + 141 + ], + "local-6989586621679149129": [ + 141 + ], + "line-142": [ + 142 + ], + "line-143": [ + 143 + ], + "line-144": [ + 144 + ], + "shutdownTarget": [ + 144 + ], + "local-6989586621679149130": [ + 144 + ], + "line-145": [ + 145 + ], + "local-6989586621679149132": [ + 145 + ], + "local-6989586621679149133": [ + 145 + ], + "line-146": [ + 146 + ], + "line-147": [ + 147 + ], + "line-148": [ + 148 + ], + "awaitTarget": [ + 148 + ], + "local-6989586621679149135": [ + 148 + ], + "line-149": [ + 149 + ], + "local-6989586621679149137": [ + 149 + ], + "local-6989586621679149138": [ + 149 + ], + "line-150": [ + 150 + ], + "line-151": [ + 151 + ], + "line-152": [ + 152 + ], + "observed": [ + 152 + ], + "local-6989586621679149140": [ + 152 + ], + "line-153": [ + 153 + ], + "local-6989586621679149141": [ + 153 + ], + "line-154": [ + 154 + ], + "local-6989586621679149143": [ + 154 + ], + "line-155": [ + 155 + ], + "line-156": [ + 156 + ], + "local-6989586621679149145": [ + 156 + ], + "line-157": [ + 157 + ], + "line-158": [ + 158 + ], + "line-159": [ + 159 + ], + "line-160": [ + 160 + ] + }, + "LibTmux.Internal.TmuxText": { + "line-2": [ + 2 + ], + "line-3": [ + 3 + ], + "line-4": [ + 4 + ], + "line-5": [ + 5 + ], + "line-6": [ + 6 + ], + "line-7": [ + 7 + ], + "line-8": [ + 8 + ], + "line-9": [ + 9 + ], + "line-10": [ + 10 + ], + "line-11": [ + 11 + ], + "line-12": [ + 12 + ], + "line-13": [ + 13 + ], + "line-14": [ + 14 + ], + "line-15": [ + 15 + ], + "line-16": [ + 16 + ], + "line-17": [ + 17 + ], + "line-18": [ + 18 + ], + "line-19": [ + 19 + ], + "line-20": [ + 20 + ], + "line-21": [ + 21 + ], + "TmuxText": [ + 21, + 21 + ], + "line-22": [ + 22 + ], + "local-6989586621679138546": [ + 22 + ], + "local-6989586621679138550": [ + 22 + ], + "local-6989586621679138557": [ + 22 + ], + "local-6989586621679138561": [ + 22 + ], + "local-6989586621679138564": [ + 22 + ], + "local-6989586621679138568": [ + 22 + ], + "local-6989586621679138571": [ + 22 + ], + "local-6989586621679138574": [ + 22 + ], + "local-6989586621679138577": [ + 22 + ], + "local-6989586621679138585": [ + 22 + ], + "local-6989586621679138591": [ + 22 + ], + "local-6989586621679138595": [ + 22 + ], + "line-23": [ + 23 + ], + "line-24": [ + 24 + ], + "line-25": [ + 25 + ], + "local-6989586621679138604": [ + 25 + ], + "local-6989586621679138605": [ + 25 + ], + "line-26": [ + 26 + ], + "line-27": [ + 27 + ], + "line-28": [ + 28 + ], + "local-6989586621679138609": [ + 28 + ], + "line-29": [ + 29 + ], + "line-30": [ + 30 + ], + "line-31": [ + 31 + ], + "line-32": [ + 32 + ], + "fromBytes": [ + 32 + ], + "line-33": [ + 33 + ], + "line-34": [ + 34 + ], + "line-35": [ + 35 + ], + "line-36": [ + 36 + ], + "toBytes": [ + 36 + ], + "local-6989586621679138614": [ + 36 + ], + "line-37": [ + 37 + ], + "line-38": [ + 38 + ], + "line-39": [ + 39 + ], + "line-40": [ + 40 + ], + "decodeUtf8": [ + 40 + ], + "line-41": [ + 41 + ] + } +} diff --git a/packages/api-model/test/haskell-native.test.ts b/packages/api-model/test/haskell-native.test.ts index d83bb8f82..6d26b7254 100644 --- a/packages/api-model/test/haskell-native.test.ts +++ b/packages/api-model/test/haskell-native.test.ts @@ -2,10 +2,11 @@ import { spawnSync } from 'node:child_process' import { fileURLToPath } from 'node:url' import { expect, it } from 'vitest' -it('preserves native Haskell declarations and source/exporter provenance', () => { +// The complete native fixture audit runs in a separate Python process. +it('preserves native Haskell declarations and source/exporter provenance', { timeout: 15_000 }, () => { const root = fileURLToPath(new URL('../../../', import.meta.url)) const result = spawnSync('python3', ['-m', 'unittest', 'packages/api-model/test/test_haskell_export.py'], { - cwd: root, encoding: 'utf8', + cwd: root, encoding: 'utf8', timeout: 10_000, }) expect(result.error).toBeUndefined() expect(result.status, result.stderr).toBe(0) diff --git a/packages/api-model/test/haskell-observations.test.ts b/packages/api-model/test/haskell-observations.test.ts new file mode 100644 index 000000000..8550dc664 --- /dev/null +++ b/packages/api-model/test/haskell-observations.test.ts @@ -0,0 +1,126 @@ +import { readFileSync } from 'node:fs' +import { describe, expect, it } from 'vitest' +import { extractHaskellArtifact } from '../src/languages/haskell.ts' +import { navSidecar } from '../src/nav-sidecar.ts' +import { sourceUrl } from '../src/products.ts' +import { SymbolIndex } from '../src/link.ts' +import { tokenizeDoc } from '../src/doc/roles.ts' + +const artifact = JSON.parse(readFileSync(new URL('./fixtures/haskell-observations-native/artifact.json', import.meta.url), 'utf8')) +const scalar = JSON.parse(readFileSync(new URL('./fixtures/haskell-native/artifact.json', import.meta.url), 'utf8')) +const recordField = (input: typeof artifact, owner = 'Pane') => input.symbols.find( + (entry: { id: string }) => entry.id === `LibTmux.Snapshot#v:${owner}.ref`, +) + +describe('native Haskell observation profile', () => { + it('preserves every declaration, native signature and actual defining source', () => { + const original = structuredClone(artifact) + const model = extractHaskellArtifact(artifact, artifact.revision) + expect(model.symbols).toHaveLength(232) + expect(model.symbols.map((entry) => entry.id)).toEqual(artifact.symbols.map((entry: { id: string }) => entry.id)) + for (const native of artifact.symbols) { + const actual = model.symbols.find((entry) => entry.id === native.id)! + expect(actual.signatures).toEqual(native.signatures) + expect(actual.source).toMatchObject(native.source) + } + expect(model.nativeProvenance).toEqual(artifact.nativeProvenance) + expect(model.nativeProvenance!.exporter.revision).not.toBe(model.revision) + expect(model.symbols.some((entry) => entry.id.includes('Internal'))).toBe(false) + for (const name of ['Snapshot', 'Generation', 'SessionRef', 'WindowRef', 'PaneRef']) { + expect(model.symbols.find((entry) => entry.id === `LibTmux.Snapshot#t:${name}`)!.modifiers).toEqual(['opaque']) + } + expect(artifact).toEqual(original) + }) + + it('retains reexports as ordered module links with a self-only root navigation bucket', () => { + const model = extractHaskellArtifact(artifact) + const root = model.symbols.find((entry) => entry.id === 'LibTmux')! + const targets = artifact.modules[0].reexports.map((entry: { module: string }) => entry.module) + expect(root.doc!.body!.split('## Reexports\n\n')[1]).toBe( + targets.map((target: string) => `- :obj:\`${target} <${target}>\``).join('\n'), + ) + expect(root.references!.map((entry) => entry.target).filter((target) => targets.includes(target))).toEqual(targets) + expect(model.symbols.filter((entry) => entry.parent === root.id)).toEqual([]) + const nav = navSidecar('haskell', structuredClone(model))! + expect(nav.buckets.map((bucket) => bucket.label)).toEqual(artifact.package.exposedModules) + expect(nav.assignments[nav.buckets[0].id].map((entry) => entry.id)).toEqual(['LibTmux']) + expect(nav.diagnostics).toEqual({ unmatched: [], deadBuckets: [], ambiguous: [], staleUnsettled: [] }) + }) + + it('keeps duplicated field labels in their records without fabricating selectors or source lines', () => { + const model = extractHaskellArtifact(artifact) + const summaries = new Set() + for (const owner of ['Session', 'Window', 'Pane']) { + const native = recordField(artifact, owner) + const field = model.symbols.find((entry) => entry.id === native.id)! + expect(field).toMatchObject({ name: 'ref', kind: 'property', qualifiedName: 'LibTmux.Snapshot.ref', + parent: `LibTmux.Snapshot#t:${owner}` }) + expect(field.signatures[0].raw).toBe(`ref :: !${owner}Ref`) + expect(field.signatures[0].params).toEqual([]) + expect(field.source).not.toHaveProperty('line') + expect(sourceUrl(model, field)).toBe(`https://github.com/${artifact.repo}/blob/${artifact.revision}/internal/LibTmux/Internal/Graph.hs`) + expect(field.doc).toEqual(native.doc) + summaries.add(field.doc!.summary) + } + expect(summaries.size).toBe(3) + expect(model.symbols.some((entry) => entry.kind === 'function' && ['ref', 'width'].includes(entry.name))).toBe(false) + }) + + it('resolves all authored native interlinks and instance references in the normalized model', () => { + const model = extractHaskellArtifact(artifact) + const index = new SymbolIndex(model.symbols, (entry) => `/${encodeURIComponent(entry.id)}/`, 'haskell') + for (const entry of model.symbols) { + for (const reference of entry.references ?? []) expect(index.resolve(reference.target, 'obj', entry)).toBeDefined() + for (const text of [entry.doc?.summary, entry.doc?.body].filter((value): value is string => !!value)) { + for (const span of tokenizeDoc(text, 'haskell')) { + if (span.kind === 'ref') expect(index.resolve(span.target, span.role, entry), `${entry.id}: ${span.target}`).toBeDefined() + } + } + } + }) + + it('rejects a field link whose native anchor cannot identify one record owner', () => { + const input = structuredClone(artifact) + const capture = input.symbols.find((entry: { id: string }) => entry.id === 'LibTmux.Server#v:capture') + const link = capture.signatures[0].nativeSpans.find((span: { target?: string }) => span.target === 'LibTmux.Server#t:Server') + link.target = recordField(input).id + link.href = 'LibTmux-Snapshot.html#v:ref' + expect(() => extractHaskellArtifact(input)).toThrow(/ambiguous/) + }) + + it.each([ + ['scalar', scalar, 'LibTmux.Version'], + ['observations', artifact, 'LibTmux.Snapshot.Fixture'], + ])('rejects an incomplete %s module', (_profile, original, module) => { + const input = structuredClone(original) + input.symbols = input.symbols.filter((entry: { id: string }) => !entry.id.startsWith(`${module}#`)) + input.modules.find((entry: { name: string }) => entry.name === module).groups = [] + expect(() => extractHaskellArtifact(input)).toThrow(/export group/i) + }) + + it.each([ + ['profile', (a: typeof artifact) => { a.profile = 'observations/2' }], + ['module public identity', (a: typeof artifact) => { a.symbols[0].publicId = 'LibTmux.Private' }], + ['module qualified identity', (a: typeof artifact) => { a.symbols[0].qualifiedName = 'LibTmux.Internal.Runtime' }], + ['module namespace identity', (a: typeof artifact) => { a.symbols[0].namespace = 'LibTmux.Internal.Runtime' }], + ['producer version', (a: typeof artifact) => { a.nativeProvenance.exporter.version = 1 }], + ['unqualified module', (a: typeof artifact) => { a.package.exposedModules.push('LibTmux.Extra') }], + ['missing defining input', (a: typeof artifact) => { + a.nativeProvenance.files = a.nativeProvenance.files.filter((entry: { path: string }) => entry.path !== recordField(a).source.file) + }], + ['field identity', (a: typeof artifact) => { recordField(a).id = 'LibTmux.Snapshot#v:ref' }], + ['field parent', (a: typeof artifact) => { recordField(a).parent = 'LibTmux.Snapshot#t:Window' }], + ['native field namespace', (a: typeof artifact) => { recordField(a).nativeLocation.anchor = 't:ref' }], + ['native field page', (a: typeof artifact) => { recordField(a).nativeLocation.module = 'LibTmux' }], + ['defining module', (a: typeof artifact) => { recordField(a).definingModule = 'LibTmux.Internal.Unknown' }], + ['defining file', (a: typeof artifact) => { recordField(a).source.file = 'src/LibTmux/Snapshot.hs' }], + ['duplicate reexport', (a: typeof artifact) => { a.modules[0].reexports.push(a.modules[0].reexports[0]) }], + ['hidden reexport', (a: typeof artifact) => { a.modules[0].reexports[0].module = 'LibTmux.Internal.Graph' }], + ['self reexport', (a: typeof artifact) => { a.modules[0].reexports[0].module = 'LibTmux' }], + ['missing reexport metadata', (a: typeof artifact) => { delete a.modules[0].reexports }], + ])('rejects invalid %s before publishing the observation reference', (_description, mutate) => { + const input = structuredClone(artifact) + mutate(input) + expect(() => extractHaskellArtifact(input)).toThrow(/Haskell|export group/) + }) +}) diff --git a/packages/api-model/test/haskell-query.test.ts b/packages/api-model/test/haskell-query.test.ts new file mode 100644 index 000000000..98d7d222d --- /dev/null +++ b/packages/api-model/test/haskell-query.test.ts @@ -0,0 +1,61 @@ +import { describe, expect, it } from 'vitest' +import artifact from './fixtures/haskell-query-native/artifact.json' +import { extractHaskellArtifact } from '../src/languages/haskell' +import { SymbolIndex, tokenizeDoc } from '../src/reference' +import { navSidecar } from '../src/nav-sidecar' + +describe('the native Haskell query profile', () => { + it('preserves every native signature, type parameter and defining source', () => { + const model = extractHaskellArtifact(artifact, artifact.revision) + expect(model.symbols.map((entry) => entry.id)).toEqual(artifact.symbols.map((entry) => entry.id)) + for (const native of artifact.symbols) { + const actual = model.symbols.find((entry) => entry.id === native.id)! + expect(actual.signatures).toEqual(native.signatures) + expect(actual.source).toMatchObject(native.source) + } + for (const [name, parameters] of [['Field', 'row value'], ['Expr', 'row'], ['Query', 'row'], + ['Order', 'row'], ['ToMany', 'parent child'], ['ToOne', 'parent child'], ['ToOptional', 'parent child']]) { + const type = model.symbols.find((entry) => entry.id === `LibTmux.Query#t:${name}`)! + expect(type.modifiers).toEqual(['opaque']) + expect(type.signatures[0].raw).toBe(`data ${name} ${parameters}`) + } + expect(model.symbols.find((entry) => entry.id === 'LibTmux.Query#t:Order')!.source).not.toHaveProperty('line') + expect(model.symbols.some((entry) => entry.id.includes('Internal'))).toBe(false) + }) + + it('keeps query field tokens distinct from observed record labels', () => { + const model = extractHaskellArtifact(artifact) + const token = model.symbols.find((entry) => entry.id === 'LibTmux.Query.Pane#v:width')! + const observed = model.symbols.find((entry) => entry.id === 'LibTmux.Snapshot#v:Pane.width')! + expect(token.kind).toBe('function') + expect(token.signatures[0].raw).toBe('width :: Field Pane Dimension') + expect(observed.kind).toBe('property') + expect(observed.parent).toBe('LibTmux.Snapshot#t:Pane') + const nav = navSidecar('haskell', structuredClone(model))! + expect(nav.buckets.map((bucket) => bucket.label)).toEqual(artifact.package.exposedModules) + expect(nav.diagnostics).toEqual({ unmatched: [], deadBuckets: [], ambiguous: [], staleUnsettled: [] }) + }) + + it('resolves authored query links through the public reference', () => { + const model = extractHaskellArtifact(artifact) + const index = new SymbolIndex(model.symbols, (entry) => `/${encodeURIComponent(entry.id)}/`, 'haskell') + for (const entry of model.symbols) { + for (const reference of entry.references ?? []) expect(index.resolve(reference.target, 'obj', entry)).toBeDefined() + for (const text of [entry.doc?.summary, entry.doc?.body].filter((value): value is string => !!value)) { + for (const span of tokenizeDoc(text, 'haskell')) { + if (span.kind === 'ref') expect(index.resolve(span.target, span.role, entry), `${entry.id}: ${span.target}`).toBeDefined() + } + } + } + }) + + it('rejects unqualified module and declaration forms', () => { + const module = structuredClone(artifact) + module.package.exposedModules.push('LibTmux.Query.Private') + expect(() => extractHaskellArtifact(module)).toThrow(/module profile/) + const alias = structuredClone(artifact) + const field = alias.symbols.find((entry) => entry.id === 'LibTmux.Query#t:Field')! + field.signatures[0].raw = 'type Field row value' + expect(() => extractHaskellArtifact(alias)).toThrow(/unsupported type representation/) + }) +}) diff --git a/packages/api-model/test/member-order.test.ts b/packages/api-model/test/member-order.test.ts index 04d7b92f2..3d3749295 100644 --- a/packages/api-model/test/member-order.test.ts +++ b/packages/api-model/test/member-order.test.ts @@ -108,6 +108,10 @@ d('member order', () => { id: 'LibTmux free functions', members: symbols.filter((symbol) => !symbol.parent && symbol.kind === 'function' && symbol.id.startsWith('LibTmux.')), }) + if (port === 'haskell') groups.push({ + id: 'LibTmux.Snapshot', + members: symbols.filter((symbol) => symbol.parent === 'LibTmux.Snapshot'), + }) let checked = 0 for (const { id, members } of groups) { const ordered = members.toSorted(compareMembers(signals)) @@ -128,11 +132,7 @@ d('member order', () => { checked++ } } - if (port === 'haskell') { - // The current public modules contain scalar values, with no entity graph or listing API. - expect(groups).toEqual([]) - expect([...listingIds].filter(Boolean)).toEqual([]) - } else expect(checked, `${port} must exercise at least one real listing or query`).toBeGreaterThan(0) + expect(checked, `${port} must exercise at least one real listing or query`).toBeGreaterThan(0) }) it('leads a Lua Server, which has no sessions accessor, with its queries', () => { @@ -183,7 +183,7 @@ d('member order', () => { const parents = symbols.filter((symbol) => memberTier(symbol, signals) === 'parent') // F#/PowerShell use .NET handles; Julia's and Elixir's relationships are // read from a captured snapshot, not through accessors on an entity. - // Haskell currently exposes scalar values without a public entity graph. + // Haskell resolves detached references through snapshot functions. expect(parents.length > 0).toBe(!['fsharp', 'powershell', 'julia', 'elixir', 'erlang', 'haskell', 'clojure', 'lisp'].includes(port)) for (const parent of parents) { const siblings = symbols.filter((symbol) => symbol.parent === parent.parent).toSorted(compareMembers(signals)) diff --git a/packages/api-model/test/nav-sidecar.test.ts b/packages/api-model/test/nav-sidecar.test.ts index 274b3826a..176309706 100644 --- a/packages/api-model/test/nav-sidecar.test.ts +++ b/packages/api-model/test/nav-sidecar.test.ts @@ -129,6 +129,31 @@ describe('native export groups', () => { expect(model).toEqual(before) }) + it('places a reexport-only module without inventing direct members or groups', () => { + const model = fixture() + model.symbols.unshift({ ...symbol('Root', 'module'), apiScope: 'exported', + references: [{ target: 'Module.Z', kind: 'reference' }, { target: 'Module.A', kind: 'reference' }] }) + const actual = navSidecar('haskell', model)! + expect(actual.buckets.map((bucket) => bucket.label)).toEqual(['Root', 'Module.Z', 'Module.A']) + const root = actual.buckets[0] + expect(root.children).toEqual([]) + expect(actual.assignments[root.id].map((entry) => entry.id)).toEqual(['Root']) + expect(actual.placement.Root).toBe(root.id) + expect(actual.diagnostics).toEqual({ unmatched: [], deadBuckets: [], ambiguous: [], staleUnsettled: [] }) + expect(model.exportGroups).toHaveLength(3) + }) + + it('rejects empty modules with no distinct public module relation', () => { + const relationships: NonNullable[] = [[], + [{ target: 'Root', kind: 'reference' }], [{ target: 'private.module', kind: 'reference' }]] + for (const references of relationships) { + const model = fixture() + model.symbols.unshift({ ...symbol('Root', 'module'), apiScope: 'exported', references }) + model.symbols.push(symbol('private.module', 'module')) + expect(() => navSidecar('haskell', model)).toThrow(/module has no groups/) + } + }) + it('excludes nonpublic declarations that are absent from the native export groups', () => { const model = fixture() model.symbols.push(symbol('private', 'function', 'Module.Z'), symbol('private.module', 'module')) diff --git a/packages/api-model/test/test_haskell_export.py b/packages/api-model/test/test_haskell_export.py index 7142fb8ec..c1bfce0df 100644 --- a/packages/api-model/test/test_haskell_export.py +++ b/packages/api-model/test/test_haskell_export.py @@ -4,6 +4,7 @@ import importlib.util import json +import re import subprocess import tempfile import unittest @@ -36,6 +37,226 @@ def _artifact(): return EXPORT.extract_modules(*_native_inputs()) +def _profile_inputs(fixture_name="haskell-observations-native"): + fixture = ROOT / "test/fixtures" / fixture_name + meta = json.loads((fixture / "provenance.json").read_text()) + return [ + { + name: (fixture / (name.replace(".", "-") + ".html")).read_text() + for name in meta["modules"] + }, + json.loads((fixture / "installed.json").read_text()), + meta["modules"], + json.loads((fixture / "source-anchors.json").read_text()), + meta["revision"], + ] + + +class _QueryExportTest(unittest.TestCase): + def test_query_parameters_constraints_and_defining_sources_survive(self): + result = EXPORT.extract_modules(*_profile_inputs("haskell-query-native")) + symbols = {item["id"]: item for item in result["symbols"]} + self.assertEqual(len(result["modules"]), 16) + for name, parameters in [ + ("Field", "row value"), + ("Expr", "row"), + ("Query", "row"), + ("Order", "row"), + ("ToMany", "parent child"), + ("ToOne", "parent child"), + ("ToOptional", "parent child"), + ]: + with self.subTest(name=name): + item = symbols[f"LibTmux.Query#t:{name}"] + self.assertEqual(item["signatures"][0]["raw"], f"data {name} {parameters}") + self.assertEqual(item["modifiers"], ["opaque"]) + self.assertTrue(item["source"]["file"].startswith("internal/LibTmux/Internal/")) + for name, signature in [ + ("eq", "eq :: Eq value => Field row value -> value -> Expr row"), + ("runQuery", "runQuery :: Snapshot -> Query row -> Either QueryError [row]"), + ("fetch", "fetch :: Server -> Query row -> IO (Either QueryError [row])"), + ]: + with self.subTest(name=name): + item = symbols[f"LibTmux.Query#v:{name}"] + self.assertEqual(item["signatures"][0]["raw"], signature) + self.assertNotIn("line", symbols["LibTmux.Query#t:Order"]["source"]) + self.assertIn("LibTmux.Query.Pane#v:width", symbols) + self.assertIn("LibTmux.Snapshot#v:Pane.width", symbols) + self.assertFalse(any("Internal" in item["id"] for item in result["symbols"])) + + +class _ObservationExportTest(unittest.TestCase): + def test_native_source_text_matches_committed_bytes_without_annotation_tooltips(self): + page = ( + '
data '
+            'Generated tooltip\n'
+            'Value\n
' + ) + self.assertEqual( + EXPORT._checked_source_page(page, b"data Value\n"), {"line-1": [1], "Value": [1]} + ) + with self.assertRaisesRegex(ValueError, "source text differs"): + EXPORT._checked_source_page(page, b"data Changed\n") + + def test_source_markers_are_qualified_by_physical_visible_line_positions(self): + page = '
\n\n\ndata Value\n
' + self.assertEqual(EXPORT._checked_source_page(page, b"\n\n\ndata Value\n")["Value"], [4]) + for markers in ['', '' * 2]: + with ( + self.subTest(markers=markers), + self.assertRaisesRegex(ValueError, "source line marker"), + ): + EXPORT._checked_source_page(f"
{markers}data Value\n
", b"data Value\n") + + def test_explicit_missing_source_anchors_fail_instead_of_becoming_file_links(self): + for line in [False, True]: + with self.subTest(line=line): + inputs = _profile_inputs() + html = inputs[0]["LibTmux.Snapshot"] + anchor = ( + re.search(r"src/LibTmux.Internal.Graph.html#line-\d+", html)[0] + if line + else "src/LibTmux.Internal.Graph.html#Session" + ) + replacement = "src/LibTmux.Internal.Graph.html#" + ( + "line-999999" if line else "Absent" + ) + self.assertIn(anchor, html) + inputs[0]["LibTmux.Snapshot"] = html.replace(anchor, replacement, 1) + with self.assertRaisesRegex(ValueError, "explicit native source anchor"): + EXPORT.extract_modules(*inputs) + + def test_fields_and_constructors_require_value_namespace_native_anchors(self): + for inputs, module, name in [ + (_profile_inputs(), "LibTmux.Snapshot", "ref"), + (_native_inputs(), "LibTmux.Id", "InvalidId"), + ]: + with self.subTest(name=name): + marker = f'id="v:{name}"' + self.assertIn(marker, inputs[0][module]) + inputs[0][module] = inputs[0][module].replace(marker, f'id="t:{name}"', 1) + with self.assertRaisesRegex(ValueError, "Unsupported Haddock public anchor"): + EXPORT.extract_modules(*inputs) + + def test_root_reexports_keep_order_without_cloning_child_declarations(self): + result = EXPORT.extract_modules(*_profile_inputs()) + root = result["modules"][0] + self.assertEqual(root["name"], "LibTmux") + self.assertEqual(root["groups"], []) + names = ["LibTmux." + name for name in ["Server", "Snapshot", "Id", "Value", "Version"]] + self.assertEqual( + root["reexports"], + [{"module": name, "href": name.replace(".", "-") + ".html"} for name in names], + ) + self.assertEqual(len(result["symbols"]), 232) + self.assertEqual(sum(s.get("parent") == "LibTmux" for s in result["symbols"]), 0) + + def test_duplicate_fields_keep_their_owner_docs_types_and_defining_source(self): + result = EXPORT.extract_modules(*_profile_inputs()) + symbols = {s["id"]: s for s in result["symbols"]} + docs = { + "Session": "Target identity in the observation's generation.", + "Window": "Shared identity across this snapshot's window links.", + "Pane": "Pane identity in the observation's generation.", + } + for owner, summary in docs.items(): + with self.subTest(owner=owner): + field = symbols[f"LibTmux.Snapshot#v:{owner}.ref"] + self.assertEqual(field["name"], "ref") + self.assertEqual(field["kind"], "property") + self.assertEqual(field["parent"], f"LibTmux.Snapshot#t:{owner}") + self.assertEqual(field["qualifiedName"], "LibTmux.Snapshot.ref") + self.assertEqual(field["signatures"][0]["raw"], f"ref :: !{owner}Ref") + self.assertEqual(field["doc"]["summary"], summary) + self.assertEqual( + field["nativeLocation"], {"module": "LibTmux.Snapshot", "anchor": "v:ref"} + ) + self.assertEqual(field["definingModule"], "LibTmux.Internal.Graph") + self.assertEqual(field["source"]["file"], "internal/LibTmux/Internal/Graph.hs") + self.assertNotIn("line", field["source"]) + self.assertFalse( + any(s["kind"] == "function" and s["name"] == "ref" for s in symbols.values()) + ) + self.assertFalse(any("Internal" in s["id"] for s in symbols.values())) + + def test_compiled_origins_and_export_multiplicity_are_checked(self): + for description, mutate in [ + ( + "wrong defining source", + lambda inputs: inputs[0].__setitem__( + "LibTmux.Snapshot", + inputs[0]["LibTmux.Snapshot"].replace( + "src/LibTmux.Internal.Graph.html#Pane", + "src/LibTmux.Internal.Scope.html#Pane", + 1, + ), + ), + ), + ( + "omitted repeated field", + lambda inputs: next( + item + for item in inputs[1]["inst_ifaces"] + if item["module"].endswith("$LibTmux.Snapshot") + )["visible_exports"].remove( + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref" + ), + ), + ( + "wrong compiled owner", + lambda inputs: inputs[1]["link_env"].__setitem__( + "$libtmux-haskell-0.1.0.0-inplace$LibTmux.Internal.Graph$ref", "LibTmux.Server" + ), + ), + ]: + with self.subTest(description=description): + inputs = _profile_inputs() + mutate(inputs) + with self.assertRaisesRegex(ValueError, "visible-export|Compiled public owner"): + EXPORT.extract_modules(*inputs) + + def test_reexport_and_duplicate_label_ambiguity_fail_instead_of_guessing(self): + for description, edit in [ + ( + "hidden reexport", + lambda pages: pages.__setitem__( + "LibTmux", + pages["LibTmux"].replace( + 'href="LibTmux-Server.html"', 'href="LibTmux-Internal-Runtime.html"' + ), + ), + ), + ( + "missing reexport", + lambda pages: pages.__setitem__( + "LibTmux", + pages["LibTmux"].replace( + 'module LibTmux.Server', + 'module LibTmux.Snapshot', + ), + ), + ), + ( + "ambiguous authored field", + lambda pages: pages.__setitem__( + "LibTmux", + pages["LibTmux"].replace( + 'href="LibTmux-Server.html#v:capture"', + 'href="LibTmux-Snapshot.html#v:ref"', + 1, + ), + ), + ), + ]: + with self.subTest(description=description): + inputs = _profile_inputs() + original = dict(inputs[0]) + edit(inputs[0]) + self.assertNotEqual(inputs[0], original) + with self.assertRaisesRegex(ValueError, "reexport|ambiguous"): + EXPORT.extract_modules(*inputs) + + class _NativeExportTest(unittest.TestCase): def test_exporter_identity_requires_the_exact_committed_bytes(self): with tempfile.TemporaryDirectory(prefix="libtmux-haskell-exporter-test-") as directory: diff --git a/scripts/gen-tmux-usage.mjs b/scripts/gen-tmux-usage.mjs index 3feb99821..b15dd26f5 100644 --- a/scripts/gen-tmux-usage.mjs +++ b/scripts/gen-tmux-usage.mjs @@ -32,6 +32,7 @@ import { dirname, join, resolve } from 'node:path' import { fileURLToPath } from 'node:url' import { GRAMMARS, isLibrarySource, scanSource } from './lib/tmux-usage-scan.mjs' import { reachableHaskellSources } from './lib/tmux-usage-haskell.mjs' +import { qualifyNativeHaskell } from './lib/tmux-usage-haskell-native.mjs' import { applyConditions, applyExclusions, conditionProblem, deriveUsage, partialProblems, ruleHolds, verifyClaims } from './lib/tmux-usage-derive.mjs' import { auditEvidence } from './lib/tmux-usage-audit.mjs' import { dispatcherProblems, guardProblems, preflightProblems } from './lib/tmux-usage-dispatch.mjs' @@ -201,7 +202,9 @@ export function portDocument(port, model, found, commands) { } /** Read a port's source at its pinned revision: every function, and the public symbols that name them. */ -export async function scanPort({ port, model, commands, checkout, known, dispatch, builders, guards, labels, trace }) { +export async function scanPort({ port, model, commands, checkout, known, dispatch, builders, guards, labels, trace, + nativeProfile = /** @type {object | undefined} */ (undefined), + nativeClaims = /** @type {import('./lib/tmux-usage-derive.mjs').Claim[]} */ ([]) }) { const grammar = GRAMMARS[port] // A port with no reader would be generated as sending nothing, and pass. if (!grammar) throw new Error(`${port}: no reader for its source; add it to GRAMMARS in scripts/lib/tmux-usage-scan.mjs`) @@ -210,9 +213,24 @@ export async function scanPort({ port, model, commands, checkout, known, dispatc const types = [] const modules = [] const available = librarySources(checkout, model.revision, grammar) + const cache = new Map() + const readSource = (path) => { + if (available.has(path)) return available.get(path) + if (!cache.has(path)) { + const result = spawnSync('git', ['-C', checkout, 'show', `${model.revision}:${path}`], { maxBuffer: 1 << 28 }) + cache.set(path, result.status === 0 ? result.stdout.toString('utf8') : undefined) + } + return cache.get(path) + } const sources = grammar === 'haskell' ? await reachableHaskellSources(available, model.symbols.map((symbol) => symbol.source?.file).filter(Boolean)) : available + const nativeCapture = port === 'haskell' && model.repo === 'libtmux/libtmux-haskell' + && (model.nativeProvenance?.exporter?.version >= 2 || symbols.some((symbol) => symbol.id === 'LibTmux.Server#v:capture')) + if (nativeCapture && !nativeProfile) throw new Error('Native Haskell usage qualification: no reviewed profile for this capture API') + const reviewedFiles = nativeCapture ? qualifyNativeHaskell({ model, symbols, + inventory: git(checkout, 'ls-tree', '-r', '--name-only', model.revision).toString('utf8').trim().split('\n'), + readSource, profile: nativeProfile, claims: nativeClaims }) : undefined const wanted = new Set(commands) const native = port === 'perl' ? readJson(join(checkout, 'docs/_build/api.json')) : undefined if (native && (native.nativeScan?.schema !== 'libtmux.perl-source/v1' || native.nativeScan.revision !== model.revision || native.nativeProvenance?.exporter?.working_tree !== false)) { @@ -220,7 +238,7 @@ export async function scanPort({ port, model, commands, checkout, known, dispatc } for (const [path, text] of sources) { if (grammar === 'haskell' && path.endsWith('.lhs')) throw new Error(`Haskell source usage coverage: literate input is not qualified: ${path}`) - const scanned = await scanSource({ grammar, text, commands: wanted, known, dispatch, builders, guards, labels, trace, native: native?.nativeScan.files[path] }) + const scanned = await scanSource({ grammar, text, commands: wanted, known, dispatch, builders, guards, labels, trace, native: native?.nativeScan.files[path], reviewedDigest: reviewedFiles?.[path] }) for (const fn of scanned.functions) functions.push({ ...fn, file: path }) for (const type of scanned.types) types.push({ ...type, file: path }) for (const module of scanned.modules ?? []) modules.push({ ...module, file: path }) @@ -229,15 +247,6 @@ export async function scanPort({ port, model, commands, checkout, known, dispatc if (!sources.size || !functions.length) throw new Error('ocaml: the pinned library scan found no implementation functions') bindOcamlDefinitions({ symbols, functions, modules, sources }) } - const cache = new Map() - const readSource = (path) => { - if (sources.has(path)) return sources.get(path) - if (!cache.has(path)) { - const result = spawnSync('git', ['-C', checkout, 'show', `${model.revision}:${path}`], { maxBuffer: 1 << 28 }) - cache.set(path, result.status === 0 ? result.stdout.toString('utf8') : undefined) - } - return cache.get(path) - } return { symbols, functions, types, readSource } } @@ -399,6 +408,8 @@ export { dispatcherProblems, guardProblems, preflightProblems } export async function main() { const scopes = readJson(join(usageDir, 'scopes.json')) const claims = existsSync(claimsPath) ? readJson(claimsPath).claims : [] + const nativeProfilePath = join(rulesDir, 'haskell-native.json') + const nativeProfile = existsSync(nativeProfilePath) ? readJson(nativeProfilePath) : undefined const exclusions = existsSync(exclusionsPath) ? readJson(exclusionsPath).exclusions : [] const reviews = existsSync(reviewsPath) ? readJson(reviewsPath).reviews : [] const dispatchers = existsSync(dispatchersPath) ? readJson(dispatchersPath).dispatchers : [] @@ -450,6 +461,8 @@ export async function main() { dispatch: new Set(apis.filter((api) => api.kind !== 'builder').map((api) => api.name)), builders: new Set(apis.filter((api) => api.kind === 'builder').map((api) => api.name)), guards: wrappers.map(({ name, owner }) => ({ name, owner })), labels: new Map(apis.filter((api) => api.labels?.length).map((api) => [api.name, new Set(api.labels.map((label) => label.at))])), + nativeProfile: port.slug === 'haskell' ? nativeProfile : undefined, + nativeClaims: rules(claims), }) scans.set(scanKey(port.slug, model.revision), { read: scanned.readSource, functions: scanned.functions }) const dispatchProblems = model.revision === pinned diff --git a/scripts/lib/tmux-usage-haskell-native.mjs b/scripts/lib/tmux-usage-haskell-native.mjs new file mode 100644 index 000000000..5a496aae1 --- /dev/null +++ b/scripts/lib/tmux-usage-haskell-native.mjs @@ -0,0 +1,33 @@ +import { createHash } from 'node:crypto' + +const digest = (text) => createHash('sha256').update(text).digest('hex') +const same = (left, right) => JSON.stringify([...left].sort()) === JSON.stringify([...right].sort()) + +/** A reviewed queued transport needs exact source and public-symbol coverage, not guessed call flow. */ +export function qualifyNativeHaskell({ model, symbols, inventory, readSource, profile, claims }) { + const fail = (reason) => { throw new Error(`Native Haskell usage qualification: ${reason}`) } + if (profile.schemaVersion !== 1 || profile.repository !== model.repo || profile.revision !== model.revision) fail('repository or revision differs from its reviewed profile') + const inputs = inventory.filter((path) => /^(?:src|internal|cbits)\//.test(path) + || /^(?:\.tool-versions|cabal\.project|[^/]+\.cabal)$/.test(path)) + if (!profile.files || !same(Object.keys(profile.files), inputs)) fail('source inventory differs from its reviewed profile') + for (const [path, expected] of Object.entries(profile.files)) { + const text = readSource(path) + if (typeof text !== 'string' || !/^[a-f\d]{64}$/.test(expected) || digest(text) !== expected) fail(`source bytes changed in ${path}`) + } + const modelShape = { symbols: model.symbols, sources: model.sources, exportGroups: model.exportGroups, + build: model.nativeProvenance?.exporter?.build } + if (digest(JSON.stringify(modelShape)) !== profile.modelSha256) fail('public model or native build metadata differs from the profile') + if (digest(JSON.stringify(claims)) !== profile.claimsSha256) fail('reviewed claims differ from the profile') + const kinds = new Set(['sends', 'caller-io', 'pure', 'local-recovery', 'value']) + const classified = new Map() + for (const group of profile.classifications ?? []) { + if (!kinds.has(group.kind) || !group.why?.trim() || !Array.isArray(group.symbols) || !group.symbols.length) fail('invalid public classification') + for (const symbol of group.symbols) { + if (typeof symbol !== 'string' || classified.has(symbol)) fail(`duplicate or invalid public classification: ${symbol}`) + classified.set(symbol, group.kind) + } + } + if (!same(classified.keys(), symbols.map((symbol) => symbol.id))) fail('public classification is incomplete or stale') + if (!same(new Set(claims.map((claim) => claim.symbol)), [...classified].filter(([, kind]) => kind === 'sends').map(([symbol]) => symbol))) fail('claims and sending classifications disagree') + return profile.files +} diff --git a/scripts/lib/tmux-usage-haskell.mjs b/scripts/lib/tmux-usage-haskell.mjs index 9424cd0aa..e80c50b2b 100644 --- a/scripts/lib/tmux-usage-haskell.mjs +++ b/scripts/lib/tmux-usage-haskell.mjs @@ -1,5 +1,6 @@ /** Native Haskell syntax and demanded action paths for the source-usage index. */ import { parserFor } from '../../packages/api-model/src/parser.ts' +import { createHash } from 'node:crypto' const row = (node) => node.startPosition.row + 1 const field = (node, name) => node?.childForFieldName(name) @@ -62,7 +63,10 @@ export async function reachableHaskellSources(sources, roots) { } /** Parse the qualified source profile; unsupported command flow is a generation error. */ -export async function scanHaskell(text, { commands, known, dispatch = new Set() }) { +export async function scanHaskell(text, { commands, known, dispatch = new Set(), reviewedDigest }) { + if (reviewedDigest && createHash('sha256').update(text).digest('hex') !== reviewedDigest) { + throw new Error('Native Haskell usage qualification: source differs from its reviewed digest') + } const parser = await parserFor('haskell') const tree = parser.parse(text) const module = field(tree.rootNode.namedChildren.find((node) => node.type === 'header'), 'module')?.text ?? 'Main' @@ -105,6 +109,9 @@ export async function scanHaskell(text, { commands, known, dispatch = new Set() } const root = scopeFor(field(tree.rootNode, 'declarations'), undefined) ?? { names: new Map() } + // A separately qualified native catalogue supplies reviewed sends. This + // index only proves the declaration bounds used by the shared claim audit. + if (reviewedDigest) return { functions: infos.map((info) => info.record), types: [], orphans: [] } const preludeImports = field(tree.rootNode, 'imports')?.namedChildren.filter((node) => field(node, 'module')?.text === 'Prelude') ?? [] const pragmas = tree.rootNode.descendantsOfType('pragma') const rebindable = pragmas.some((node) => /\bRebindableSyntax\b/.test(node.text)) diff --git a/scripts/lib/tmux-usage-scan.mjs b/scripts/lib/tmux-usage-scan.mjs index fb7bcd85b..98813a5f9 100644 --- a/scripts/lib/tmux-usage-scan.mjs +++ b/scripts/lib/tmux-usage-scan.mjs @@ -605,7 +605,7 @@ export function withoutPrimaryConstructors(text) { * `types` are the declarations that own functions, so a claim can anchor to * a class; `orphans` are the sites outside any named function. */ -export async function scanSource({ grammar, text, commands, known, dispatch, builders: declared = new Set(), guards = [], labels = new Map(), trace, native }) { +export async function scanSource({ grammar, text, commands, known, dispatch, builders: declared = new Set(), guards = [], labels = new Map(), trace, native, reviewedDigest }) { // A guard wraps the command it is handed and hands it on, so it passes a command through as a builder does. const builders = new Set([...declared, ...guards.map((guard) => guard.name)]) const isGuard = (fn) => guards.some((guard) => guard.name === fn?.name && (!guard.owner || guard.owner === fn.owner)) @@ -626,7 +626,7 @@ export async function scanSource({ grammar, text, commands, known, dispatch, bui if (grammar === 'elixir') return scanElixir(text, { commands, known, dispatch }) if (grammar === 'erlang') return scanErlang(text, { commands, known, dispatch, builders, labels }) if (grammar === 'fsharp') return scanFSharp(text) - if (grammar === 'haskell') return scanHaskell(text, { commands, known, dispatch }) + if (grammar === 'haskell') return scanHaskell(text, { commands, known, dispatch, reviewedDigest }) if (grammar === 'clojure') return scanClojure(text, { commands, dispatch }) if (grammar === 'commonlisp') return scanLisp(text, { commands, known, dispatch }) // A grammar that no reader above or below handles would reach the loader as a file that does not exist. diff --git a/scripts/stage-port-docs.mjs b/scripts/stage-port-docs.mjs index 933d3010c..42fd08360 100644 --- a/scripts/stage-port-docs.mjs +++ b/scripts/stage-port-docs.mjs @@ -56,8 +56,8 @@ function external(value) { return /^(?:[a-z][a-z0-9+.-]*:|#|\/)/i.test(value) } -export function rewriteLinks(content, sourcePath, route, routes, repo, revision, nativeReferenceFiles = new Set()) { - const targetUrl = (destination, image = false) => { +export function rewriteLinks(content, sourcePath, route, routes, repo, revision, nativeReferenceFiles = new Set(), nativeDeclarations = new Map()) { + const targetUrl = (destination, image = false, label) => { const owned = !image && /^https?:\/\/libtmux\.org\/en\/([^/]+)\//.exec(destination) if (owned) { const port = owned[1] === 'dotnet' ? 'csharp' : owned[1] @@ -75,9 +75,10 @@ export function rewriteLinks(content, sourcePath, route, routes, repo, revision, const [target, fragment = ''] = destination.split('#', 2) const normalized = posix.normalize(posix.join(posix.dirname(sourcePath), target)) const memberRoute = fragment && routes[`${normalized}#${fragment}`] + const declaration = !fragment && label && nativeDeclarations.get(`${normalized}\0${label}`) // Unknown native-help sections keep their source destination rather than // acquiring a fragment that the shared reference does not render. - const staged = memberRoute || (fragment && nativeReferenceFiles.has(normalized) ? undefined : routes[normalized]) + const staged = memberRoute || declaration || (fragment && nativeReferenceFiles.has(normalized) ? undefined : routes[normalized]) if (staged) { let href = posix.relative(route, staged[0]) || '.' if (!href.startsWith('.')) href = `./${href}` @@ -92,7 +93,9 @@ export function rewriteLinks(content, sourcePath, route, routes, repo, revision, const editsFor = (node) => { const children = (node.children ?? []).flatMap(editsFor) if (!['link', 'image', 'definition'].includes(node.type)) return children - const url = targetUrl(node.url, node.type === 'image') + const label = node.type === 'link' && node.children.every((child) => ['text', 'inlineCode'].includes(child.type)) + ? node.children.map((child) => child.value).join('') : undefined + const url = targetUrl(node.url, node.type === 'image', label) if (url === node.url) return children node.url = url return [{ start: node.position.start.offset, end: node.position.end.offset, @@ -139,6 +142,7 @@ export function stagedPortGuides(port, artifact) { const routes = ROUTES[port] const linkRoutes = Object.fromEntries(Object.entries(routes).map(([sourcePath, guide]) => [sourcePath, [guide.route]])) const nativeReferenceFiles = new Set() + const nativeDeclarations = new Map() for (const redirect of sourceGuideRedirectsFor(port)) linkRoutes[redirect.sourcePath] = [redirect.target] if (port === 'haskell') { const model = JSON.parse(readFileSync(join(root, 'site/src/data/api/haskell.json'), 'utf8')) @@ -147,6 +151,16 @@ export function stagedPortGuides(port, artifact) { if (symbol.source?.file) { linkRoutes[symbol.source.file] = [`reference/${symbol.slug}`] nativeReferenceFiles.add(symbol.source.file) + const names = Map.groupBy(model.symbols.filter((entry) => entry.kind !== 'module' + && (entry.namespace === symbol.id || entry.parent === symbol.id) + && entry.apiScope !== 'internal' && (entry.product ?? 'core') === 'core'), (entry) => entry.name) + for (const [name, declarations] of names) { + // A shared type/constructor spelling selects the data head. + // Repeated record labels stay at the module. + const heads = declarations.filter((entry) => entry.kind === 'typealias') + const selected = heads.length === 1 ? heads[0] : declarations.length === 1 ? declarations[0] : undefined + if (selected?.slug) nativeDeclarations.set(`${symbol.source.file}\0${name}`, [`reference/${selected.slug}`]) + } } } } @@ -217,7 +231,7 @@ export function stagedPortGuides(port, artifact) { const nativeLinked = port === 'julia' ? linkDocumenter(linked, artifact.source) : linked const { content: badged, files: badgeFiles } = localizeBadges(nativeLinked, port) for (const [name, svg] of badgeFiles) files.set(name, svg) - const rewritten = rewriteLinks(badged, sourcePath, route, linkRoutes, artifact.source.repository, artifact.source.revision, nativeReferenceFiles) + const rewritten = rewriteLinks(badged, sourcePath, route, linkRoutes, artifact.source.repository, artifact.source.revision, nativeReferenceFiles, nativeDeclarations) const data = { title, description: guide.description ?? `${title}: ${identity.packageName} documentation.`, diff --git a/scripts/test-tiers.json b/scripts/test-tiers.json index 8eae73446..30094e29e 100644 --- a/scripts/test-tiers.json +++ b/scripts/test-tiers.json @@ -3,6 +3,7 @@ { "reason": "Executes real subprocesses or Git repositories.", "files": [ + "packages/api-model/test/haskell-native.test.ts", "site/test/api-example-verification.test.ts", "site/test/api-fidelity.test.ts", "site/test/cargo-features.test.ts", diff --git a/scripts/tmux-usage/claims.json b/scripts/tmux-usage/claims.json index 9c608b67e..643ac913d 100644 --- a/scripts/tmux-usage/claims.json +++ b/scripts/tmux-usage/claims.json @@ -28944,6 +28944,616 @@ "in": "tmux_server:start_owned/1" } ] + }, + { + "port": "haskell", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14", + "symbol": "LibTmux.Server#v:capture", + "command": "display-message", + "scope": null, + "evidence": [ + { + "at": "cbits/process.c:125", + "has": [ + "rc = calls.spawn(&pidfd, file, &actions, &attributes, argv, env);" + ] + }, + { + "at": "internal/LibTmux/Internal/Process/Native.hs:30", + "has": [ + "foreign import ccall safe \"libtmux_process_spawn\" cSpawn" + ] + }, + { + "at": "internal/LibTmux/Internal/Process/Native.hs:100", + "has": [ + "launch = launchWith cSpawn" + ] + }, + { + "at": "internal/LibTmux/Internal/Process.hs:92", + "has": [ + "defaultHooks = Hooks", + "N.launch N.waitChild" + ] + }, + { + "at": "internal/LibTmux/Internal/Process.hs:192", + "has": [ + "native <- ticket.hooks.launchNative spec" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:719", + "has": [ + "created <- try @SomeException (P.submitInputRegistered register resourceClass hooks pool spec input)" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:636", + "has": [ + "N.spec executable ([executable, \"-u\", \"-N\", \"-S\", pinPath (serverPin client)]" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:680", + "has": [ + "compileNative nonce (Observe command) = Right (ObservationResult command, commandArguments nonce command, P.BytesInput \"\")" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:593", + "has": [ + "ReadSnapshot generation -> Record.snapshotCommands generation nonce" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:576", + "has": [ + "startRead (ReadSnapshot (pinGeneration (serverPin client)))" + ] + }, + { + "at": "internal/LibTmux/Internal/Capture.hs:86", + "has": [ + "owned runtime receipt (R.readSnapshotWith hooks left runtime client executable)" + ] + }, + { + "at": "internal/LibTmux/Internal/Capture.hs:79", + "has": [ + "captureSnapshot = captureSnapshotWith P.defaultHooks" + ] + }, + { + "at": "src/LibTmux/Server.hs:160", + "has": [ + "(started, finished, decoded) <- C.captureSnapshot runtime handle executable duration" + ], + "in": "LibTmux.Server#v:capture" + }, + { + "at": "internal/LibTmux/Internal/Record.hs:106", + "has": [ + "[ \"display-message\", \"-p\", \"-F\", marker" + ] + } + ] + }, + { + "port": "haskell", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14", + "symbol": "LibTmux.Server#v:capture", + "command": "if-shell", + "scope": null, + "evidence": [ + { + "at": "cbits/process.c:125", + "has": [ + "rc = calls.spawn(&pidfd, file, &actions, &attributes, argv, env);" + ] + }, + { + "at": "internal/LibTmux/Internal/Process/Native.hs:30", + "has": [ + "foreign import ccall safe \"libtmux_process_spawn\" cSpawn" + ] + }, + { + "at": "internal/LibTmux/Internal/Process/Native.hs:100", + "has": [ + "launch = launchWith cSpawn" + ] + }, + { + "at": "internal/LibTmux/Internal/Process.hs:92", + "has": [ + "defaultHooks = Hooks", + "N.launch N.waitChild" + ] + }, + { + "at": "internal/LibTmux/Internal/Process.hs:192", + "has": [ + "native <- ticket.hooks.launchNative spec" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:719", + "has": [ + "created <- try @SomeException (P.submitInputRegistered register resourceClass hooks pool spec input)" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:636", + "has": [ + "N.spec executable ([executable, \"-u\", \"-N\", \"-S\", pinPath (serverPin client)]" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:680", + "has": [ + "compileNative nonce (Observe command) = Right (ObservationResult command, commandArguments nonce command, P.BytesInput \"\")" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:593", + "has": [ + "ReadSnapshot generation -> Record.snapshotCommands generation nonce" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:576", + "has": [ + "startRead (ReadSnapshot (pinGeneration (serverPin client)))" + ] + }, + { + "at": "internal/LibTmux/Internal/Capture.hs:86", + "has": [ + "owned runtime receipt (R.readSnapshotWith hooks left runtime client executable)" + ] + }, + { + "at": "internal/LibTmux/Internal/Capture.hs:79", + "has": [ + "captureSnapshot = captureSnapshotWith P.defaultHooks" + ] + }, + { + "at": "src/LibTmux/Server.hs:160", + "has": [ + "(started, finished, decoded) <- C.captureSnapshot runtime handle executable duration" + ], + "in": "LibTmux.Server#v:capture" + }, + { + "at": "internal/LibTmux/Internal/Record.hs:108", + "has": [ + ", \";\", \"if-shell\", \"-F\", \"#{S:1}\", listing" + ] + } + ] + }, + { + "port": "haskell", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14", + "symbol": "LibTmux.Server#v:capture", + "command": "list-clients", + "scope": null, + "evidence": [ + { + "at": "cbits/process.c:125", + "has": [ + "rc = calls.spawn(&pidfd, file, &actions, &attributes, argv, env);" + ] + }, + { + "at": "internal/LibTmux/Internal/Process/Native.hs:30", + "has": [ + "foreign import ccall safe \"libtmux_process_spawn\" cSpawn" + ] + }, + { + "at": "internal/LibTmux/Internal/Process/Native.hs:100", + "has": [ + "launch = launchWith cSpawn" + ] + }, + { + "at": "internal/LibTmux/Internal/Process.hs:92", + "has": [ + "defaultHooks = Hooks", + "N.launch N.waitChild" + ] + }, + { + "at": "internal/LibTmux/Internal/Process.hs:192", + "has": [ + "native <- ticket.hooks.launchNative spec" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:719", + "has": [ + "created <- try @SomeException (P.submitInputRegistered register resourceClass hooks pool spec input)" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:636", + "has": [ + "N.spec executable ([executable, \"-u\", \"-N\", \"-S\", pinPath (serverPin client)]" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:680", + "has": [ + "compileNative nonce (Observe command) = Right (ObservationResult command, commandArguments nonce command, P.BytesInput \"\")" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:593", + "has": [ + "ReadSnapshot generation -> Record.snapshotCommands generation nonce" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:576", + "has": [ + "startRead (ReadSnapshot (pinGeneration (serverPin client)))" + ] + }, + { + "at": "internal/LibTmux/Internal/Capture.hs:86", + "has": [ + "owned runtime receipt (R.readSnapshotWith hooks left runtime client executable)" + ] + }, + { + "at": "internal/LibTmux/Internal/Capture.hs:79", + "has": [ + "captureSnapshot = captureSnapshotWith P.defaultHooks" + ] + }, + { + "at": "src/LibTmux/Server.hs:160", + "has": [ + "(started, finished, decoded) <- C.captureSnapshot runtime handle executable duration" + ], + "in": "LibTmux.Server#v:capture" + }, + { + "at": "internal/LibTmux/Internal/Record.hs:116", + "has": [ + "listing = \"list-clients -F" + ] + }, + { + "at": "internal/LibTmux/Internal/Record.hs:108", + "has": [ + ", \";\", \"if-shell\", \"-F\", \"#{S:1}\", listing" + ] + } + ], + "conditional": true, + "when": "when the server has sessions" + }, + { + "port": "haskell", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14", + "symbol": "LibTmux.Query#v:fetch", + "command": "display-message", + "scope": null, + "evidence": [ + { + "at": "cbits/process.c:125", + "has": [ + "rc = calls.spawn(&pidfd, file, &actions, &attributes, argv, env);" + ] + }, + { + "at": "internal/LibTmux/Internal/Process/Native.hs:30", + "has": [ + "foreign import ccall safe \"libtmux_process_spawn\" cSpawn" + ] + }, + { + "at": "internal/LibTmux/Internal/Process/Native.hs:100", + "has": [ + "launch = launchWith cSpawn" + ] + }, + { + "at": "internal/LibTmux/Internal/Process.hs:92", + "has": [ + "defaultHooks = Hooks", + "N.launch N.waitChild" + ] + }, + { + "at": "internal/LibTmux/Internal/Process.hs:192", + "has": [ + "native <- ticket.hooks.launchNative spec" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:719", + "has": [ + "created <- try @SomeException (P.submitInputRegistered register resourceClass hooks pool spec input)" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:636", + "has": [ + "N.spec executable ([executable, \"-u\", \"-N\", \"-S\", pinPath (serverPin client)]" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:680", + "has": [ + "compileNative nonce (Observe command) = Right (ObservationResult command, commandArguments nonce command, P.BytesInput \"\")" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:593", + "has": [ + "ReadSnapshot generation -> Record.snapshotCommands generation nonce" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:576", + "has": [ + "startRead (ReadSnapshot (pinGeneration (serverPin client)))" + ] + }, + { + "at": "internal/LibTmux/Internal/Capture.hs:86", + "has": [ + "owned runtime receipt (R.readSnapshotWith hooks left runtime client executable)" + ] + }, + { + "at": "internal/LibTmux/Internal/Capture.hs:79", + "has": [ + "captureSnapshot = captureSnapshotWith P.defaultHooks" + ] + }, + { + "at": "src/LibTmux/Server.hs:160", + "has": [ + "(started, finished, decoded) <- C.captureSnapshot runtime handle executable duration" + ] + }, + { + "at": "internal/LibTmux/Internal/Record.hs:106", + "has": [ + "[ \"display-message\", \"-p\", \"-F\", marker" + ] + }, + { + "at": "src/LibTmux/Query.hs:82", + "has": [ + "fetch server query = case Q.prepare Q.nativeProfile query of", + "Right () -> (`runQuery` query) <$> Server.capture server" + ], + "in": "LibTmux.Query#v:fetch", + "span": 3 + } + ] + }, + { + "port": "haskell", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14", + "symbol": "LibTmux.Query#v:fetch", + "command": "if-shell", + "scope": null, + "evidence": [ + { + "at": "cbits/process.c:125", + "has": [ + "rc = calls.spawn(&pidfd, file, &actions, &attributes, argv, env);" + ] + }, + { + "at": "internal/LibTmux/Internal/Process/Native.hs:30", + "has": [ + "foreign import ccall safe \"libtmux_process_spawn\" cSpawn" + ] + }, + { + "at": "internal/LibTmux/Internal/Process/Native.hs:100", + "has": [ + "launch = launchWith cSpawn" + ] + }, + { + "at": "internal/LibTmux/Internal/Process.hs:92", + "has": [ + "defaultHooks = Hooks", + "N.launch N.waitChild" + ] + }, + { + "at": "internal/LibTmux/Internal/Process.hs:192", + "has": [ + "native <- ticket.hooks.launchNative spec" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:719", + "has": [ + "created <- try @SomeException (P.submitInputRegistered register resourceClass hooks pool spec input)" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:636", + "has": [ + "N.spec executable ([executable, \"-u\", \"-N\", \"-S\", pinPath (serverPin client)]" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:680", + "has": [ + "compileNative nonce (Observe command) = Right (ObservationResult command, commandArguments nonce command, P.BytesInput \"\")" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:593", + "has": [ + "ReadSnapshot generation -> Record.snapshotCommands generation nonce" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:576", + "has": [ + "startRead (ReadSnapshot (pinGeneration (serverPin client)))" + ] + }, + { + "at": "internal/LibTmux/Internal/Capture.hs:86", + "has": [ + "owned runtime receipt (R.readSnapshotWith hooks left runtime client executable)" + ] + }, + { + "at": "internal/LibTmux/Internal/Capture.hs:79", + "has": [ + "captureSnapshot = captureSnapshotWith P.defaultHooks" + ] + }, + { + "at": "src/LibTmux/Server.hs:160", + "has": [ + "(started, finished, decoded) <- C.captureSnapshot runtime handle executable duration" + ] + }, + { + "at": "internal/LibTmux/Internal/Record.hs:108", + "has": [ + ", \";\", \"if-shell\", \"-F\", \"#{S:1}\", listing" + ] + }, + { + "at": "src/LibTmux/Query.hs:82", + "has": [ + "fetch server query = case Q.prepare Q.nativeProfile query of", + "Right () -> (`runQuery` query) <$> Server.capture server" + ], + "in": "LibTmux.Query#v:fetch", + "span": 3 + } + ] + }, + { + "port": "haskell", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14", + "symbol": "LibTmux.Query#v:fetch", + "command": "list-clients", + "scope": null, + "evidence": [ + { + "at": "cbits/process.c:125", + "has": [ + "rc = calls.spawn(&pidfd, file, &actions, &attributes, argv, env);" + ] + }, + { + "at": "internal/LibTmux/Internal/Process/Native.hs:30", + "has": [ + "foreign import ccall safe \"libtmux_process_spawn\" cSpawn" + ] + }, + { + "at": "internal/LibTmux/Internal/Process/Native.hs:100", + "has": [ + "launch = launchWith cSpawn" + ] + }, + { + "at": "internal/LibTmux/Internal/Process.hs:92", + "has": [ + "defaultHooks = Hooks", + "N.launch N.waitChild" + ] + }, + { + "at": "internal/LibTmux/Internal/Process.hs:192", + "has": [ + "native <- ticket.hooks.launchNative spec" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:719", + "has": [ + "created <- try @SomeException (P.submitInputRegistered register resourceClass hooks pool spec input)" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:636", + "has": [ + "N.spec executable ([executable, \"-u\", \"-N\", \"-S\", pinPath (serverPin client)]" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:680", + "has": [ + "compileNative nonce (Observe command) = Right (ObservationResult command, commandArguments nonce command, P.BytesInput \"\")" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:593", + "has": [ + "ReadSnapshot generation -> Record.snapshotCommands generation nonce" + ] + }, + { + "at": "internal/LibTmux/Internal/Runtime.hs:576", + "has": [ + "startRead (ReadSnapshot (pinGeneration (serverPin client)))" + ] + }, + { + "at": "internal/LibTmux/Internal/Capture.hs:86", + "has": [ + "owned runtime receipt (R.readSnapshotWith hooks left runtime client executable)" + ] + }, + { + "at": "internal/LibTmux/Internal/Capture.hs:79", + "has": [ + "captureSnapshot = captureSnapshotWith P.defaultHooks" + ] + }, + { + "at": "src/LibTmux/Server.hs:160", + "has": [ + "(started, finished, decoded) <- C.captureSnapshot runtime handle executable duration" + ] + }, + { + "at": "internal/LibTmux/Internal/Record.hs:116", + "has": [ + "listing = \"list-clients -F" + ] + }, + { + "at": "internal/LibTmux/Internal/Record.hs:108", + "has": [ + ", \";\", \"if-shell\", \"-F\", \"#{S:1}\", listing" + ] + }, + { + "at": "src/LibTmux/Query.hs:82", + "has": [ + "fetch server query = case Q.prepare Q.nativeProfile query of", + "Right () -> (`runQuery` query) <$> Server.capture server" + ], + "in": "LibTmux.Query#v:fetch", + "span": 3 + } + ], + "conditional": true, + "when": "when the server has sessions" } ] } diff --git a/scripts/tmux-usage/haskell-native.json b/scripts/tmux-usage/haskell-native.json new file mode 100644 index 000000000..56660d8d7 --- /dev/null +++ b/scripts/tmux-usage/haskell-native.json @@ -0,0 +1,358 @@ +{ + "schemaVersion": 1, + "repository": "libtmux/libtmux-haskell", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14", + "files": { + ".tool-versions": "13c8a19b336b86a161f4d5ea74347960e884e2c0887d399fe752d84eecfd35e7", + "cabal.project": "c438ff6007a6c5bcec78d847e4070cbb1e24aa3fc717904e1acb78c8c69e794b", + "cbits/process.c": "847f16335d7f924041e02a836cac098b5e5e5725b8d9ebe1ca21b6c618872fa0", + "cbits/process.h": "d352f56572c30eaf36bf3eb00b9d52a6c1b232568d338701686e2e73453d3c6b", + "internal/LibTmux/Internal/Budget.hs": "b9d5e202feac125b518f22bb200d695c11afde8c8e0f93eb7043a8076570ba91", + "internal/LibTmux/Internal/Capture.hs": "5ed6c354cb887e8736e99976193f3cc6322eb6ea4792da6aa7fc14f56a9e834c", + "internal/LibTmux/Internal/Command.hs": "ad4ecd2f8013e1859af2cde1fe9d9da9f4f2d0985f2b6d42d5897cd571dfe31c", + "internal/LibTmux/Internal/Entropy.hs": "5fb00be60a26390da3690095214b1f50fa8b9e3cb16ba068c113c4fa32ab998b", + "internal/LibTmux/Internal/Field.hs": "231b792d490fabb7a15aa35655eca04eecf27c403020907dec32edff459466da", + "internal/LibTmux/Internal/Frame.hs": "54f4177b34c2b2629708319dbf53e2fdea2f0108fd9d458b1ed2470e1a1863b4", + "internal/LibTmux/Internal/Graph.hs": "65b8d58914fd905f30513efc6b1b791ab606728012abf7e5a57d982bd393eb2d", + "internal/LibTmux/Internal/Process.hs": "f235dd22a27a45a1309858ef029bfd6233b317ebf4274b181927a9884451c464", + "internal/LibTmux/Internal/Process/Native.hs": "eeddd25bbda9251cd8bfae9a43ed5e569fb831256e69cf5039a88dbeba545833", + "internal/LibTmux/Internal/Query.hs": "ebf60049d2972df5fec0c36dfe7f363386a93f2aa621dcf659f335a87f32c905", + "internal/LibTmux/Internal/Record.hs": "d4bfac3317a53e815c726f2ad6d156cf47c899eba541bf0543c03982e30c5e25", + "internal/LibTmux/Internal/Runtime.hs": "5cddf08065f480e916c51014f9b0138691bc7824866835464395bc4e1fb7d252", + "internal/LibTmux/Internal/Scheduler.hs": "d97dd8c431a84c41ab947baac096e757cf498ebb0747b0e311fa7a73eee927b1", + "internal/LibTmux/Internal/Scope.hs": "22ecc01d74e51a62e2ba6493857d1ec9d5403a50bd2c101bd5ba28d179791fed", + "internal/LibTmux/Internal/SocketPin.hs": "e319d7bda5c8b965c3fa4f6862d38b85f38f66ee67ea3afb10130bf364ba20a4", + "internal/LibTmux/Internal/TmuxText.hs": "5c58645aa089c306cf68f69c4b209eba78f915320547c0d1b8bdfb003b086dd8", + "internal/LibTmux/Internal/Topology.hs": "178adaca0425a9468b6a5d5227391168399c478d96348995a36b54f235ac9fb3", + "libtmux-haskell.cabal": "72432a342d0a6fc03b53cfd2632eec72b1be8942adbd06918c4066a4cd9ad3ac", + "src/LibTmux.hs": "472751bad0084e5c946c6ac95a9f178987c15a3de1d7054c6dff49fedba85f79", + "src/LibTmux/Id.hs": "3456edf88bf412e8769e5c96cc5d35b7b118ea3bd3786f167c9002f9804fb3b7", + "src/LibTmux/Query.hs": "43c7b3854e6a7183b383a54216923d31225fa7f42271459f5cdb824bf2c9835c", + "src/LibTmux/Query/Client.hs": "323e70a2657ee88e9405e1f05cf0cb285ac05239a1f9966bbfc8046c8c0bb050", + "src/LibTmux/Query/ClientAttachment.hs": "c5c544c04de75b2af264ec156d198fdac3fea4e34a64d79b538ea03d0c711dea", + "src/LibTmux/Query/Link.hs": "13b994e13f3e97a4e7df8fde5baaf4081c24a2d85ddba488367c7c1a8e5e2bae", + "src/LibTmux/Query/Occurrence.hs": "5d52a00a8c7c219525cf44e86ee9ab03f2028a75665909a0ec6545e7f1545a9c", + "src/LibTmux/Query/Pane.hs": "f6139bc34220eb1e891e567fb1e6c21097ee2bab937440a469be97282cb0280f", + "src/LibTmux/Query/ServerInfo.hs": "9fc7ae60cee0028a5299c587a1383ef1db57d90cfd938483dcda1b04c902c105", + "src/LibTmux/Query/Session.hs": "e11148b360cc19465cc346eda1f9141f8c64e55e3bb5c68fb653d559d78bec5b", + "src/LibTmux/Query/Window.hs": "7d92de6a8214c059dbb35f5e5f3216c3b25afed3b9263ec1601e50bbaa1a23b1", + "src/LibTmux/Server.hs": "035d12943663cf28eccf1ba3347bc2a0c9c3920a21a4f6d799c5607e7bb58219", + "src/LibTmux/Snapshot.hs": "cddfee4e757f1dd4b35ee9f099fa796c86213ea7ff50a4727ddf198d26aaa2a1", + "src/LibTmux/Snapshot/Fixture.hs": "b1b53369587d2ea963a97ba2b34ce963233130c4e47581292510613e7819a919", + "src/LibTmux/Value.hs": "e199c3d0bbf08a159daa35bb4ae9a5d2ad4761117d375f292dd8b250bb459e55", + "src/LibTmux/Version.hs": "cf4e4d94a113a95ffb7b650cffbd0b4f702608627db84b7c7bf7630b83e4dfa7" + }, + "claimsSha256": "33ff9f0aa70e984c04ec01927f9e7b5c05ddb38160781876f12bc87810c54e3a", + "classifications": [ + { + "kind": "sends", + "why": "Complete capture and validated query acquisition use the fixed, framed observation queue.", + "symbols": [ + "LibTmux.Server#v:capture", + "LibTmux.Query#v:fetch" + ] + }, + { + "kind": "caller-io", + "why": "These wrappers execute caller-supplied IO. Opening, pinning and scope cleanup send no tmux commands of their own.", + "symbols": [ + "LibTmux.Server#v:withServer", + "LibTmux.Server#v:tryTmux", + "LibTmux.Server#v:withRuntime", + "LibTmux.Server#v:withServerIn" + ] + }, + { + "kind": "local-recovery", + "why": "These operations inspect, signal, reap or relinquish existing owners. They do not redispatch a tmux command.", + "symbols": [ + "LibTmux.Server#v:inspectCleanup", + "LibTmux.Server#v:resumeCleanup", + "LibTmux.Server#v:awaitCleanup", + "LibTmux.Server#v:detachUnresolved", + "LibTmux.Server#v:inspectCaptureRecovery", + "LibTmux.Server#v:resumeCaptureRecovery", + "LibTmux.Server#v:detachCaptureRecovery", + "LibTmux.Server#v:operationStatus" + ] + }, + { + "kind": "pure", + "why": "These functions construct, validate or read detached Haskell values. They perform no tmux IO.", + "symbols": [ + "LibTmux.Id#v:parseSessionId", + "LibTmux.Id#v:parseWindowId", + "LibTmux.Id#v:parsePaneId", + "LibTmux.Id#v:renderSessionId", + "LibTmux.Id#v:renderWindowId", + "LibTmux.Id#v:renderPaneId", + "LibTmux.Id#v:sessionIdValue", + "LibTmux.Id#v:windowIdValue", + "LibTmux.Id#v:paneIdValue", + "LibTmux.Server#v:serverConfig", + "LibTmux.Server#v:serverGeneration", + "LibTmux.Server#v:cleanupRecoveries", + "LibTmux.Server#v:cleanupFailure", + "LibTmux.Server#v:cleanupObservation", + "LibTmux.Server#v:captureRecoveries", + "LibTmux.Server#v:recoveryOperation", + "LibTmux.Server#v:recoveryGeneration", + "LibTmux.Snapshot#v:snapshotOrigin", + "LibTmux.Snapshot#v:serverInfo", + "LibTmux.Snapshot#v:captureInterval", + "LibTmux.Snapshot#v:sessionId", + "LibTmux.Snapshot#v:windowId", + "LibTmux.Snapshot#v:paneId", + "LibTmux.Snapshot#v:sessions", + "LibTmux.Snapshot#v:windows", + "LibTmux.Snapshot#v:panes", + "LibTmux.Snapshot#v:windowLinks", + "LibTmux.Snapshot#v:paneOccurrences", + "LibTmux.Snapshot#v:clients", + "LibTmux.Snapshot#v:lookupSession", + "LibTmux.Snapshot#v:lookupWindow", + "LibTmux.Snapshot#v:lookupPane", + "LibTmux.Snapshot#v:linksForSession", + "LibTmux.Snapshot#v:panesForWindow", + "LibTmux.Snapshot#v:lookupSessionId", + "LibTmux.Snapshot#v:lookupWindowId", + "LibTmux.Snapshot#v:lookupPaneId", + "LibTmux.Snapshot#v:labelFromBytes", + "LibTmux.Snapshot#v:labelBytes", + "LibTmux.Snapshot#v:labelText", + "LibTmux.Snapshot.Fixture#v:fixtureOrigin", + "LibTmux.Snapshot.Fixture#v:fixtureGeneration", + "LibTmux.Snapshot.Fixture#v:sessionRef", + "LibTmux.Snapshot.Fixture#v:windowRef", + "LibTmux.Snapshot.Fixture#v:paneRef", + "LibTmux.Snapshot.Fixture#v:emptyFixture", + "LibTmux.Snapshot.Fixture#v:validateFixture", + "LibTmux.Value#v:mkDimension", + "LibTmux.Value#v:mkWindowIndex", + "LibTmux.Value#v:mkPaneIndex", + "LibTmux.Value#v:dimensionValue", + "LibTmux.Value#v:windowIndexValue", + "LibTmux.Value#v:paneIndexValue", + "LibTmux.Version#v:parseVersion", + "LibTmux.Version#v:renderVersion", + "LibTmux.Version#v:requireSupported", + "LibTmux.Query#v:sessions", + "LibTmux.Query#v:windows", + "LibTmux.Query#v:panes", + "LibTmux.Query#v:windowLinks", + "LibTmux.Query#v:paneOccurrences", + "LibTmux.Query#v:clients", + "LibTmux.Query#v:serverInfo", + "LibTmux.Query#v:eq", + "LibTmux.Query#v:oneOf", + "LibTmux.Query#v:contains", + "LibTmux.Query#v:ge", + "LibTmux.Query#v:gt", + "LibTmux.Query#v:le", + "LibTmux.Query#v:lt", + "LibTmux.Query#v:dimensionAtLeast", + "LibTmux.Query#v:dimensionAtMost", + "LibTmux.Query#v:paneIndexAtLeast", + "LibTmux.Query#v:paneIndexAtMost", + "LibTmux.Query#v:windowIndexAtLeast", + "LibTmux.Query#v:windowIndexAtMost", + "LibTmux.Query#v:allOf", + "LibTmux.Query#v:anyOf", + "LibTmux.Query#v:not_", + "LibTmux.Query#v:some", + "LibTmux.Query#v:every", + "LibTmux.Query#v:none", + "LibTmux.Query#v:related", + "LibTmux.Query#v:optionalRelated", + "LibTmux.Query#v:matching", + "LibTmux.Query#v:orderBy", + "LibTmux.Query#v:ascending", + "LibTmux.Query#v:descending", + "LibTmux.Query#v:limit", + "LibTmux.Query#v:requirements", + "LibTmux.Query#v:runQuery", + "LibTmux.Query#v:exactlyOne", + "LibTmux.Query#v:atMostOne", + "LibTmux.Query.Client#v:name", + "LibTmux.Query.Client#v:pid", + "LibTmux.Query.Client#v:tty", + "LibTmux.Query.Client#v:attachment", + "LibTmux.Query.ClientAttachment#v:sessionId", + "LibTmux.Query.ClientAttachment#v:windowId", + "LibTmux.Query.ClientAttachment#v:windowIndex", + "LibTmux.Query.ClientAttachment#v:paneId", + "LibTmux.Query.ClientAttachment#v:session", + "LibTmux.Query.ClientAttachment#v:window", + "LibTmux.Query.ClientAttachment#v:pane", + "LibTmux.Query.Link#v:sessionId", + "LibTmux.Query.Link#v:windowId", + "LibTmux.Query.Link#v:index", + "LibTmux.Query.Link#v:active", + "LibTmux.Query.Link#v:session", + "LibTmux.Query.Link#v:window", + "LibTmux.Query.Link#v:panes", + "LibTmux.Query.Occurrence#v:pane", + "LibTmux.Query.Occurrence#v:link", + "LibTmux.Query.Pane#v:id", + "LibTmux.Query.Pane#v:windowId", + "LibTmux.Query.Pane#v:index", + "LibTmux.Query.Pane#v:width", + "LibTmux.Query.Pane#v:height", + "LibTmux.Query.Pane#v:active", + "LibTmux.Query.Pane#v:dead", + "LibTmux.Query.Pane#v:title", + "LibTmux.Query.Pane#v:currentCommand", + "LibTmux.Query.Pane#v:currentPath", + "LibTmux.Query.Pane#v:window", + "LibTmux.Query.ServerInfo#v:pid", + "LibTmux.Query.ServerInfo#v:startedAt", + "LibTmux.Query.ServerInfo#v:version", + "LibTmux.Query.ServerInfo#v:socketPath", + "LibTmux.Query.Session#v:id", + "LibTmux.Query.Session#v:name", + "LibTmux.Query.Session#v:attached", + "LibTmux.Query.Session#v:windowLinks", + "LibTmux.Query.Session#v:clients", + "LibTmux.Query.Window#v:id", + "LibTmux.Query.Window#v:name", + "LibTmux.Query.Window#v:width", + "LibTmux.Query.Window#v:height", + "LibTmux.Query.Window#v:panes", + "LibTmux.Query.Window#v:windowLinks" + ] + }, + { + "kind": "value", + "why": "Observation constructors and field projections construct or read values; no field performs a deferred acquisition.", + "symbols": [ + "LibTmux.Id#v:InvalidId", + "LibTmux.Id#v:IdError.expectedPrefix", + "LibTmux.Id#v:IdError.input", + "LibTmux.Server#v:ServerConfig", + "LibTmux.Server#v:ServerConfig.socketPath", + "LibTmux.Server#v:ServerConfig.executable", + "LibTmux.Server#v:ServerConfig.pinDirectory", + "LibTmux.Server#v:ServerConfig.captureTimeout", + "LibTmux.Server#v:ServerClosed", + "LibTmux.Server#v:InvalidConfiguration", + "LibTmux.Server#v:InvalidObservation", + "LibTmux.Server#v:OperationFailed", + "LibTmux.Server#v:CleanupFailed", + "LibTmux.Server#v:CleanupStatus", + "LibTmux.Server#v:CleanupStatus.complete", + "LibTmux.Server#v:CleanupStatus.pendingHandles", + "LibTmux.Server#v:CleanupStatus.pendingReads", + "LibTmux.Server#v:CleanupStatus.unresolved", + "LibTmux.Server#v:CleanupStatus.failures", + "LibTmux.Server#v:ReadRecovery", + "LibTmux.Server#v:ReadRecovery.logical", + "LibTmux.Server#v:ReadRecovery.workerOwned", + "LibTmux.Server#v:ReadRecovery.workerFailure", + "LibTmux.Server#v:ReadRecovery.nativeOwned", + "LibTmux.Server#v:ReadRecovery.nativeFailure", + "LibTmux.Server#v:Status", + "LibTmux.Server#v:Status.stage", + "LibTmux.Server#v:Status.outcome", + "LibTmux.Server#v:Status.retained", + "LibTmux.Server#v:Queued", + "LibTmux.Server#v:Dispatching", + "LibTmux.Server#v:Dispatched", + "LibTmux.Server#v:ResponseClosed", + "LibTmux.Server#v:OperationComplete", + "LibTmux.Server#v:Succeeded", + "LibTmux.Server#v:Failed", + "LibTmux.Server#v:NotDispatched", + "LibTmux.Server#v:OutcomeUnknown", + "LibTmux.Server#v:ConnectionRetired", + "LibTmux.Snapshot#v:ServerInfo", + "LibTmux.Snapshot#v:ServerInfo.generation", + "LibTmux.Snapshot#v:ServerInfo.pid", + "LibTmux.Snapshot#v:ServerInfo.startedAt", + "LibTmux.Snapshot#v:ServerInfo.version", + "LibTmux.Snapshot#v:ServerInfo.socketPath", + "LibTmux.Snapshot#v:AcquiredFromTmux", + "LibTmux.Snapshot#v:DefinedOffline", + "LibTmux.Snapshot#v:CaptureInterval", + "LibTmux.Snapshot#v:CaptureInterval.startedNanoseconds", + "LibTmux.Snapshot#v:CaptureInterval.finishedNanoseconds", + "LibTmux.Snapshot#v:Session", + "LibTmux.Snapshot#v:Session.ref", + "LibTmux.Snapshot#v:Session.name", + "LibTmux.Snapshot#v:Session.attached", + "LibTmux.Snapshot#v:Window", + "LibTmux.Snapshot#v:Window.ref", + "LibTmux.Snapshot#v:Window.name", + "LibTmux.Snapshot#v:Window.width", + "LibTmux.Snapshot#v:Window.height", + "LibTmux.Snapshot#v:Pane", + "LibTmux.Snapshot#v:Pane.ref", + "LibTmux.Snapshot#v:Pane.window", + "LibTmux.Snapshot#v:Pane.index", + "LibTmux.Snapshot#v:Pane.width", + "LibTmux.Snapshot#v:Pane.height", + "LibTmux.Snapshot#v:Pane.active", + "LibTmux.Snapshot#v:Pane.dead", + "LibTmux.Snapshot#v:Pane.title", + "LibTmux.Snapshot#v:Pane.currentCommand", + "LibTmux.Snapshot#v:Pane.currentPath", + "LibTmux.Snapshot#v:WindowLink", + "LibTmux.Snapshot#v:WindowLink.session", + "LibTmux.Snapshot#v:WindowLink.index", + "LibTmux.Snapshot#v:WindowLink.window", + "LibTmux.Snapshot#v:WindowLink.active", + "LibTmux.Snapshot#v:PaneOccurrence", + "LibTmux.Snapshot#v:PaneOccurrence.pane", + "LibTmux.Snapshot#v:PaneOccurrence.link", + "LibTmux.Snapshot#v:Client", + "LibTmux.Snapshot#v:Client.name", + "LibTmux.Snapshot#v:Client.pid", + "LibTmux.Snapshot#v:Client.tty", + "LibTmux.Snapshot#v:Client.attachment", + "LibTmux.Snapshot#v:ClientAttachment", + "LibTmux.Snapshot#v:ClientAttachment.session", + "LibTmux.Snapshot#v:ClientAttachment.window", + "LibTmux.Snapshot#v:ClientAttachment.pane", + "LibTmux.Snapshot#v:ForeignGeneration", + "LibTmux.Snapshot#v:MissingSession", + "LibTmux.Snapshot#v:MissingWindow", + "LibTmux.Snapshot#v:MissingPane", + "LibTmux.Snapshot.Fixture#v:Fixture", + "LibTmux.Snapshot.Fixture#v:Fixture.info", + "LibTmux.Snapshot.Fixture#v:Fixture.sessions", + "LibTmux.Snapshot.Fixture#v:Fixture.windows", + "LibTmux.Snapshot.Fixture#v:Fixture.panes", + "LibTmux.Snapshot.Fixture#v:Fixture.windowLinks", + "LibTmux.Snapshot.Fixture#v:Fixture.clients", + "LibTmux.Snapshot.Fixture#v:AttachedClient", + "LibTmux.Snapshot.Fixture#v:AttachedClient.name", + "LibTmux.Snapshot.Fixture#v:AttachedClient.pid", + "LibTmux.Snapshot.Fixture#v:AttachedClient.tty", + "LibTmux.Snapshot.Fixture#v:AttachedClient.session", + "LibTmux.Snapshot.Fixture#v:AttachedClient.window", + "LibTmux.Snapshot.Fixture#v:AttachedClient.index", + "LibTmux.Snapshot.Fixture#v:AttachedClient.pane", + "LibTmux.Snapshot.Fixture#v:InvalidGraph", + "LibTmux.Snapshot.Fixture#v:InvalidSnapshot", + "LibTmux.Value#v:NonPositiveDimension", + "LibTmux.Value#v:NegativeIndex", + "LibTmux.Version#v:MalformedVersion", + "LibTmux.Version#v:UnsupportedVersion", + "LibTmux.Server#v:RuntimeClosed", + "LibTmux.Query#v:QueryRequirements", + "LibTmux.Query#v:QueryRequirements.sourceName", + "LibTmux.Query#v:QueryRequirements.fieldNames", + "LibTmux.Query#v:QueryRequirements.relationshipNames", + "LibTmux.Query#v:QueryRequirements.orderingFields", + "LibTmux.Query#v:QueryRequirements.rowLimit", + "LibTmux.Query#v:FieldUnavailable", + "LibTmux.Query#v:RelationshipUnavailable", + "LibTmux.Query#v:RequiresTmux", + "LibTmux.Query#v:InvalidFieldRequirement", + "LibTmux.Query#v:RelationshipLookupFailed", + "LibTmux.Query#v:NoMatches", + "LibTmux.Query#v:AtLeastTwoMatches" + ] + } + ], + "modelSha256": "a328001ec3f97488e76d6bef909c4ca4f2c466822cf73dc33564c862fabfaf2e" +} diff --git a/scripts/tmux-usage/not-senders.json b/scripts/tmux-usage/not-senders.json index 89b8c519f..e5ea4ba6d 100644 --- a/scripts/tmux-usage/not-senders.json +++ b/scripts/tmux-usage/not-senders.json @@ -5276,6 +5276,72 @@ ] } ] + }, + { + "port": "haskell", + "kind": "values", + "why": "windowLinks reads captured graph appearances or supplies offline fixture data; neither operation sends link-window.", + "names": [ + "windowLinks" + ], + "commands": [ + "link-window" + ], + "in": "src/LibTmux/Snapshot", + "evidence": [ + { + "at": "src/LibTmux/Snapshot.hs:95", + "has": [ + "windowLinks = G.graphLinks" + ] + }, + { + "at": "src/LibTmux/Snapshot/Fixture.hs:68", + "has": [ + "windowLinks :: ![WindowLink]" + ] + } + ] + }, + { + "port": "haskell", + "names": [ + "windowLinks" + ], + "commands": [ + "link-window" + ], + "kind": "values", + "why": "A typed relationship token reads captured memberships; it never links a window.", + "in": "src/LibTmux/Query/Session.hs", + "evidence": [ + { + "at": "src/LibTmux/Query/Session.hs:30", + "has": [ + "windowLinks = Q.SessionLinks" + ] + } + ] + }, + { + "port": "haskell", + "names": [ + "windowLinks" + ], + "commands": [ + "link-window" + ], + "kind": "values", + "why": "A typed relationship token reads captured memberships; it never links a window.", + "in": "src/LibTmux/Query/Window.hs", + "evidence": [ + { + "at": "src/LibTmux/Query/Window.hs:39", + "has": [ + "windowLinks = Q.WindowLinks" + ] + } + ] } ] } diff --git a/scripts/xref-floor.json b/scripts/xref-floor.json index 43ea21ec1..e3781df16 100644 --- a/scripts/xref-floor.json +++ b/scripts/xref-floor.json @@ -6,7 +6,7 @@ "powershell": 4663, "julia": 8838, "elixir": 100, - "haskell": 300, + "haskell": 2205, "ts": 2094, "rs": 4330, "go": 13216, diff --git a/site/scripts/check-home-hover.mjs b/site/scripts/check-home-hover.mjs index 3b7dbc482..6bace799d 100644 --- a/site/scripts/check-home-hover.mjs +++ b/site/scripts/check-home-hover.mjs @@ -1,7 +1,8 @@ import { newCheckContext } from './browser-context.mjs' import assert from 'node:assert/strict' -import { PORTS } from '../src/lib/ports.ts' -import HOME_EXAMPLES from '../src/data/home-examples.json' with { type: 'json' } +import { installCommand, isReleaseSeries, PORTS, releaseMaturity, releaseWording } from '../src/lib/ports.ts' +import { portParts } from '../src/lib/prompts.ts' +import REGISTRY from '../src/data/registry.json' with { type: 'json' } /** Real pointer events, with the clock advanced instead of sleeping per option. */ export async function checkHomeHover(browser, base) { @@ -29,7 +30,8 @@ export async function checkHomeHover(browser, base) { await page.clock.pauseAt(new Date(now.getTime() + 1000)) const url = page.url() await language.locator('summary').click() - for (const { slug } of PORTS) { + for (const port of PORTS) { + const { slug } = port await language.locator(`a[data-port="${slug}"]`).hover() await page.clock.fastForward(1100) assert.equal((await read()).port, 'py', `${slug}: a brief hover does not preview`) @@ -43,9 +45,14 @@ export async function checkHomeHover(browser, base) { assert(await page.locator(`.home-examples > [data-home-language="${slug}"]`).isVisible()) assert.equal(await page.locator('.lm-agent-prompt [data-select="topic"]').inputValue(), 'session-switcher') const promptText = await page.locator(`.lm-agent-prompt__panel[data-port="${slug}"] [data-prompt-text]`).innerText() - if (HOME_EXAMPLES[slug].execution === 'pure-values') { + const entry = REGISTRY.ports[slug] + const parts = portParts({ port, released: isReleaseSeries(releaseMaturity(entry)), + install: installCommand(port, entry), wording: releaseWording(port, entry), + ctx: { docsBase: base, version: 'latest' } }) + const unavailable = parts.unavailable['session-switcher'] ?? parts.unavailableTask + if (unavailable) { assert.match(promptText, /Availability/) - assert.match(promptText, /Report this missing API boundary and stop/) + assert(promptText.replace(/\s+/g, ' ').includes(unavailable.replace(/\s+/g, ' ')), 'The preview keeps this port’s task boundary') assert.doesNotMatch(promptText, /Then build a tmux session switcher/) } else assert.match(promptText, /Then build a tmux session switcher/) await leave() diff --git a/site/src/components/CoreShowcase.astro b/site/src/components/CoreShowcase.astro index c4d9d8c50..d73c5f064 100644 --- a/site/src/components/CoreShowcase.astro +++ b/site/src/components/CoreShowcase.astro @@ -177,10 +177,10 @@ const apis = new Map(shown.map((item) => [item.id, apisUsed(port, CORE_APIS[port .core-showcase__apilist a { color: var(--color-link); } .core-showcase__apilist code { font-size: inherit; overflow-wrap: anywhere; } /* The treatment of the front page examples: column-fit type size, a fixed height, scrolling inside the block. */ - .core-showcase__panel :global(.expressive-code) { + .core-showcase__panel > :global(.expressive-code) { --ec-codeFontSize: clamp(.8125rem, calc((100cqi - 2rem) / (var(--home-code-columns, 80) * .625)), .9375rem); } - .core-showcase__panel :global(.expressive-code pre) { height: calc(34rem - var(--home-toolbar-row, 0rem)); max-height: none; overflow: auto; tab-size: 8; scrollbar-gutter: stable; } + .core-showcase__panel > :global(.expressive-code pre) { height: calc(34rem - var(--home-toolbar-row, 0rem)); max-height: none; overflow: auto; tab-size: 8; scrollbar-gutter: stable; } .core-showcase__panel h3 { margin: 0 0 .6rem; font-size: 1rem; } .core-showcase__tmux { margin-inline-start: .5rem; padding: .05rem .4rem; border: 1px solid var(--color-edge); border-radius: .75rem; diff --git a/site/src/components/HomeExample.astro b/site/src/components/HomeExample.astro index e3a0640d3..0cb1f7693 100644 --- a/site/src/components/HomeExample.astro +++ b/site/src/components/HomeExample.astro @@ -153,7 +153,7 @@ const headingRow = heading || Astro.slots.has('hint') .home-example-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem 1rem; margin-bottom: .85rem; } h2 { font-size: 1rem; font-weight: 600; } /* The code panel: the code in the first row, the toggles in the second. The toolbar is a row of the panel, outside the scrolling pre, so it never covers code and the code's own scroll area is all the code. */ - .home-example-code { display: grid; grid-template-rows: minmax(0, 1fr) auto; min-width: 0; } + .home-example-code { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto; min-width: 0; } /* The toolbar is a row of the panel, not extra height: every host takes it from the code's height, so the block is as tall as the code alone was. */ .home-example-code:has(> .home-example-toolbar) { --home-toolbar-row: 1.5rem; } .home-example-code > .home-example-view { grid-row: 1; } diff --git a/site/src/components/HomeIntro.astro b/site/src/components/HomeIntro.astro index ba7314f86..e232a234e 100644 --- a/site/src/components/HomeIntro.astro +++ b/site/src/components/HomeIntro.astro @@ -9,7 +9,7 @@ import { defaultVersionFor } from '../lib/versions' import { branding } from '../lib/branding' import { withRoot } from '../lib/site-root' import { documentationSectionsFor } from '../lib/port-documentation' -import { coreLead } from '../lib/core-home' +import { CORE_HOME, coreLead } from '../lib/core-home' interface Props { solutions: { port: string; version: string; surfaces: DocumentationSurface[] }[] @@ -34,7 +34,7 @@ const descriptions: Record = { diff --git a/site/src/content/docs/ports/haskell/core/index.md b/site/src/content/docs/ports/haskell/core/index.md index 7449729ba..44984109f 100644 --- a/site/src/content/docs/ports/haskell/core/index.md +++ b/site/src/content/docs/ports/haskell/core/index.md @@ -1,12 +1,18 @@ --- port: haskell route: core -title: "Typed tmux values for Haskell" -description: "Typed tmux values for Haskell. Parse tmux entity IDs, validate dimensions and indices, and check stable tmux releases with pure Haskell functions" +title: "tmux client library for Haskell" +description: "tmux client library for Haskell. Capture tmux state, navigate sessions, windows and panes, and filter detached snapshots" cards: - label: Getting started href: ../guides/getting-started/ - body: Install the source package and run the complete values example. + body: Install the source package and capture a running tmux server. + - label: Capture and traverse + href: ../guides/capture/ + body: Follow physical panes and linked-window context in one snapshot. + - label: Query snapshots + href: ../guides/query/ + body: Filter typed fields, follow relationships and check selection cardinality. - label: Typed values href: ../guides/typed-values/ body: Understand entity IDs, indices, dimensions and version admission. @@ -18,8 +24,9 @@ cards: body: Check public capabilities, compatibility evidence and package boundaries. --- -Client, capture and mutation APIs are under development. The workspace -library and CLI are planned as a separate package using the core. MCP is -excluded from this port. Read the +Capture through a scoped Server handle, then inspect ordinary Haskell records +after it closes. Window links retain each session's index and pane appearances. +Public mutations, event streams and workspace tooling remain under development. +MCP is excluded. Read the [implementation status](../guides/status/) before choosing the package for automation. diff --git a/site/src/data/api-destination-evidence.json b/site/src/data/api-destination-evidence.json index a18b57ff0..7a9f2111c 100644 --- a/site/src/data/api-destination-evidence.json +++ b/site/src/data/api-destination-evidence.json @@ -387,6 +387,7 @@ {"url":"https://docs.swift.org/latest/documentation/the-swift-programming-language/protocols/","host":"docs.swift.org","status":200,"via":"docc-json","title":"Protocols","identity":{"via":"docc","declared":"topic","kind":"topic","path":["The-Swift-Programming-Language","Protocols"]},"heading":"Protocols","ok":true,"terminal":[{"key":"authored:Swift protocols","symbol":"Swift protocols","at":"review"}],"checkedAt":"2026-10-25","names":["glossary swift interface","site/src/lib/api-glossary.ts"],"sources":["authored"]}, {"url":"https://docs.swift.org/latest/documentation/the-swift-programming-language/thebasics/","host":"docs.swift.org","status":200,"via":"docc-json","title":"The Basics","identity":{"via":"docc","declared":"topic","kind":"topic","path":["The-Swift-Programming-Language","TheBasics"]},"heading":"The Basics","ok":true,"terminal":[{"key":"authored:Swift constants","symbol":"Swift constants","at":"review"}],"checkedAt":"2026-10-25","names":["glossary swift constant"],"sources":["authored"]}, {"url":"https://downloads.haskell.org/ghc/9.14.1/docs/users_guide/exts/field_selectors.html","host":"downloads.haskell.org","status":200,"via":"html","title":"6.5.6. Field selectors - Glasgow Haskell Compiler 9.14.1 User's Guide","heading":"6.5.6. Field selectors","ok":true,"terminal":[{"key":"authored:GHC field selectors","symbol":"GHC field selectors","at":"review"}],"checkedAt":"2026-11-08","names":["glossary haskell record-field"],"sources":["authored"]}, + {"url":"https://downloads.haskell.org/ghc/9.14.1/docs/users_guide/exts/overloaded_record_dot.html","host":"downloads.haskell.org","status":200,"via":"html","title":"6.5.10. Overloaded record dot - Glasgow Haskell Compiler 9.14.1 User's Guide","heading":"6.5.10. Overloaded record dot","ok":true,"terminal":[{"key":"authored:`OverloadedRecordDot`","symbol":"`OverloadedRecordDot`","at":"review"}],"checkedAt":"2026-11-09","names":["site/src/content/docs/_staged/haskell/guides/api-documentation/index.md","site/src/content/docs/_staged/haskell/guides/installation/index.md","site/src/data/port-guides/haskell.json"],"sources":["authored"]}, {"url":"https://eel.is/c++draft/class.abstract","host":"eel.is","status":200,"via":"html","title":"[class.abstract]","heading":"11.7.4 Abstract classes [class.abstract]","ok":true,"terminal":[{"key":"authored:C++ abstract classes","symbol":"C++ abstract classes","at":"review"},{"symbol":"class.abstract","at":"address"}],"checkedAt":"2026-10-25","names":["glossary cxx abstract"],"sources":["authored"]}, {"url":"https://eel.is/c++draft/class.mem","host":"eel.is","status":200,"via":"html","title":"[class.mem]","heading":"11.4 Class members [class.mem]","ok":true,"terminal":[{"key":"authored:C++ data members","symbol":"C++ data members","at":"review"},{"symbol":"class.mem","at":"address"}],"checkedAt":"2026-10-25","names":["glossary cxx attribute"],"sources":["authored"]}, {"url":"https://eel.is/c++draft/class.mfct.non.static","host":"eel.is","status":200,"via":"html","title":"[class.mfct.non.static]","heading":"11.4.3 Non-static member functions [class.mfct.non.static]","ok":true,"terminal":[{"key":"authored:C++ member functions","symbol":"C++ member functions","at":"review"},{"symbol":"class.mfct.non.static","at":"address"}],"checkedAt":"2026-10-25","names":["glossary cxx method"],"sources":["authored"]}, diff --git a/site/src/data/api-link-review.json b/site/src/data/api-link-review.json index e1343b1c9..897e38655 100644 --- a/site/src/data/api-link-review.json +++ b/site/src/data/api-link-review.json @@ -490,6 +490,11 @@ "url": "https://downloads.haskell.org/ghc/9.14.1/docs/users_guide/exts/field_selectors.html", "heading": "6.5.6. Field selectors" }, + { + "label": "`OverloadedRecordDot`", + "url": "https://downloads.haskell.org/ghc/9.14.1/docs/users_guide/exts/overloaded_record_dot.html", + "heading": "6.5.10. Overloaded record dot" + }, { "label": "C++ abstract classes", "url": "https://eel.is/c++draft/class.abstract", diff --git a/site/src/data/api/haskell.json b/site/src/data/api/haskell.json index ac985c4e4..37bc8651b 100644 --- a/site/src/data/api/haskell.json +++ b/site/src/data/api/haskell.json @@ -1 +1 @@ -{"port":"haskell","repo":"libtmux/libtmux-haskell","revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","extractor":"@libtmux/api-model@0.0.1 (Haddock public interface export v1)","nativeProvenance":{"exporter":{"build":{"cabal":"3.18.2.0","compiler":"ghc-9.14.1","platform":"x86_64-linux","unit":"libtmux-haskell-0.1.0.0-inplace"},"interfaceStream":"stderr","name":"Haddock public interface export","nativeArtifacts":[{"path":"LibTmux-Id.html","sha256":"cf7102eba62a0e9b02e7ea7acefb85d1822a4d192a1fceb680246ed42bd10d45"},{"path":"LibTmux-Value.html","sha256":"4160151534c27a8c787c9ab36fa6dcbf740fc193a7a3553935172be72111ff1d"},{"path":"LibTmux-Version.html","sha256":"3461a42be3733565d16ab18cf3b729e41eab6ef20e87c90b2ca10fa993999510"},{"path":"interface.haddock","sha256":"06ca64bac653a9eca04f723913bf104abd3ad1dfdad6343aeecb71a46278003e"},{"path":"interface.json","sha256":"c921f3fc0fb41987f341efdc1d03d2e42dbd04b4a722dc2c95fcfbf1ebf3c34b"},{"path":"src/LibTmux.Id.html","sha256":"f9db9152aa3801ef9987f3b8dfa1fc9c4667a3dec61a603e9a8c668a1f36d4c3"},{"path":"src/LibTmux.Value.html","sha256":"fa14e173bdb23468d52fef53ba6133af793277ec4f87ac1af2f0e759575113b7"},{"path":"src/LibTmux.Version.html","sha256":"6cfde30a3a4cb249419afc95aeff726d7755c522467ff2ca6ca941cc1bb83538"}],"path":"packages/api-model/scripts/export-haskell.py","repository":"libtmux/docs","revision":"5b289a6950e6abc2d6b869181f9c2ca72687f9d0","sha256":"ef54874a2029410e3553ad2e5cce831c1748406fff3238b256698394a7a6425f","version":1},"files":[{"path":".tool-versions","sha256":"13c8a19b336b86a161f4d5ea74347960e884e2c0887d399fe752d84eecfd35e7"},{"path":"cabal.project","sha256":"743c92538c542ba3a29c27efa077c5826f5fa1f186c4c69f53d63cb49176aa6a"},{"path":"libtmux-haskell.cabal","sha256":"22c88c2dd3bdaa282f66233e3ac43a2c2179fb12f99c3c14946a44eb879a329c"},{"path":"src/LibTmux/Id.hs","sha256":"3456edf88bf412e8769e5c96cc5d35b7b118ea3bd3786f167c9002f9804fb3b7"},{"path":"src/LibTmux/Value.hs","sha256":"e199c3d0bbf08a159daa35bb4ae9a5d2ad4761117d375f292dd8b250bb459e55"},{"path":"src/LibTmux/Version.hs","sha256":"cf4e4d94a113a95ffb7b650cffbd0b4f702608627db84b7c7bf7630b83e4dfa7"}]},"sources":[{"product":"core","package":"libtmux-haskell","version":"0.1.0.0","repo":"libtmux/libtmux-haskell","revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"}],"exportGroups":[{"owner":"LibTmux.Id","members":["LibTmux.Id#t:SessionId","LibTmux.Id#t:WindowId","LibTmux.Id#t:PaneId"],"title":"Entity identities"},{"owner":"LibTmux.Id","members":["LibTmux.Id#t:IdError","LibTmux.Id#v:parseSessionId","LibTmux.Id#v:parseWindowId","LibTmux.Id#v:parsePaneId"],"title":"Parse external values"},{"owner":"LibTmux.Id","members":["LibTmux.Id#v:renderSessionId","LibTmux.Id#v:renderWindowId","LibTmux.Id#v:renderPaneId"],"title":"Render target text"},{"owner":"LibTmux.Id","members":["LibTmux.Id#v:sessionIdValue","LibTmux.Id#v:windowIdValue","LibTmux.Id#v:paneIdValue"],"title":"Read numeric values"},{"owner":"LibTmux.Value","members":["LibTmux.Value#t:Dimension","LibTmux.Value#t:WindowIndex","LibTmux.Value#t:PaneIndex"],"title":"Checked types"},{"owner":"LibTmux.Value","members":["LibTmux.Value#t:ValueError","LibTmux.Value#v:mkDimension","LibTmux.Value#v:mkWindowIndex","LibTmux.Value#v:mkPaneIndex"],"title":"Validate input"},{"owner":"LibTmux.Value","members":["LibTmux.Value#v:dimensionValue","LibTmux.Value#v:windowIndexValue","LibTmux.Value#v:paneIndexValue"],"title":"Read numeric values"},{"owner":"LibTmux.Version","members":["LibTmux.Version#t:TmuxVersion","LibTmux.Version#t:VersionError"],"title":"Release identity and errors"},{"owner":"LibTmux.Version","members":["LibTmux.Version#v:parseVersion","LibTmux.Version#v:renderVersion"],"title":"Parse and render"},{"owner":"LibTmux.Version","members":["LibTmux.Version#v:requireSupported"],"title":"Admit a release"}],"symbols":[{"id":"LibTmux.Id","publicId":"LibTmux.Id","name":"LibTmux.Id","kind":"module","modifiers":[],"signatures":[],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"body":"Parsing and rendering are pure. An ID carries no endpoint, server lifetime\n or liveness evidence. Render an ID for external text; use its numeric\n accessor when an application needs the mathematical value.\n\nStart with :obj:`parseSessionId `, :obj:`parseWindowId ` or :obj:`parsePaneId `. Each type's\n documentation links its parser and renderer. Contextual numeric indices\n belong to :obj:`LibTmux.Value `.\n\n\n\n```haskell\n>>> :set -XOverloadedStrings\n>>> fmap renderWindowId (parseWindowId \"@17\")\nRight \"@17\"\n>>> either (const \"rejected\") renderPaneId (parsePaneId \"@17\")\n\"rejected\"\n```","summary":"Distinct session, physical-window and physical-pane IDs."},"slug":"libtmux-id"},{"id":"LibTmux.Value","publicId":"LibTmux.Value","name":"LibTmux.Value","kind":"module","modifiers":[],"signatures":[],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"body":"Construction and access are pure. Window-link indices and pane indices\n have distinct types; neither substitutes for an entity ID. A constructor\n checks the mathematical domain, while command-specific limits belong at\n the operation boundary. Use :obj:`mkDimension `, :obj:`mkWindowIndex ` and :obj:`mkPaneIndex `\n to validate input; their accessors return mathematical integers. Entity\n identifiers belong to :obj:`LibTmux.Id `.\n\n\n\n```haskell\n>>> fmap dimensionValue (mkDimension 120)\nRight 120\n>>> mkDimension 0\nLeft (NonPositiveDimension 0)\n```","summary":"Positive dimensions and nonnegative contextual indices."},"slug":"libtmux-value"},{"id":"LibTmux.Version","publicId":"LibTmux.Version","name":"LibTmux.Version","kind":"module","modifiers":[],"signatures":[],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Version.hs","revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"body":"These functions consume supplied text. They neither execute `tmux -V`\n nor contact a server. Admission checks the inclusive 3.3a through 3.8 range;\n individual features still need capability and conformance checks.\n\nUse :obj:`parseVersion ` for input, :obj:`requireSupported ` for supported-range\n admission and :obj:`renderVersion ` for canonical output.\n\n\n\n```haskell\n>>> :set -XOverloadedStrings\n>>> fmap renderVersion (parseVersion \"tmux 3.3a\\n\" >>= requireSupported)\nRight \"3.3a\"\n```","summary":"Parse stable tmux releases and check the supported release range."},"slug":"libtmux-version"},{"id":"LibTmux.Id#t:SessionId","publicId":"LibTmux.Id#t:SessionId","name":"SessionId","qualifiedName":"LibTmux.Id.SessionId","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"SessionId"}],"params":[],"raw":"data SessionId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":45,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"A session's unsigned 32-bit tmux identifier, written with a `$` prefix.\n Parse with :obj:`parseSessionId `; render with :obj:`renderSessionId `.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`SessionId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Id.hs#L47))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`SessionId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Id.hs#L46))\n\n- instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`SessionId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Id.hs#L46))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`SessionId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Id.hs#L46))"},"references":[{"target":"LibTmux.Id#t:SessionId","kind":"type"}],"slug":"libtmux-id-t-sessionid"},{"id":"LibTmux.Id#t:WindowId","publicId":"LibTmux.Id#t:WindowId","name":"WindowId","qualifiedName":"LibTmux.Id.WindowId","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"WindowId"}],"params":[],"raw":"data WindowId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":51,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"A physical window's identifier, independent of its session links.\n Parse with :obj:`parseWindowId `; render with :obj:`renderWindowId `.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`WindowId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Id.hs#L53))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`WindowId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Id.hs#L52))\n\n- instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`WindowId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Id.hs#L52))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`WindowId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Id.hs#L52))"},"references":[{"target":"LibTmux.Id#t:WindowId","kind":"type"}],"slug":"libtmux-id-t-windowid"},{"id":"LibTmux.Id#t:PaneId","publicId":"LibTmux.Id#t:PaneId","name":"PaneId","qualifiedName":"LibTmux.Id.PaneId","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"PaneId"}],"params":[],"raw":"data PaneId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":57,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"A physical pane's identifier, written with a `%` prefix.\n Parse with :obj:`parsePaneId `; render with :obj:`renderPaneId `.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`PaneId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Id.hs#L59))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`PaneId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Id.hs#L58))\n\n- instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`PaneId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Id.hs#L58))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`PaneId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Id.hs#L58))"},"references":[{"target":"LibTmux.Id#t:PaneId","kind":"type"}],"slug":"libtmux-id-t-paneid"},{"id":"LibTmux.Id#t:IdError","publicId":"LibTmux.Id#t:IdError","name":"IdError","qualifiedName":"LibTmux.Id.IdError","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"IdError"}],"params":[],"raw":"data IdError"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":63,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Invalid canonical syntax, entity prefix or native unsigned range.\n Diagnostics retain at most 64 characters of input.","body":"## Instances\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`IdError ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Id.hs#L67))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`IdError ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Id.hs#L67))"},"references":[{"target":"LibTmux.Id#t:IdError","kind":"type"}],"slug":"libtmux-id-t-iderror"},{"id":"LibTmux.Id#v:InvalidId","publicId":"LibTmux.Id#v:InvalidId","name":"InvalidId","qualifiedName":"LibTmux.Id.InvalidId","namespace":"LibTmux.Id","parent":"LibTmux.Id#t:IdError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"InvalidId"}],"params":[],"raw":"InvalidId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":63,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"slug":"libtmux-id-v-invalidid"},{"id":"LibTmux.Id#v:expectedPrefix","publicId":"LibTmux.Id#v:expectedPrefix","name":"expectedPrefix","qualifiedName":"LibTmux.Id.expectedPrefix","namespace":"LibTmux.Id","parent":"LibTmux.Id#t:IdError","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"expectedPrefix"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Char.html#t:Char","text":"Char"}],"params":[],"raw":"expectedPrefix :: !Char"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":64,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Required entity prefix."},"slug":"libtmux-id-v-expectedprefix"},{"id":"LibTmux.Id#v:input","publicId":"LibTmux.Id#v:input","name":"input","qualifiedName":"LibTmux.Id.input","namespace":"LibTmux.Id","parent":"LibTmux.Id#t:IdError","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"input"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"input :: !Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":65,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Bounded copy of the invalid input."},"slug":"libtmux-id-v-input"},{"id":"LibTmux.Id#v:parseSessionId","publicId":"LibTmux.Id#v:parseSessionId","name":"parseSessionId","qualifiedName":"LibTmux.Id.parseSessionId","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"parseSessionId"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Id.html#t:IdError","target":"LibTmux.Id#t:IdError","text":"IdError"},{"text":" "},{"href":"LibTmux-Id.html#t:SessionId","target":"LibTmux.Id#t:SessionId","text":"SessionId"}],"params":[],"raw":"parseSessionId :: Text -> Either IdError SessionId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":71,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Parse `$0` through `$4294967295`. No whitespace or leading zeroes."},"references":[{"target":"LibTmux.Id#t:IdError","kind":"type"},{"target":"LibTmux.Id#t:SessionId","kind":"type"}],"slug":"libtmux-id-v-parsesessionid"},{"id":"LibTmux.Id#v:parseWindowId","publicId":"LibTmux.Id#v:parseWindowId","name":"parseWindowId","qualifiedName":"LibTmux.Id.parseWindowId","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"parseWindowId"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Id.html#t:IdError","target":"LibTmux.Id#t:IdError","text":"IdError"},{"text":" "},{"href":"LibTmux-Id.html#t:WindowId","target":"LibTmux.Id#t:WindowId","text":"WindowId"}],"params":[],"raw":"parseWindowId :: Text -> Either IdError WindowId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":75,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Parse a canonical `@number` identifying a physical window."},"references":[{"target":"LibTmux.Id#t:IdError","kind":"type"},{"target":"LibTmux.Id#t:WindowId","kind":"type"}],"slug":"libtmux-id-v-parsewindowid"},{"id":"LibTmux.Id#v:parsePaneId","publicId":"LibTmux.Id#v:parsePaneId","name":"parsePaneId","qualifiedName":"LibTmux.Id.parsePaneId","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"parsePaneId"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Id.html#t:IdError","target":"LibTmux.Id#t:IdError","text":"IdError"},{"text":" "},{"href":"LibTmux-Id.html#t:PaneId","target":"LibTmux.Id#t:PaneId","text":"PaneId"}],"params":[],"raw":"parsePaneId :: Text -> Either IdError PaneId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":79,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Parse a canonical `%number` identifying a physical pane."},"references":[{"target":"LibTmux.Id#t:IdError","kind":"type"},{"target":"LibTmux.Id#t:PaneId","kind":"type"}],"slug":"libtmux-id-v-parsepaneid"},{"id":"LibTmux.Id#v:renderSessionId","publicId":"LibTmux.Id#v:renderSessionId","name":"renderSessionId","qualifiedName":"LibTmux.Id.renderSessionId","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"renderSessionId"},{"text":" :: "},{"href":"LibTmux-Id.html#t:SessionId","target":"LibTmux.Id#t:SessionId","text":"SessionId"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"renderSessionId :: SessionId -> Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":83,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Render the session prefix and decimal ID."},"references":[{"target":"LibTmux.Id#t:SessionId","kind":"type"}],"slug":"libtmux-id-v-rendersessionid"},{"id":"LibTmux.Id#v:renderWindowId","publicId":"LibTmux.Id#v:renderWindowId","name":"renderWindowId","qualifiedName":"LibTmux.Id.renderWindowId","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"renderWindowId"},{"text":" :: "},{"href":"LibTmux-Id.html#t:WindowId","target":"LibTmux.Id#t:WindowId","text":"WindowId"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"renderWindowId :: WindowId -> Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":87,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Render the physical window prefix and decimal ID."},"references":[{"target":"LibTmux.Id#t:WindowId","kind":"type"}],"slug":"libtmux-id-v-renderwindowid"},{"id":"LibTmux.Id#v:renderPaneId","publicId":"LibTmux.Id#v:renderPaneId","name":"renderPaneId","qualifiedName":"LibTmux.Id.renderPaneId","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"renderPaneId"},{"text":" :: "},{"href":"LibTmux-Id.html#t:PaneId","target":"LibTmux.Id#t:PaneId","text":"PaneId"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"renderPaneId :: PaneId -> Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":91,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Render the physical pane prefix and decimal ID."},"references":[{"target":"LibTmux.Id#t:PaneId","kind":"type"}],"slug":"libtmux-id-v-renderpaneid"},{"id":"LibTmux.Id#v:sessionIdValue","publicId":"LibTmux.Id#v:sessionIdValue","name":"sessionIdValue","qualifiedName":"LibTmux.Id.sessionIdValue","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"sessionIdValue"},{"text":" :: "},{"href":"LibTmux-Id.html#t:SessionId","target":"LibTmux.Id#t:SessionId","text":"SessionId"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"sessionIdValue :: SessionId -> Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":95,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Read the numeric session ID without narrowing conversion."},"references":[{"target":"LibTmux.Id#t:SessionId","kind":"type"}],"slug":"libtmux-id-v-sessionidvalue"},{"id":"LibTmux.Id#v:windowIdValue","publicId":"LibTmux.Id#v:windowIdValue","name":"windowIdValue","qualifiedName":"LibTmux.Id.windowIdValue","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"windowIdValue"},{"text":" :: "},{"href":"LibTmux-Id.html#t:WindowId","target":"LibTmux.Id#t:WindowId","text":"WindowId"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"windowIdValue :: WindowId -> Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":99,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Read the numeric physical window ID."},"references":[{"target":"LibTmux.Id#t:WindowId","kind":"type"}],"slug":"libtmux-id-v-windowidvalue"},{"id":"LibTmux.Id#v:paneIdValue","publicId":"LibTmux.Id#v:paneIdValue","name":"paneIdValue","qualifiedName":"LibTmux.Id.paneIdValue","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"paneIdValue"},{"text":" :: "},{"href":"LibTmux-Id.html#t:PaneId","target":"LibTmux.Id#t:PaneId","text":"PaneId"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"paneIdValue :: PaneId -> Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":103,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Read the numeric physical pane ID."},"references":[{"target":"LibTmux.Id#t:PaneId","kind":"type"}],"slug":"libtmux-id-v-paneidvalue"},{"id":"LibTmux.Value#t:Dimension","publicId":"LibTmux.Value#t:Dimension","name":"Dimension","qualifiedName":"LibTmux.Value.Dimension","namespace":"LibTmux.Value","parent":"LibTmux.Value","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"Dimension"}],"params":[],"raw":"data Dimension"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":35,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Positive cells, constructed with :obj:`mkDimension `. Command and field limits\n are checked separately. Compare dimensions directly or use :obj:`dimensionValue `\n with an integer literal.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`Dimension ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Value.hs#L37))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Dimension ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Value.hs#L36))\n\n- instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`Dimension ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Value.hs#L36))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Dimension ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Value.hs#L36))"},"references":[{"target":"LibTmux.Value#t:Dimension","kind":"type"}],"slug":"libtmux-value-t-dimension"},{"id":"LibTmux.Value#t:WindowIndex","publicId":"LibTmux.Value#t:WindowIndex","name":"WindowIndex","qualifiedName":"LibTmux.Value.WindowIndex","namespace":"LibTmux.Value","parent":"LibTmux.Value","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"WindowIndex"}],"params":[],"raw":"data WindowIndex"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":41,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Nonnegative index of a window link within a session, not a physical window ID.\n Construct with :obj:`mkWindowIndex `; read with :obj:`windowIndexValue `.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`WindowIndex ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Value.hs#L43))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`WindowIndex ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Value.hs#L42))\n\n- instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`WindowIndex ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Value.hs#L42))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`WindowIndex ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Value.hs#L42))"},"references":[{"target":"LibTmux.Value#t:WindowIndex","kind":"type"}],"slug":"libtmux-value-t-windowindex"},{"id":"LibTmux.Value#t:PaneIndex","publicId":"LibTmux.Value#t:PaneIndex","name":"PaneIndex","qualifiedName":"LibTmux.Value.PaneIndex","namespace":"LibTmux.Value","parent":"LibTmux.Value","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"PaneIndex"}],"params":[],"raw":"data PaneIndex"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":47,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Nonnegative pane index within a window, not a pane ID.\n Construct with :obj:`mkPaneIndex `; read with :obj:`paneIndexValue `.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`PaneIndex ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Value.hs#L49))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`PaneIndex ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Value.hs#L48))\n\n- instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`PaneIndex ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Value.hs#L48))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`PaneIndex ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Value.hs#L48))"},"references":[{"target":"LibTmux.Value#t:PaneIndex","kind":"type"}],"slug":"libtmux-value-t-paneindex"},{"id":"LibTmux.Value#t:ValueError","publicId":"LibTmux.Value#t:ValueError","name":"ValueError","qualifiedName":"LibTmux.Value.ValueError","namespace":"LibTmux.Value","parent":"LibTmux.Value","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"ValueError"}],"params":[],"raw":"data ValueError"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":52,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"A scalar outside its mathematical domain.","body":"## Instances\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`ValueError ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Value.hs#L55))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`ValueError ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Value.hs#L55))"},"references":[{"target":"LibTmux.Value#t:ValueError","kind":"type"}],"slug":"libtmux-value-t-valueerror"},{"id":"LibTmux.Value#v:NonPositiveDimension","publicId":"LibTmux.Value#v:NonPositiveDimension","name":"NonPositiveDimension","qualifiedName":"LibTmux.Value.NonPositiveDimension","namespace":"LibTmux.Value","parent":"LibTmux.Value#t:ValueError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"NonPositiveDimension"},{"text":" !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"NonPositiveDimension !Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":53,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"The supplied dimension was zero or negative."},"slug":"libtmux-value-v-nonpositivedimension"},{"id":"LibTmux.Value#v:NegativeIndex","publicId":"LibTmux.Value#v:NegativeIndex","name":"NegativeIndex","qualifiedName":"LibTmux.Value.NegativeIndex","namespace":"LibTmux.Value","parent":"LibTmux.Value#t:ValueError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"NegativeIndex"},{"text":" !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"NegativeIndex !Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":54,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"The supplied contextual index was negative."},"slug":"libtmux-value-v-negativeindex"},{"id":"LibTmux.Value#v:mkDimension","publicId":"LibTmux.Value#v:mkDimension","name":"mkDimension","qualifiedName":"LibTmux.Value.mkDimension","namespace":"LibTmux.Value","parent":"LibTmux.Value","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"mkDimension"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Value.html#t:ValueError","target":"LibTmux.Value#t:ValueError","text":"ValueError"},{"text":" "},{"href":"LibTmux-Value.html#t:Dimension","target":"LibTmux.Value#t:Dimension","text":"Dimension"}],"params":[],"raw":"mkDimension :: Integer -> Either ValueError Dimension"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":59,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Construct a positive dimension without applying a command-specific maximum."},"references":[{"target":"LibTmux.Value#t:ValueError","kind":"type"},{"target":"LibTmux.Value#t:Dimension","kind":"type"}],"slug":"libtmux-value-v-mkdimension"},{"id":"LibTmux.Value#v:mkWindowIndex","publicId":"LibTmux.Value#v:mkWindowIndex","name":"mkWindowIndex","qualifiedName":"LibTmux.Value.mkWindowIndex","namespace":"LibTmux.Value","parent":"LibTmux.Value","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"mkWindowIndex"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Value.html#t:ValueError","target":"LibTmux.Value#t:ValueError","text":"ValueError"},{"text":" "},{"href":"LibTmux-Value.html#t:WindowIndex","target":"LibTmux.Value#t:WindowIndex","text":"WindowIndex"}],"params":[],"raw":"mkWindowIndex :: Integer -> Either ValueError WindowIndex"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":65,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Construct a nonnegative window-link index."},"references":[{"target":"LibTmux.Value#t:ValueError","kind":"type"},{"target":"LibTmux.Value#t:WindowIndex","kind":"type"}],"slug":"libtmux-value-v-mkwindowindex"},{"id":"LibTmux.Value#v:mkPaneIndex","publicId":"LibTmux.Value#v:mkPaneIndex","name":"mkPaneIndex","qualifiedName":"LibTmux.Value.mkPaneIndex","namespace":"LibTmux.Value","parent":"LibTmux.Value","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"mkPaneIndex"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Value.html#t:ValueError","target":"LibTmux.Value#t:ValueError","text":"ValueError"},{"text":" "},{"href":"LibTmux-Value.html#t:PaneIndex","target":"LibTmux.Value#t:PaneIndex","text":"PaneIndex"}],"params":[],"raw":"mkPaneIndex :: Integer -> Either ValueError PaneIndex"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":71,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Construct a nonnegative pane index."},"references":[{"target":"LibTmux.Value#t:ValueError","kind":"type"},{"target":"LibTmux.Value#t:PaneIndex","kind":"type"}],"slug":"libtmux-value-v-mkpaneindex"},{"id":"LibTmux.Value#v:dimensionValue","publicId":"LibTmux.Value#v:dimensionValue","name":"dimensionValue","qualifiedName":"LibTmux.Value.dimensionValue","namespace":"LibTmux.Value","parent":"LibTmux.Value","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"dimensionValue"},{"text":" :: "},{"href":"LibTmux-Value.html#t:Dimension","target":"LibTmux.Value#t:Dimension","text":"Dimension"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"dimensionValue :: Dimension -> Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":77,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Read a dimension as a mathematical integer, without narrowing conversion."},"references":[{"target":"LibTmux.Value#t:Dimension","kind":"type"}],"slug":"libtmux-value-v-dimensionvalue"},{"id":"LibTmux.Value#v:windowIndexValue","publicId":"LibTmux.Value#v:windowIndexValue","name":"windowIndexValue","qualifiedName":"LibTmux.Value.windowIndexValue","namespace":"LibTmux.Value","parent":"LibTmux.Value","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"windowIndexValue"},{"text":" :: "},{"href":"LibTmux-Value.html#t:WindowIndex","target":"LibTmux.Value#t:WindowIndex","text":"WindowIndex"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"windowIndexValue :: WindowIndex -> Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":81,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Read a window-link index as a mathematical integer."},"references":[{"target":"LibTmux.Value#t:WindowIndex","kind":"type"}],"slug":"libtmux-value-v-windowindexvalue"},{"id":"LibTmux.Value#v:paneIndexValue","publicId":"LibTmux.Value#v:paneIndexValue","name":"paneIndexValue","qualifiedName":"LibTmux.Value.paneIndexValue","namespace":"LibTmux.Value","parent":"LibTmux.Value","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"paneIndexValue"},{"text":" :: "},{"href":"LibTmux-Value.html#t:PaneIndex","target":"LibTmux.Value#t:PaneIndex","text":"PaneIndex"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"paneIndexValue :: PaneIndex -> Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":85,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Read a pane index as a mathematical integer."},"references":[{"target":"LibTmux.Value#t:PaneIndex","kind":"type"}],"slug":"libtmux-value-v-paneindexvalue"},{"id":"LibTmux.Version#t:TmuxVersion","publicId":"LibTmux.Version#t:TmuxVersion","name":"TmuxVersion","qualifiedName":"LibTmux.Version.TmuxVersion","namespace":"LibTmux.Version","parent":"LibTmux.Version","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"TmuxVersion"}],"params":[],"raw":"data TmuxVersion"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Version.hs","line":31,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"A stable release, constructed by :obj:`parseVersion ` and rendered by\n :obj:`renderVersion `. Ordering compares numeric components before the patch letter.","body":"## Instances\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`TmuxVersion ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Version.hs#L32))\n\n- instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`TmuxVersion ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Version.hs#L32))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`TmuxVersion ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Version.hs#L32))"},"references":[{"target":"LibTmux.Version#t:TmuxVersion","kind":"type"}],"slug":"libtmux-version-t-tmuxversion"},{"id":"LibTmux.Version#t:VersionError","publicId":"LibTmux.Version#t:VersionError","name":"VersionError","qualifiedName":"LibTmux.Version.VersionError","namespace":"LibTmux.Version","parent":"LibTmux.Version","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"VersionError"}],"params":[],"raw":"data VersionError"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Version.hs","line":35,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Invalid release syntax or a release outside the supported range.","body":"## Instances\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`VersionError ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Version.hs#L38))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`VersionError ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Version.hs#L38))"},"references":[{"target":"LibTmux.Version#t:VersionError","kind":"type"}],"slug":"libtmux-version-t-versionerror"},{"id":"LibTmux.Version#v:MalformedVersion","publicId":"LibTmux.Version#v:MalformedVersion","name":"MalformedVersion","qualifiedName":"LibTmux.Version.MalformedVersion","namespace":"LibTmux.Version","parent":"LibTmux.Version#t:VersionError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"MalformedVersion"},{"text":" !"},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"MalformedVersion !Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Version.hs","line":36,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Bounded copy of input that is not a stable release."},"slug":"libtmux-version-v-malformedversion"},{"id":"LibTmux.Version#v:UnsupportedVersion","publicId":"LibTmux.Version#v:UnsupportedVersion","name":"UnsupportedVersion","qualifiedName":"LibTmux.Version.UnsupportedVersion","namespace":"LibTmux.Version","parent":"LibTmux.Version#t:VersionError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"UnsupportedVersion"},{"text":" !"},{"href":"LibTmux-Version.html#t:TmuxVersion","target":"LibTmux.Version#t:TmuxVersion","text":"TmuxVersion"}],"params":[],"raw":"UnsupportedVersion !TmuxVersion"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Version.hs","line":37,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"A stable release outside 3.3a through 3.8."},"references":[{"target":"LibTmux.Version#t:TmuxVersion","kind":"type"}],"slug":"libtmux-version-v-unsupportedversion"},{"id":"LibTmux.Version#v:parseVersion","publicId":"LibTmux.Version#v:parseVersion","name":"parseVersion","qualifiedName":"LibTmux.Version.parseVersion","namespace":"LibTmux.Version","parent":"LibTmux.Version","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"parseVersion"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Version.html#t:VersionError","target":"LibTmux.Version#t:VersionError","text":"VersionError"},{"text":" "},{"href":"LibTmux-Version.html#t:TmuxVersion","target":"LibTmux.Version#t:TmuxVersion","text":"TmuxVersion"}],"params":[],"raw":"parseVersion :: Text -> Either VersionError TmuxVersion"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Version.hs","line":44,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Parse a stable release or the output of `tmux -V`, allowing one final LF.\n Development builds and trailing data are rejected rather than assigned\n capabilities from a guessed stable version. Diagnostics retain at most 64 chars."},"references":[{"target":"LibTmux.Version#t:VersionError","kind":"type"},{"target":"LibTmux.Version#t:TmuxVersion","kind":"type"}],"slug":"libtmux-version-v-parseversion"},{"id":"LibTmux.Version#v:renderVersion","publicId":"LibTmux.Version#v:renderVersion","name":"renderVersion","qualifiedName":"LibTmux.Version.renderVersion","namespace":"LibTmux.Version","parent":"LibTmux.Version","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"renderVersion"},{"text":" :: "},{"href":"LibTmux-Version.html#t:TmuxVersion","target":"LibTmux.Version#t:TmuxVersion","text":"TmuxVersion"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"renderVersion :: TmuxVersion -> Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Version.hs","line":73,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Render the canonical release without the executable name or newline."},"references":[{"target":"LibTmux.Version#t:TmuxVersion","kind":"type"}],"slug":"libtmux-version-v-renderversion"},{"id":"LibTmux.Version#v:requireSupported","publicId":"LibTmux.Version#v:requireSupported","name":"requireSupported","qualifiedName":"LibTmux.Version.requireSupported","namespace":"LibTmux.Version","parent":"LibTmux.Version","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"requireSupported"},{"text":" :: "},{"href":"LibTmux-Version.html#t:TmuxVersion","target":"LibTmux.Version#t:TmuxVersion","text":"TmuxVersion"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Version.html#t:VersionError","target":"LibTmux.Version#t:VersionError","text":"VersionError"},{"text":" "},{"href":"LibTmux-Version.html#t:TmuxVersion","target":"LibTmux.Version#t:TmuxVersion","text":"TmuxVersion"}],"params":[],"raw":"requireSupported :: TmuxVersion -> Either VersionError TmuxVersion"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Version.hs","line":80,"revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","repo":"libtmux/libtmux-haskell","extractedRevision":"581f0ee45016ffb2283366bb1edc1658df26c5ed"},"doc":{"summary":"Admit every stable release from 3.3a through 3.8, including intermediate\n releases. Versions outside that range fail. Individual features need their own\n capability checks; passing this check does not qualify an entire release."},"references":[{"target":"LibTmux.Version#t:TmuxVersion","kind":"type"},{"target":"LibTmux.Version#t:VersionError","kind":"type"}],"slug":"libtmux-version-v-requiresupported"}]} +{"port":"haskell","repo":"libtmux/libtmux-haskell","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","extractor":"@libtmux/api-model@0.0.1 (Haddock public interface export v3)","nativeProvenance":{"exporter":{"build":{"cabal":"3.18.2.0","compiler":"ghc-9.14.1","platform":"x86_64-linux","unit":"libtmux-haskell-0.1.0.0-inplace"},"interfaceStream":"stderr","name":"Haddock public interface export","nativeArtifacts":[{"path":"LibTmux-Id.html","sha256":"cf7102eba62a0e9b02e7ea7acefb85d1822a4d192a1fceb680246ed42bd10d45"},{"path":"LibTmux-Query-Client.html","sha256":"841c8d5a537f3d06d0f7a4a192c7922bf88bdbfbc0e6027143f0a36464826d8b"},{"path":"LibTmux-Query-ClientAttachment.html","sha256":"fc039ad4e8e5f78703a4fd47abb7691edd8e6a63ea4421f7fd944899c98f6204"},{"path":"LibTmux-Query-Link.html","sha256":"1dfbdc7a40b484dd04c7a949fc88ff4d28d405e95707900d5231cd17ab522fdf"},{"path":"LibTmux-Query-Occurrence.html","sha256":"792f12ae0bbc792264ad9261b94070046cc31ee8bd20a3b6ec34bf742249ae9a"},{"path":"LibTmux-Query-Pane.html","sha256":"036fcb94031ed3818ba7dc372e1950d706c1a66c359db35d833156c553054c03"},{"path":"LibTmux-Query-ServerInfo.html","sha256":"1df595aa9f3a7bb189165062f1c59047598b313502ec6252dbc285ab30fc4888"},{"path":"LibTmux-Query-Session.html","sha256":"b7a7b61ae49403b4bf7eeaa5be68371f6e216afa0748c4041c8244d0409155e4"},{"path":"LibTmux-Query-Window.html","sha256":"aaa13d0c47e88ed2551aeb7c45e19c506e262a87c75d627c21b7ff3ef9b74705"},{"path":"LibTmux-Query.html","sha256":"0c77ec7728fcaddd2d4a35744ba3da1270b265e77efe9212fdc0ad9aa0f6d4f1"},{"path":"LibTmux-Server.html","sha256":"ea41128f95487a63c251630abbbe3587153ec01b896ca703be97815458e61dc8"},{"path":"LibTmux-Snapshot-Fixture.html","sha256":"9d0939a019c99f33119619f0c424a87fea6e87abbd0a8ade758d78e05ae53a7c"},{"path":"LibTmux-Snapshot.html","sha256":"1f842b842539860588b079367edede8eb65986ed23a695bb3c9dc592af911a10"},{"path":"LibTmux-Value.html","sha256":"4160151534c27a8c787c9ab36fa6dcbf740fc193a7a3553935172be72111ff1d"},{"path":"LibTmux-Version.html","sha256":"3461a42be3733565d16ab18cf3b729e41eab6ef20e87c90b2ca10fa993999510"},{"path":"LibTmux.html","sha256":"a92d346516db99e4d4086fd9b4322c363eb5bc5a155ce28264e07eafac0c9e15"},{"path":"interface.haddock","sha256":"f1b379ffb656b6092d26960513ce994c6e000ad1e381285e93c2e427eba3d745"},{"path":"interface.json","sha256":"c1253b84879a0675e7ce6eac66135343bc9eb838416cad730087b605c40a06f6"},{"path":"src/LibTmux.Id.html","sha256":"4ffe3b428181e97542f140f27d29b4886487f3e42932a71de1c49027ce82379c"},{"path":"src/LibTmux.Internal.Capture.html","sha256":"39717a61c3d14c25bb35e1de8674e58d2ed6541f3e402fd88b9bae4b15861935"},{"path":"src/LibTmux.Internal.Field.html","sha256":"6c9ee76d4aea3fe98c1a385f5b3045e9bc90c6415bcb09028e55a61ee42fab15"},{"path":"src/LibTmux.Internal.Graph.html","sha256":"2b7a173ec6cb2cd836d02eac2f3f7afde831c07ff668617c6c30c9058f8148cb"},{"path":"src/LibTmux.Internal.Query.html","sha256":"c578a743c9975dcd792895c68264c8acb768df9f5ad8b8857aa9fc9cb5972025"},{"path":"src/LibTmux.Internal.Runtime.html","sha256":"dffb79b5ee22778adfdc78192d0f79543737bd1be23bfaeffca2e4894cf66567"},{"path":"src/LibTmux.Internal.Scheduler.html","sha256":"0f979509677d529e8dde05ee8bdaebbaeba3a769186b92491bd9523677ed99fc"},{"path":"src/LibTmux.Internal.Scope.html","sha256":"f1ff040ee7c377d0239289613ceeb63975e7bd91632a60c8e1e05e6005982c69"},{"path":"src/LibTmux.Internal.TmuxText.html","sha256":"e7b157d01e6c3a38aaeebcffda929c8b622dec125eb4bdfdd6273c4f7195a173"},{"path":"src/LibTmux.Query.Client.html","sha256":"63b8825e19f974abe4572598f213e5ad677d1b330659911109bfa39ba5853c10"},{"path":"src/LibTmux.Query.ClientAttachment.html","sha256":"ddd214d2151a04e988d7573b5a37922793a51d0dc253467a7ace7eafdcf24522"},{"path":"src/LibTmux.Query.Link.html","sha256":"704c97d3a9393b3a8834b5c4c5723cde3aaf9353272bb29bc4dce0c17260cc94"},{"path":"src/LibTmux.Query.Occurrence.html","sha256":"6b8434f01e2172bb84b29907ca9f41e9983b0e2250cee6134d7086f406a57034"},{"path":"src/LibTmux.Query.Pane.html","sha256":"a914f4b39e741ccca3dfba10941a037266cda6b39991c9901eb53f0d47de0ec3"},{"path":"src/LibTmux.Query.ServerInfo.html","sha256":"a1eb1a088b566436a553697610f9841c926dd7fcdaaf04acc6fe8072e3e09037"},{"path":"src/LibTmux.Query.Session.html","sha256":"e9f14446ea7e4998944700ee53f869d26e3a43ad44013590ec2f0bc833c8b247"},{"path":"src/LibTmux.Query.Window.html","sha256":"d1c54f7e867221a773a1f6b0b3994954a1be51ee841349cd3ad575e449e18293"},{"path":"src/LibTmux.Query.html","sha256":"dff07cc91ad3d3f33a74b955eadbd04e2c44f7e814f50908a82b5fada8e7082a"},{"path":"src/LibTmux.Server.html","sha256":"6abb571aab22a70c813796783a6b1ac4736698aa4adfff68a9abd54a8fa71e3b"},{"path":"src/LibTmux.Snapshot.Fixture.html","sha256":"67bbac3c3526fd4852c12974bd40b9998026f30efb918127ba4092a3b50fa6c7"},{"path":"src/LibTmux.Snapshot.html","sha256":"32e83f30b4b7253801906fa4ad091a0833294b0e06f13287c0c7fb882fef992b"},{"path":"src/LibTmux.Value.html","sha256":"41c181002b623ebedd852980c252161f0fff4734bf059746eb3625463059fbc2"},{"path":"src/LibTmux.Version.html","sha256":"02c525d9a7dccfb68d33bb4c35a15d28dc95afd635e1cd37e2f8ded829c61798"},{"path":"src/LibTmux.html","sha256":"b6361b9092cbd079dd75ae5b91977c3ed8b4ef1ed0c2505b1febcb59de386d19"}],"path":"packages/api-model/scripts/export-haskell.py","repository":"libtmux/docs","revision":"cfa95b798860468e591a507c415ae2b144c54365","sha256":"aad4d4268e794992f097be5bfc16deaefee36ede86a2deb9282384043520e9d9","version":3},"files":[{"path":".tool-versions","sha256":"13c8a19b336b86a161f4d5ea74347960e884e2c0887d399fe752d84eecfd35e7"},{"path":"cabal.project","sha256":"c438ff6007a6c5bcec78d847e4070cbb1e24aa3fc717904e1acb78c8c69e794b"},{"path":"libtmux-haskell.cabal","sha256":"72432a342d0a6fc03b53cfd2632eec72b1be8942adbd06918c4066a4cd9ad3ac"},{"path":"src/LibTmux.hs","sha256":"472751bad0084e5c946c6ac95a9f178987c15a3de1d7054c6dff49fedba85f79"},{"path":"src/LibTmux/Id.hs","sha256":"3456edf88bf412e8769e5c96cc5d35b7b118ea3bd3786f167c9002f9804fb3b7"},{"path":"src/LibTmux/Query.hs","sha256":"43c7b3854e6a7183b383a54216923d31225fa7f42271459f5cdb824bf2c9835c"},{"path":"src/LibTmux/Query/Client.hs","sha256":"323e70a2657ee88e9405e1f05cf0cb285ac05239a1f9966bbfc8046c8c0bb050"},{"path":"src/LibTmux/Query/ClientAttachment.hs","sha256":"c5c544c04de75b2af264ec156d198fdac3fea4e34a64d79b538ea03d0c711dea"},{"path":"src/LibTmux/Query/Link.hs","sha256":"13b994e13f3e97a4e7df8fde5baaf4081c24a2d85ddba488367c7c1a8e5e2bae"},{"path":"src/LibTmux/Query/Occurrence.hs","sha256":"5d52a00a8c7c219525cf44e86ee9ab03f2028a75665909a0ec6545e7f1545a9c"},{"path":"src/LibTmux/Query/Pane.hs","sha256":"f6139bc34220eb1e891e567fb1e6c21097ee2bab937440a469be97282cb0280f"},{"path":"src/LibTmux/Query/ServerInfo.hs","sha256":"9fc7ae60cee0028a5299c587a1383ef1db57d90cfd938483dcda1b04c902c105"},{"path":"src/LibTmux/Query/Session.hs","sha256":"e11148b360cc19465cc346eda1f9141f8c64e55e3bb5c68fb653d559d78bec5b"},{"path":"src/LibTmux/Query/Window.hs","sha256":"7d92de6a8214c059dbb35f5e5f3216c3b25afed3b9263ec1601e50bbaa1a23b1"},{"path":"src/LibTmux/Server.hs","sha256":"035d12943663cf28eccf1ba3347bc2a0c9c3920a21a4f6d799c5607e7bb58219"},{"path":"src/LibTmux/Snapshot.hs","sha256":"cddfee4e757f1dd4b35ee9f099fa796c86213ea7ff50a4727ddf198d26aaa2a1"},{"path":"src/LibTmux/Snapshot/Fixture.hs","sha256":"b1b53369587d2ea963a97ba2b34ce963233130c4e47581292510613e7819a919"},{"path":"src/LibTmux/Value.hs","sha256":"e199c3d0bbf08a159daa35bb4ae9a5d2ad4761117d375f292dd8b250bb459e55"},{"path":"src/LibTmux/Version.hs","sha256":"cf4e4d94a113a95ffb7b650cffbd0b4f702608627db84b7c7bf7630b83e4dfa7"},{"path":"internal/LibTmux/Internal/Capture.hs","sha256":"5ed6c354cb887e8736e99976193f3cc6322eb6ea4792da6aa7fc14f56a9e834c"},{"path":"internal/LibTmux/Internal/Field.hs","sha256":"231b792d490fabb7a15aa35655eca04eecf27c403020907dec32edff459466da"},{"path":"internal/LibTmux/Internal/Graph.hs","sha256":"65b8d58914fd905f30513efc6b1b791ab606728012abf7e5a57d982bd393eb2d"},{"path":"internal/LibTmux/Internal/Query.hs","sha256":"ebf60049d2972df5fec0c36dfe7f363386a93f2aa621dcf659f335a87f32c905"},{"path":"internal/LibTmux/Internal/Runtime.hs","sha256":"5cddf08065f480e916c51014f9b0138691bc7824866835464395bc4e1fb7d252"},{"path":"internal/LibTmux/Internal/Scheduler.hs","sha256":"d97dd8c431a84c41ab947baac096e757cf498ebb0747b0e311fa7a73eee927b1"},{"path":"internal/LibTmux/Internal/Scope.hs","sha256":"22ecc01d74e51a62e2ba6493857d1ec9d5403a50bd2c101bd5ba28d179791fed"},{"path":"internal/LibTmux/Internal/TmuxText.hs","sha256":"5c58645aa089c306cf68f69c4b209eba78f915320547c0d1b8bdfb003b086dd8"}]},"sources":[{"product":"core","package":"libtmux-haskell","version":"0.1.0.0","repo":"libtmux/libtmux-haskell","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"}],"exportGroups":[{"owner":"LibTmux.Id","members":["LibTmux.Id#t:SessionId","LibTmux.Id#t:WindowId","LibTmux.Id#t:PaneId"],"title":"Entity identities"},{"owner":"LibTmux.Id","members":["LibTmux.Id#t:IdError","LibTmux.Id#v:parseSessionId","LibTmux.Id#v:parseWindowId","LibTmux.Id#v:parsePaneId"],"title":"Parse external values"},{"owner":"LibTmux.Id","members":["LibTmux.Id#v:renderSessionId","LibTmux.Id#v:renderWindowId","LibTmux.Id#v:renderPaneId"],"title":"Render target text"},{"owner":"LibTmux.Id","members":["LibTmux.Id#v:sessionIdValue","LibTmux.Id#v:windowIdValue","LibTmux.Id#v:paneIdValue"],"title":"Read numeric values"},{"owner":"LibTmux.Query","members":["LibTmux.Query#t:Field","LibTmux.Query#t:Expr","LibTmux.Query#t:Query","LibTmux.Query#t:Order","LibTmux.Query#t:ToMany","LibTmux.Query#t:ToOne","LibTmux.Query#t:ToOptional"],"title":"Descriptions"},{"owner":"LibTmux.Query","members":["LibTmux.Query#v:sessions","LibTmux.Query#v:windows","LibTmux.Query#v:panes","LibTmux.Query#v:windowLinks","LibTmux.Query#v:paneOccurrences","LibTmux.Query#v:clients","LibTmux.Query#v:serverInfo"],"title":"Ordered sources"},{"owner":"LibTmux.Query","members":["LibTmux.Query#v:eq","LibTmux.Query#v:oneOf","LibTmux.Query#v:contains","LibTmux.Query#v:ge","LibTmux.Query#v:gt","LibTmux.Query#v:le","LibTmux.Query#v:lt","LibTmux.Query#v:dimensionAtLeast","LibTmux.Query#v:dimensionAtMost","LibTmux.Query#v:paneIndexAtLeast","LibTmux.Query#v:paneIndexAtMost","LibTmux.Query#v:windowIndexAtLeast","LibTmux.Query#v:windowIndexAtMost"],"title":"Scalar predicates"},{"owner":"LibTmux.Query","members":["LibTmux.Query#v:allOf","LibTmux.Query#v:anyOf","LibTmux.Query#v:not_","LibTmux.Query#v:some","LibTmux.Query#v:every","LibTmux.Query#v:none","LibTmux.Query#v:related","LibTmux.Query#v:optionalRelated"],"title":"Logic and relationships"},{"owner":"LibTmux.Query","members":["LibTmux.Query#v:matching","LibTmux.Query#v:orderBy","LibTmux.Query#v:ascending","LibTmux.Query#v:descending","LibTmux.Query#v:limit"],"title":"Selection and ordering"},{"owner":"LibTmux.Query","members":["LibTmux.Query#t:QueryRequirements","LibTmux.Query#v:requirements","LibTmux.Query#t:QueryError","LibTmux.Query#v:runQuery","LibTmux.Query#v:fetch"],"title":"Inspect and evaluate"},{"owner":"LibTmux.Query","members":["LibTmux.Query#t:CardinalityError","LibTmux.Query#v:exactlyOne","LibTmux.Query#v:atMostOne"],"title":"Cardinality"},{"owner":"LibTmux.Query.Client","members":["LibTmux.Query.Client#v:name","LibTmux.Query.Client#v:pid","LibTmux.Query.Client#v:tty","LibTmux.Query.Client#v:attachment"],"title":"Documentation"},{"owner":"LibTmux.Query.ClientAttachment","members":["LibTmux.Query.ClientAttachment#v:sessionId","LibTmux.Query.ClientAttachment#v:windowId","LibTmux.Query.ClientAttachment#v:windowIndex","LibTmux.Query.ClientAttachment#v:paneId","LibTmux.Query.ClientAttachment#v:session","LibTmux.Query.ClientAttachment#v:window","LibTmux.Query.ClientAttachment#v:pane"],"title":"Documentation"},{"owner":"LibTmux.Query.Link","members":["LibTmux.Query.Link#v:sessionId","LibTmux.Query.Link#v:windowId","LibTmux.Query.Link#v:index","LibTmux.Query.Link#v:active","LibTmux.Query.Link#v:session","LibTmux.Query.Link#v:window","LibTmux.Query.Link#v:panes"],"title":"Documentation"},{"owner":"LibTmux.Query.Occurrence","members":["LibTmux.Query.Occurrence#v:pane","LibTmux.Query.Occurrence#v:link"],"title":"Documentation"},{"owner":"LibTmux.Query.Pane","members":["LibTmux.Query.Pane#v:id","LibTmux.Query.Pane#v:windowId","LibTmux.Query.Pane#v:index","LibTmux.Query.Pane#v:width","LibTmux.Query.Pane#v:height","LibTmux.Query.Pane#v:active","LibTmux.Query.Pane#v:dead","LibTmux.Query.Pane#v:title","LibTmux.Query.Pane#v:currentCommand","LibTmux.Query.Pane#v:currentPath","LibTmux.Query.Pane#v:window"],"title":"Documentation"},{"owner":"LibTmux.Query.ServerInfo","members":["LibTmux.Query.ServerInfo#v:pid","LibTmux.Query.ServerInfo#v:startedAt","LibTmux.Query.ServerInfo#v:version","LibTmux.Query.ServerInfo#v:socketPath"],"title":"Documentation"},{"owner":"LibTmux.Query.Session","members":["LibTmux.Query.Session#v:id","LibTmux.Query.Session#v:name","LibTmux.Query.Session#v:attached","LibTmux.Query.Session#v:windowLinks","LibTmux.Query.Session#v:clients"],"title":"Documentation"},{"owner":"LibTmux.Query.Window","members":["LibTmux.Query.Window#v:id","LibTmux.Query.Window#v:name","LibTmux.Query.Window#v:width","LibTmux.Query.Window#v:height","LibTmux.Query.Window#v:panes","LibTmux.Query.Window#v:windowLinks"],"title":"Documentation"},{"owner":"LibTmux.Server","members":["LibTmux.Server#t:Server","LibTmux.Server#t:ServerConfig","LibTmux.Server#v:serverConfig","LibTmux.Server#v:withServer","LibTmux.Server#v:capture","LibTmux.Server#v:serverGeneration"],"title":"Open and observe"},{"owner":"LibTmux.Server","members":["LibTmux.Server#t:Runtime","LibTmux.Server#v:withRuntime","LibTmux.Server#v:withServerIn"],"title":"Shared ownership"},{"owner":"LibTmux.Server","members":["LibTmux.Server#t:TmuxException","LibTmux.Server#v:tryTmux"],"title":"Operational failures"},{"owner":"LibTmux.Server","members":["LibTmux.Server#t:CleanupRecovery","LibTmux.Server#t:CleanupStatus","LibTmux.Server#v:cleanupRecoveries","LibTmux.Server#v:cleanupFailure","LibTmux.Server#v:cleanupObservation","LibTmux.Server#v:inspectCleanup","LibTmux.Server#v:resumeCleanup","LibTmux.Server#v:awaitCleanup","LibTmux.Server#v:detachUnresolved"],"title":"Scope cleanup"},{"owner":"LibTmux.Server","members":["LibTmux.Server#t:CaptureRecovery","LibTmux.Server#v:captureRecoveries","LibTmux.Server#v:recoveryOperation","LibTmux.Server#v:recoveryGeneration","LibTmux.Server#t:ReadRecovery","LibTmux.Server#v:inspectCaptureRecovery","LibTmux.Server#v:resumeCaptureRecovery","LibTmux.Server#v:detachCaptureRecovery","LibTmux.Server#t:Operation","LibTmux.Server#t:Status","LibTmux.Server#t:Stage","LibTmux.Server#t:Outcome","LibTmux.Server#v:operationStatus"],"title":"Correlated capture recovery"},{"owner":"LibTmux.Snapshot","members":["LibTmux.Snapshot#t:Snapshot","LibTmux.Snapshot#t:ServerInfo","LibTmux.Snapshot#t:SnapshotOrigin","LibTmux.Snapshot#v:snapshotOrigin","LibTmux.Snapshot#v:serverInfo","LibTmux.Snapshot#v:captureInterval","LibTmux.Snapshot#t:CaptureInterval"],"title":"Complete observations"},{"owner":"LibTmux.Snapshot","members":["LibTmux.Snapshot#t:Session","LibTmux.Snapshot#t:Window","LibTmux.Snapshot#t:Pane","LibTmux.Snapshot#t:WindowLink","LibTmux.Snapshot#t:PaneOccurrence","LibTmux.Snapshot#t:Client","LibTmux.Snapshot#t:ClientAttachment"],"title":"Physical and contextual values"},{"owner":"LibTmux.Snapshot","members":["LibTmux.Snapshot#t:Generation","LibTmux.Snapshot#t:SessionRef","LibTmux.Snapshot#t:WindowRef","LibTmux.Snapshot#t:PaneRef","LibTmux.Snapshot#v:sessionId","LibTmux.Snapshot#v:windowId","LibTmux.Snapshot#v:paneId"],"title":"Target identity"},{"owner":"LibTmux.Snapshot","members":["LibTmux.Snapshot#v:sessions","LibTmux.Snapshot#v:windows","LibTmux.Snapshot#v:panes","LibTmux.Snapshot#v:windowLinks","LibTmux.Snapshot#v:paneOccurrences","LibTmux.Snapshot#v:clients"],"title":"Ordered sources"},{"owner":"LibTmux.Snapshot","members":["LibTmux.Snapshot#t:LookupError","LibTmux.Snapshot#v:lookupSession","LibTmux.Snapshot#v:lookupWindow","LibTmux.Snapshot#v:lookupPane","LibTmux.Snapshot#v:linksForSession","LibTmux.Snapshot#v:panesForWindow","LibTmux.Snapshot#v:lookupSessionId","LibTmux.Snapshot#v:lookupWindowId","LibTmux.Snapshot#v:lookupPaneId"],"title":"Indexed navigation"},{"owner":"LibTmux.Snapshot","members":["LibTmux.Snapshot#t:TmuxText","LibTmux.Snapshot#v:labelFromBytes","LibTmux.Snapshot#v:labelBytes","LibTmux.Snapshot#v:labelText"],"title":"Lossless labels"},{"owner":"LibTmux.Snapshot.Fixture","members":["LibTmux.Snapshot.Fixture#t:FixtureOrigin","LibTmux.Snapshot.Fixture#v:fixtureOrigin","LibTmux.Snapshot.Fixture#v:fixtureGeneration","LibTmux.Snapshot.Fixture#v:sessionRef","LibTmux.Snapshot.Fixture#v:windowRef","LibTmux.Snapshot.Fixture#v:paneRef"],"title":"Offline identity"},{"owner":"LibTmux.Snapshot.Fixture","members":["LibTmux.Snapshot.Fixture#t:Fixture","LibTmux.Snapshot.Fixture#t:AttachedClient","LibTmux.Snapshot.Fixture#v:emptyFixture"],"title":"Complete fixture inputs"},{"owner":"LibTmux.Snapshot.Fixture","members":["LibTmux.Snapshot.Fixture#t:FixtureError","LibTmux.Snapshot.Fixture#v:validateFixture"],"title":"Validation"},{"owner":"LibTmux.Value","members":["LibTmux.Value#t:Dimension","LibTmux.Value#t:WindowIndex","LibTmux.Value#t:PaneIndex"],"title":"Checked types"},{"owner":"LibTmux.Value","members":["LibTmux.Value#t:ValueError","LibTmux.Value#v:mkDimension","LibTmux.Value#v:mkWindowIndex","LibTmux.Value#v:mkPaneIndex"],"title":"Validate input"},{"owner":"LibTmux.Value","members":["LibTmux.Value#v:dimensionValue","LibTmux.Value#v:windowIndexValue","LibTmux.Value#v:paneIndexValue"],"title":"Read numeric values"},{"owner":"LibTmux.Version","members":["LibTmux.Version#t:TmuxVersion","LibTmux.Version#t:VersionError"],"title":"Release identity and errors"},{"owner":"LibTmux.Version","members":["LibTmux.Version#v:parseVersion","LibTmux.Version#v:renderVersion"],"title":"Parse and render"},{"owner":"LibTmux.Version","members":["LibTmux.Version#v:requireSupported"],"title":"Admit a release"}],"symbols":[{"id":"LibTmux","publicId":"LibTmux","name":"LibTmux","kind":"module","modifiers":[],"signatures":[],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Capture tmux state in IO and process detached observations with ordinary\n Haskell collections. Start with :obj:`withServer ` and :obj:`capture `; navigation and\n field access from :obj:`LibTmux.Snapshot ` perform no external operations.","body":":obj:`LibTmux.Server ` documents ownership and failure recovery. Typed IDs,\n checked dimensions and supported releases have their own pure modules.\n :obj:`LibTmux.Query ` provides qualified typed descriptions over the same\n snapshots; query source names are separate from collection access here.\n\n## Reexports\n\n- :obj:`LibTmux.Server `\n- :obj:`LibTmux.Snapshot `\n- :obj:`LibTmux.Id `\n- :obj:`LibTmux.Value `\n- :obj:`LibTmux.Version `"},"references":[{"target":"LibTmux.Server","kind":"reference"},{"target":"LibTmux.Snapshot","kind":"reference"},{"target":"LibTmux.Id","kind":"reference"},{"target":"LibTmux.Value","kind":"reference"},{"target":"LibTmux.Version","kind":"reference"}],"slug":"libtmux"},{"id":"LibTmux.Id","publicId":"LibTmux.Id","name":"LibTmux.Id","kind":"module","modifiers":[],"signatures":[],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"body":"Parsing and rendering are pure. An ID carries no endpoint, server lifetime\n or liveness evidence. Render an ID for external text; use its numeric\n accessor when an application needs the mathematical value.\n\nStart with :obj:`parseSessionId `, :obj:`parseWindowId ` or :obj:`parsePaneId `. Each type's\n documentation links its parser and renderer. Contextual numeric indices\n belong to :obj:`LibTmux.Value `.\n\n\n\n```haskell\n>>> :set -XOverloadedStrings\n>>> fmap renderWindowId (parseWindowId \"@17\")\nRight \"@17\"\n>>> either (const \"rejected\") renderPaneId (parsePaneId \"@17\")\n\"rejected\"\n```","summary":"Distinct session, physical-window and physical-pane IDs."},"slug":"libtmux-id"},{"id":"LibTmux.Query","publicId":"LibTmux.Query","name":"LibTmux.Query","kind":"module","modifiers":[],"signatures":[],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"body":"Build a :obj:`Query ` with a source and :obj:`matching `, then use :obj:`runQuery ` to read\n an existing :obj:`Snapshot ` without IO. :obj:`fetch ` explicitly acquires a new\n snapshot. Ordinary lists and application predicates remain available\n through :obj:`LibTmux.Snapshot `; portable expressions contain no callbacks.\n\nImport field modules qualified: :obj:`LibTmux.Query.Pane `,\n :obj:`LibTmux.Query.Session `, :obj:`LibTmux.Query.Window `, :obj:`LibTmux.Query.Link `,\n :obj:`LibTmux.Query.Occurrence `, :obj:`LibTmux.Query.Client `,\n :obj:`LibTmux.Query.ClientAttachment ` and :obj:`LibTmux.Query.ServerInfo `.\n Field tokens describe captured values; reading them never contacts tmux.\n\nQuery construction, operands and results are finite. Execution validates\n every declared requirement before filtering, stably ordering and limiting.\n The default source order and multiplicity come from the supplied snapshot.\n A result establishes what was observed, not current liveness or a reserved\n command target. See :obj:`exactlyOne ` before selecting an explicit reference.\n\n\n\n```haskell\n>>> exactlyOne [1 :: Integer]\nRight 1\n>>> exactlyOne ([] :: [Integer])\nLeft NoMatches\n>>> atMostOne ([] :: [Integer])\nRight Nothing\n>>> atMostOne [1, 2 :: Integer]\nLeft AtLeastTwoMatches\n```","summary":"Typed selection over detached tmux observations."},"slug":"libtmux-query"},{"id":"LibTmux.Query.Client","publicId":"LibTmux.Query.Client","name":"LibTmux.Query.Client","kind":"module","modifiers":[],"signatures":[],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Client.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"body":":obj:`Client ` means an observed tmux client, not the operational Server handle.\n The tmux 3.3a baseline captures attached clients. :obj:`tty ` can be\n absent for a control client; bytes retain endpoint path semantics.","summary":"Captured tmux client fields for :obj:`LibTmux.Query `."},"slug":"libtmux-query-client"},{"id":"LibTmux.Query.ClientAttachment","publicId":"LibTmux.Query.ClientAttachment","name":"LibTmux.Query.ClientAttachment","kind":"module","modifiers":[],"signatures":[],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/ClientAttachment.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"body":"Use with :obj:`LibTmux.Query ` and :obj:`LibTmux.Query.Client `. All tokens describe\n the tmux 3.3a baseline. The selected :obj:`PaneOccurrence ` keeps the client's\n actual window-link index rather than choosing another link to that window.","summary":"Selected session, window and pane of a captured client."},"slug":"libtmux-query-clientattachment"},{"id":"LibTmux.Query.Link","publicId":"LibTmux.Query.Link","name":"LibTmux.Query.Link","kind":"module","modifiers":[],"signatures":[],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Link.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"body":"Use with :obj:`LibTmux.Query `. All tokens belong to the tmux 3.3a baseline.\n The same physical window can occur at several indices in one session;\n :obj:`WindowLink ` retains each appearance. :obj:`active ` is contextual to the session.","summary":"Fields and navigation for an observed session*index*window binding."},"slug":"libtmux-query-link"},{"id":"LibTmux.Query.Occurrence","publicId":"LibTmux.Query.Occurrence","name":"LibTmux.Query.Occurrence","kind":"module","modifiers":[],"signatures":[],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Occurrence.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"body":"These tmux 3.3a baseline relationships read detached :obj:`PaneOccurrence `\n values. Filtering occurrences preserves repeated appearances; use the\n physical pane source when uniqueness should ignore links.","summary":"Context-preserving pane appearances for :obj:`LibTmux.Query `."},"slug":"libtmux-query-occurrence"},{"id":"LibTmux.Query.Pane","publicId":"LibTmux.Query.Pane","name":"LibTmux.Query.Pane","kind":"module","modifiers":[],"signatures":[],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Pane.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"body":"Use these tokens with :obj:`LibTmux.Query `; each describes an owned :obj:`Pane `\n from :obj:`LibTmux.Snapshot `. All are available in the tmux 3.3a baseline.\n Text comparisons are exact. Command and path values retain POSIX bytes\n from the endpoint rather than promising UTF-8 or local path semantics.","summary":"Physical pane fields and its required window relationship."},"slug":"libtmux-query-pane"},{"id":"LibTmux.Query.ServerInfo","publicId":"LibTmux.Query.ServerInfo","name":"LibTmux.Query.ServerInfo","kind":"module","modifiers":[],"signatures":[],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/ServerInfo.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"body":"The tmux 3.3a baseline supplies one :obj:`ServerInfo ` per complete snapshot.\n PID and start time are diagnostics, not a replacement for generation-bound\n references or proof of present liveness.","summary":"Captured daemon metadata for :obj:`LibTmux.Query `."},"slug":"libtmux-query-serverinfo"},{"id":"LibTmux.Query.Session","publicId":"LibTmux.Query.Session","name":"LibTmux.Query.Session","kind":"module","modifiers":[],"signatures":[],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Session.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"body":"All tokens describe the tmux 3.3a baseline. :obj:`windowLinks ` preserves each\n observed index, including several links to one physical window. :obj:`clients `\n describes captured attachments and may be a known empty relationship.","summary":"Session fields and contextual children for :obj:`LibTmux.Query `."},"slug":"libtmux-query-session"},{"id":"LibTmux.Query.Window","publicId":"LibTmux.Query.Window","name":"LibTmux.Query.Window","kind":"module","modifiers":[],"signatures":[],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Window.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"body":"Fields describe the tmux 3.3a baseline. A physical :obj:`Window ` can have\n several :obj:`windowLinks `; its name and pane set are shared across them.\n Window names use lossless :obj:`TmuxText ` because older supported tmux\n releases can retain labels that are not valid UTF-8.","summary":"Physical window fields and relationships for :obj:`LibTmux.Query `."},"slug":"libtmux-query-window"},{"id":"LibTmux.Server","publicId":"LibTmux.Server","name":"LibTmux.Server","kind":"module","modifiers":[],"signatures":[],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"body":"A :obj:`Server ` represents one adoption of one endpoint. :obj:`withServer ` owns its\n socket pin, native command clients and cleanup workers. Closing this scope\n releases those resources; it does not send `kill-server`. The tmux noun\n `Client` refers to detached observations in :obj:`LibTmux.Snapshot `.\n :obj:`withRuntime ` and :obj:`withServerIn ` give several handles shared resource limits\n and independent Server scopes.\n\n:obj:`capture ` returns fully decoded, validated values. Field access and graph\n navigation are pure. Captures use an observation interval, not an atomic\n transaction over tmux and operating-system state.\n\nOperational failures use :obj:`TmuxException `. :obj:`tryTmux ` catches that type only.\n Cancellation retains its original exception class. If bounded cleanup\n cannot finish, :obj:`cleanupRecoveries ` retrieves the owning recovery scope\n from the exception context. A failed callback remains the primary failure.","summary":"Observe an existing tmux daemon through an owned Server handle."},"slug":"libtmux-server"},{"id":"LibTmux.Snapshot","publicId":"LibTmux.Snapshot","name":"LibTmux.Snapshot","kind":"module","modifiers":[],"signatures":[],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"body":":obj:`LibTmux.Server ` acquires a :obj:`Snapshot ` in IO. Every operation in this\n module reads owned Haskell values, including after the Server closes.\n Use ordinary lists, comprehensions and folds for application predicates.\n\n:obj:`Window ` and :obj:`Pane ` are physical entities. A :obj:`WindowLink ` identifies an\n observed session*index*window binding; :obj:`PaneOccurrence ` retains that\n context. :obj:`paneOccurrences ` therefore preserves repeated appearances while\n :obj:`panes ` lists each physical pane once.\n\nReferences compare identity within one Server generation. A lookup reads\n the supplied snapshot, including a newer snapshot from that same Server.\n Independent Server scopes have different generations. Resolve an ID again\n with :obj:`lookupPaneId ` when deliberately selecting a newly observed entity.\n\nObservation fields are exported for record dot and local updates. Editing\n a record does not change a snapshot's indexes or establish provenance.\n :obj:`LibTmux.Snapshot.Fixture ` constructs validated offline snapshots;\n :obj:`snapshotOrigin ` distinguishes them from observations acquired through IO.","summary":"Detached tmux observations and pure navigation."},"slug":"libtmux-snapshot"},{"id":"LibTmux.Snapshot.Fixture","publicId":"LibTmux.Snapshot.Fixture","name":"LibTmux.Snapshot.Fixture","kind":"module","modifiers":[],"signatures":[],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"body":"No operation in this module contacts tmux. Named fixture references can\n model successive observations; they never equal a live Server generation.\n Snapshot and live-reference constructors remain hidden.\n Validation checks graph and metadata laws; wire decoding, tmux normalization\n and transport limits belong to acquisition rather than fixture construction.\n\nStart with :obj:`fixtureOrigin ` and :obj:`emptyFixture `, construct ordinary observation\n records using this module's reference builders, then call :obj:`validateFixture `.","summary":"Build validated detached snapshots for pure application tests."},"slug":"libtmux-snapshot-fixture"},{"id":"LibTmux.Value","publicId":"LibTmux.Value","name":"LibTmux.Value","kind":"module","modifiers":[],"signatures":[],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"body":"Construction and access are pure. Window-link indices and pane indices\n have distinct types; neither substitutes for an entity ID. A constructor\n checks the mathematical domain, while command-specific limits belong at\n the operation boundary. Use :obj:`mkDimension `, :obj:`mkWindowIndex ` and :obj:`mkPaneIndex `\n to validate input; their accessors return mathematical integers. Entity\n identifiers belong to :obj:`LibTmux.Id `.\n\n\n\n```haskell\n>>> fmap dimensionValue (mkDimension 120)\nRight 120\n>>> mkDimension 0\nLeft (NonPositiveDimension 0)\n```","summary":"Positive dimensions and nonnegative contextual indices."},"slug":"libtmux-value"},{"id":"LibTmux.Version","publicId":"LibTmux.Version","name":"LibTmux.Version","kind":"module","modifiers":[],"signatures":[],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Version.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"body":"These functions consume supplied text. They neither execute `tmux -V`\n nor contact a server. Admission checks the inclusive 3.3a through 3.8 range;\n individual features still need capability and conformance checks.\n\nUse :obj:`parseVersion ` for input, :obj:`requireSupported ` for supported-range\n admission and :obj:`renderVersion ` for canonical output.\n\n\n\n```haskell\n>>> :set -XOverloadedStrings\n>>> fmap renderVersion (parseVersion \"tmux 3.3a\\n\" >>= requireSupported)\nRight \"3.3a\"\n```","summary":"Parse stable tmux releases and check the supported release range."},"slug":"libtmux-version"},{"id":"LibTmux.Id#t:SessionId","publicId":"LibTmux.Id#t:SessionId","name":"SessionId","qualifiedName":"LibTmux.Id.SessionId","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"SessionId"}],"params":[],"raw":"data SessionId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":45,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A session's unsigned 32-bit tmux identifier, written with a `$` prefix.\n Parse with :obj:`parseSessionId `; render with :obj:`renderSessionId `.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`SessionId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Id.hs#L47))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`SessionId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Id.hs#L46))\n\n- instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`SessionId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Id.hs#L46))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`SessionId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Id.hs#L46))"},"references":[{"target":"LibTmux.Id#t:SessionId","kind":"type"}],"slug":"libtmux-id-t-sessionid"},{"id":"LibTmux.Id#t:WindowId","publicId":"LibTmux.Id#t:WindowId","name":"WindowId","qualifiedName":"LibTmux.Id.WindowId","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"WindowId"}],"params":[],"raw":"data WindowId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":51,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A physical window's identifier, independent of its session links.\n Parse with :obj:`parseWindowId `; render with :obj:`renderWindowId `.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`WindowId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Id.hs#L53))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`WindowId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Id.hs#L52))\n\n- instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`WindowId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Id.hs#L52))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`WindowId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Id.hs#L52))"},"references":[{"target":"LibTmux.Id#t:WindowId","kind":"type"}],"slug":"libtmux-id-t-windowid"},{"id":"LibTmux.Id#t:PaneId","publicId":"LibTmux.Id#t:PaneId","name":"PaneId","qualifiedName":"LibTmux.Id.PaneId","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"PaneId"}],"params":[],"raw":"data PaneId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":57,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A physical pane's identifier, written with a `%` prefix.\n Parse with :obj:`parsePaneId `; render with :obj:`renderPaneId `.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`PaneId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Id.hs#L59))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`PaneId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Id.hs#L58))\n\n- instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`PaneId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Id.hs#L58))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`PaneId ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Id.hs#L58))"},"references":[{"target":"LibTmux.Id#t:PaneId","kind":"type"}],"slug":"libtmux-id-t-paneid"},{"id":"LibTmux.Id#t:IdError","publicId":"LibTmux.Id#t:IdError","name":"IdError","qualifiedName":"LibTmux.Id.IdError","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"IdError"}],"params":[],"raw":"data IdError"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":63,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Invalid canonical syntax, entity prefix or native unsigned range.\n Diagnostics retain at most 64 characters of input.","body":"## Instances\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`IdError ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Id.hs#L67))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`IdError ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Id.hs#L67))"},"references":[{"target":"LibTmux.Id#t:IdError","kind":"type"}],"slug":"libtmux-id-t-iderror"},{"id":"LibTmux.Id#v:InvalidId","publicId":"LibTmux.Id#v:InvalidId","name":"InvalidId","qualifiedName":"LibTmux.Id.InvalidId","namespace":"LibTmux.Id","parent":"LibTmux.Id#t:IdError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"InvalidId"}],"params":[],"raw":"InvalidId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":63,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"slug":"libtmux-id-v-invalidid"},{"id":"LibTmux.Id#v:IdError.expectedPrefix","publicId":"LibTmux.Id#v:IdError.expectedPrefix","name":"expectedPrefix","qualifiedName":"LibTmux.Id.expectedPrefix","namespace":"LibTmux.Id","parent":"LibTmux.Id#t:IdError","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"expectedPrefix"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Char.html#t:Char","text":"Char"}],"params":[],"raw":"expectedPrefix :: !Char"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":64,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Required entity prefix."},"slug":"libtmux-id-v-iderror-expectedprefix"},{"id":"LibTmux.Id#v:IdError.input","publicId":"LibTmux.Id#v:IdError.input","name":"input","qualifiedName":"LibTmux.Id.input","namespace":"LibTmux.Id","parent":"LibTmux.Id#t:IdError","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"input"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"input :: !Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":65,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Bounded copy of the invalid input."},"slug":"libtmux-id-v-iderror-input"},{"id":"LibTmux.Id#v:parseSessionId","publicId":"LibTmux.Id#v:parseSessionId","name":"parseSessionId","qualifiedName":"LibTmux.Id.parseSessionId","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"parseSessionId"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Id.html#t:IdError","target":"LibTmux.Id#t:IdError","text":"IdError"},{"text":" "},{"href":"LibTmux-Id.html#t:SessionId","target":"LibTmux.Id#t:SessionId","text":"SessionId"}],"params":[],"raw":"parseSessionId :: Text -> Either IdError SessionId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":71,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Parse `$0` through `$4294967295`. No whitespace or leading zeroes."},"references":[{"target":"LibTmux.Id#t:IdError","kind":"type"},{"target":"LibTmux.Id#t:SessionId","kind":"type"}],"slug":"libtmux-id-v-parsesessionid"},{"id":"LibTmux.Id#v:parseWindowId","publicId":"LibTmux.Id#v:parseWindowId","name":"parseWindowId","qualifiedName":"LibTmux.Id.parseWindowId","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"parseWindowId"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Id.html#t:IdError","target":"LibTmux.Id#t:IdError","text":"IdError"},{"text":" "},{"href":"LibTmux-Id.html#t:WindowId","target":"LibTmux.Id#t:WindowId","text":"WindowId"}],"params":[],"raw":"parseWindowId :: Text -> Either IdError WindowId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":75,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Parse a canonical `@number` identifying a physical window."},"references":[{"target":"LibTmux.Id#t:IdError","kind":"type"},{"target":"LibTmux.Id#t:WindowId","kind":"type"}],"slug":"libtmux-id-v-parsewindowid"},{"id":"LibTmux.Id#v:parsePaneId","publicId":"LibTmux.Id#v:parsePaneId","name":"parsePaneId","qualifiedName":"LibTmux.Id.parsePaneId","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"parsePaneId"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Id.html#t:IdError","target":"LibTmux.Id#t:IdError","text":"IdError"},{"text":" "},{"href":"LibTmux-Id.html#t:PaneId","target":"LibTmux.Id#t:PaneId","text":"PaneId"}],"params":[],"raw":"parsePaneId :: Text -> Either IdError PaneId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":79,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Parse a canonical `%number` identifying a physical pane."},"references":[{"target":"LibTmux.Id#t:IdError","kind":"type"},{"target":"LibTmux.Id#t:PaneId","kind":"type"}],"slug":"libtmux-id-v-parsepaneid"},{"id":"LibTmux.Id#v:renderSessionId","publicId":"LibTmux.Id#v:renderSessionId","name":"renderSessionId","qualifiedName":"LibTmux.Id.renderSessionId","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"renderSessionId"},{"text":" :: "},{"href":"LibTmux-Id.html#t:SessionId","target":"LibTmux.Id#t:SessionId","text":"SessionId"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"renderSessionId :: SessionId -> Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":83,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Render the session prefix and decimal ID."},"references":[{"target":"LibTmux.Id#t:SessionId","kind":"type"}],"slug":"libtmux-id-v-rendersessionid"},{"id":"LibTmux.Id#v:renderWindowId","publicId":"LibTmux.Id#v:renderWindowId","name":"renderWindowId","qualifiedName":"LibTmux.Id.renderWindowId","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"renderWindowId"},{"text":" :: "},{"href":"LibTmux-Id.html#t:WindowId","target":"LibTmux.Id#t:WindowId","text":"WindowId"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"renderWindowId :: WindowId -> Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":87,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Render the physical window prefix and decimal ID."},"references":[{"target":"LibTmux.Id#t:WindowId","kind":"type"}],"slug":"libtmux-id-v-renderwindowid"},{"id":"LibTmux.Id#v:renderPaneId","publicId":"LibTmux.Id#v:renderPaneId","name":"renderPaneId","qualifiedName":"LibTmux.Id.renderPaneId","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"renderPaneId"},{"text":" :: "},{"href":"LibTmux-Id.html#t:PaneId","target":"LibTmux.Id#t:PaneId","text":"PaneId"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"renderPaneId :: PaneId -> Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":91,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Render the physical pane prefix and decimal ID."},"references":[{"target":"LibTmux.Id#t:PaneId","kind":"type"}],"slug":"libtmux-id-v-renderpaneid"},{"id":"LibTmux.Id#v:sessionIdValue","publicId":"LibTmux.Id#v:sessionIdValue","name":"sessionIdValue","qualifiedName":"LibTmux.Id.sessionIdValue","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"sessionIdValue"},{"text":" :: "},{"href":"LibTmux-Id.html#t:SessionId","target":"LibTmux.Id#t:SessionId","text":"SessionId"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"sessionIdValue :: SessionId -> Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":95,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Read the numeric session ID without narrowing conversion."},"references":[{"target":"LibTmux.Id#t:SessionId","kind":"type"}],"slug":"libtmux-id-v-sessionidvalue"},{"id":"LibTmux.Id#v:windowIdValue","publicId":"LibTmux.Id#v:windowIdValue","name":"windowIdValue","qualifiedName":"LibTmux.Id.windowIdValue","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"windowIdValue"},{"text":" :: "},{"href":"LibTmux-Id.html#t:WindowId","target":"LibTmux.Id#t:WindowId","text":"WindowId"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"windowIdValue :: WindowId -> Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":99,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Read the numeric physical window ID."},"references":[{"target":"LibTmux.Id#t:WindowId","kind":"type"}],"slug":"libtmux-id-v-windowidvalue"},{"id":"LibTmux.Id#v:paneIdValue","publicId":"LibTmux.Id#v:paneIdValue","name":"paneIdValue","qualifiedName":"LibTmux.Id.paneIdValue","namespace":"LibTmux.Id","parent":"LibTmux.Id","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"paneIdValue"},{"text":" :: "},{"href":"LibTmux-Id.html#t:PaneId","target":"LibTmux.Id#t:PaneId","text":"PaneId"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"paneIdValue :: PaneId -> Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Id.hs","line":103,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Read the numeric physical pane ID."},"references":[{"target":"LibTmux.Id#t:PaneId","kind":"type"}],"slug":"libtmux-id-v-paneidvalue"},{"id":"LibTmux.Query#t:Field","publicId":"LibTmux.Query#t:Field","name":"Field","qualifiedName":"LibTmux.Query.Field","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"Field"},{"text":" row value"}],"params":[],"raw":"data Field row value"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Field.hs","line":29,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Fields belong to physical rows or contextual links, never both implicitly."},"slug":"libtmux-query-t-field"},{"id":"LibTmux.Query#t:Expr","publicId":"LibTmux.Query#t:Expr","name":"Expr","qualifiedName":"LibTmux.Query.Expr","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"Expr"},{"text":" row"}],"params":[],"raw":"data Expr row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":100,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A pure predicate description for one row type. Field and relationship\n tokens retain their identity; arbitrary application functions stay outside\n this portable representation. Nominal roles prevent cross-row coercion."},"slug":"libtmux-query-t-expr"},{"id":"LibTmux.Query#t:Query","publicId":"LibTmux.Query#t:Query","name":"Query","qualifiedName":"LibTmux.Query.Query","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"Query"},{"text":" row"}],"params":[],"raw":"data Query row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":120,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A source, predicate, stable ordering and optional final limit. Building a\n query performs no IO and retains no Server handle. Use :obj:`LibTmux.Query ` to evaluate."},"slug":"libtmux-query-t-query"},{"id":"LibTmux.Query#t:Order","publicId":"LibTmux.Query#t:Order","name":"Order","qualifiedName":"LibTmux.Query.Order","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"Order"},{"text":" row"}],"params":[],"raw":"data Order row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"One ascending or descending field ordering. Combine keys with :obj:`orderBy `."},"slug":"libtmux-query-t-order"},{"id":"LibTmux.Query#t:ToMany","publicId":"LibTmux.Query#t:ToMany","name":"ToMany","qualifiedName":"LibTmux.Query.ToMany","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"ToMany"},{"text":" parent child"}],"params":[],"raw":"data ToMany parent child"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":55,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A closed one-to-many relationship. Obtain tokens from the entity field\n modules and use :obj:`some `, :obj:`every ` or :obj:`none `. Constructors are private."},"slug":"libtmux-query-t-tomany"},{"id":"LibTmux.Query#t:ToOne","publicId":"LibTmux.Query#t:ToOne","name":"ToOne","qualifiedName":"LibTmux.Query.ToOne","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"ToOne"},{"text":" parent child"}],"params":[],"raw":"data ToOne parent child"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":63,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A required relationship in a validated graph, used with :obj:`related `."},"slug":"libtmux-query-t-toone"},{"id":"LibTmux.Query#t:ToOptional","publicId":"LibTmux.Query#t:ToOptional","name":"ToOptional","qualifiedName":"LibTmux.Query.ToOptional","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"ToOptional"},{"text":" parent child"}],"params":[],"raw":"data ToOptional parent child"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":75,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"An observed optional relationship, used with :obj:`optionalRelated `.\n Known absence is separate from an unavailable relationship."},"slug":"libtmux-query-t-tooptional"},{"id":"LibTmux.Query#v:sessions","publicId":"LibTmux.Query#v:sessions","name":"sessions","qualifiedName":"LibTmux.Query.sessions","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"sessions"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Query","target":"LibTmux.Query#t:Query","text":"Query"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Session","target":"LibTmux.Snapshot#t:Session","text":"Session"}],"params":[],"raw":"sessions :: Query Session"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":219,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Physical sessions in numeric ID order."},"references":[{"target":"LibTmux.Query#t:Query","kind":"type"},{"target":"LibTmux.Snapshot#t:Session","kind":"type"}],"slug":"libtmux-query-v-sessions"},{"id":"LibTmux.Query#v:windows","publicId":"LibTmux.Query#v:windows","name":"windows","qualifiedName":"LibTmux.Query.windows","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"windows"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Query","target":"LibTmux.Query#t:Query","text":"Query"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Window","target":"LibTmux.Snapshot#t:Window","text":"Window"}],"params":[],"raw":"windows :: Query Window"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":222,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Unique physical windows in numeric ID order, independent of their links."},"references":[{"target":"LibTmux.Query#t:Query","kind":"type"},{"target":"LibTmux.Snapshot#t:Window","kind":"type"}],"slug":"libtmux-query-v-windows"},{"id":"LibTmux.Query#v:panes","publicId":"LibTmux.Query#v:panes","name":"panes","qualifiedName":"LibTmux.Query.panes","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"panes"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Query","target":"LibTmux.Query#t:Query","text":"Query"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Pane","target":"LibTmux.Snapshot#t:Pane","text":"Pane"}],"params":[],"raw":"panes :: Query Pane"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":225,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Unique physical panes in numeric ID order; use :obj:`paneOccurrences ` for context."},"references":[{"target":"LibTmux.Query#t:Query","kind":"type"},{"target":"LibTmux.Snapshot#t:Pane","kind":"type"}],"slug":"libtmux-query-v-panes"},{"id":"LibTmux.Query#v:windowLinks","publicId":"LibTmux.Query#v:windowLinks","name":"windowLinks","qualifiedName":"LibTmux.Query.windowLinks","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"windowLinks"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Query","target":"LibTmux.Query#t:Query","text":"Query"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:WindowLink","target":"LibTmux.Snapshot#t:WindowLink","text":"WindowLink"}],"params":[],"raw":"windowLinks :: Query WindowLink"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":228,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Contextual links in session-ID then window-index order, retaining multiplicity."},"references":[{"target":"LibTmux.Query#t:Query","kind":"type"},{"target":"LibTmux.Snapshot#t:WindowLink","kind":"type"}],"slug":"libtmux-query-v-windowlinks"},{"id":"LibTmux.Query#v:paneOccurrences","publicId":"LibTmux.Query#v:paneOccurrences","name":"paneOccurrences","qualifiedName":"LibTmux.Query.paneOccurrences","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"paneOccurrences"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Query","target":"LibTmux.Query#t:Query","text":"Query"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:PaneOccurrence","target":"LibTmux.Snapshot#t:PaneOccurrence","text":"PaneOccurrence"}],"params":[],"raw":"paneOccurrences :: Query PaneOccurrence"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":231,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Pane appearances in link order, then pane-index order within each window."},"references":[{"target":"LibTmux.Query#t:Query","kind":"type"},{"target":"LibTmux.Snapshot#t:PaneOccurrence","kind":"type"}],"slug":"libtmux-query-v-paneoccurrences"},{"id":"LibTmux.Query#v:clients","publicId":"LibTmux.Query#v:clients","name":"clients","qualifiedName":"LibTmux.Query.clients","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"clients"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Query","target":"LibTmux.Query#t:Query","text":"Query"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Client","target":"LibTmux.Snapshot#t:Client","text":"Client"}],"params":[],"raw":"clients :: Query Client"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":234,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Captured clients in bytewise name order, then PID."},"references":[{"target":"LibTmux.Query#t:Query","kind":"type"},{"target":"LibTmux.Snapshot#t:Client","kind":"type"}],"slug":"libtmux-query-v-clients"},{"id":"LibTmux.Query#v:serverInfo","publicId":"LibTmux.Query#v:serverInfo","name":"serverInfo","qualifiedName":"LibTmux.Query.serverInfo","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"serverInfo"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Query","target":"LibTmux.Query#t:Query","text":"Query"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:ServerInfo","target":"LibTmux.Snapshot#t:ServerInfo","text":"ServerInfo"}],"params":[],"raw":"serverInfo :: Query ServerInfo"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":237,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"The single captured daemon-metadata observation."},"references":[{"target":"LibTmux.Query#t:Query","kind":"type"},{"target":"LibTmux.Snapshot#t:ServerInfo","kind":"type"}],"slug":"libtmux-query-v-serverinfo"},{"id":"LibTmux.Query#v:eq","publicId":"LibTmux.Query#v:eq","name":"eq","qualifiedName":"LibTmux.Query.eq","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"eq"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq","text":"Eq"},{"text":" value => "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" row value -> value -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row"}],"params":[],"raw":"eq :: Eq value => Field row value -> value -> Expr row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":151,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Exact equality in the field's declared type. No Unicode normalization,\n case folding or byte-to-text conversion is implicit."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Query#t:Expr","kind":"type"}],"slug":"libtmux-query-v-eq"},{"id":"LibTmux.Query#v:oneOf","publicId":"LibTmux.Query#v:oneOf","name":"oneOf","qualifiedName":"LibTmux.Query.oneOf","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"oneOf"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq","text":"Eq"},{"text":" value => "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" row value -> [value] -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row"}],"params":[],"raw":"oneOf :: Eq value => Field row value -> [value] -> Expr row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":156,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Membership using exact equality against a finite operand list. An empty\n list never matches, but its field requirement is still validated."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Query#t:Expr","kind":"type"}],"slug":"libtmux-query-v-oneof"},{"id":"LibTmux.Query#v:contains","publicId":"LibTmux.Query#v:contains","name":"contains","qualifiedName":"LibTmux.Query.contains","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"contains"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" row "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"},{"text":" -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row"}],"params":[],"raw":"contains :: Field row Text -> Text -> Expr row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":161,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Exact, case-sensitive Text substring matching. Byte-bearing fields are\n deliberately excluded; use typed equality for their retained values."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Query#t:Expr","kind":"type"}],"slug":"libtmux-query-v-contains"},{"id":"LibTmux.Query#v:ge","publicId":"LibTmux.Query#v:ge","name":"ge","qualifiedName":"LibTmux.Query.ge","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"ge"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" row "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"},{"text":" -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row"}],"params":[],"raw":"ge :: Field row Integer -> Integer -> Expr row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":166,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Compare a mathematical Integer field with an unbounded threshold:\n greater-or-equal, greater, less-or-equal or less, respectively."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Query#t:Expr","kind":"type"}],"slug":"libtmux-query-v-ge"},{"id":"LibTmux.Query#v:gt","publicId":"LibTmux.Query#v:gt","name":"gt","qualifiedName":"LibTmux.Query.gt","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"gt"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" row "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"},{"text":" -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row"}],"params":[],"raw":"gt :: Field row Integer -> Integer -> Expr row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":167,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Compare a mathematical Integer field with an unbounded threshold:\n greater-or-equal, greater, less-or-equal or less, respectively."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Query#t:Expr","kind":"type"}],"slug":"libtmux-query-v-gt"},{"id":"LibTmux.Query#v:le","publicId":"LibTmux.Query#v:le","name":"le","qualifiedName":"LibTmux.Query.le","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"le"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" row "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"},{"text":" -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row"}],"params":[],"raw":"le :: Field row Integer -> Integer -> Expr row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":168,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Compare a mathematical Integer field with an unbounded threshold:\n greater-or-equal, greater, less-or-equal or less, respectively."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Query#t:Expr","kind":"type"}],"slug":"libtmux-query-v-le"},{"id":"LibTmux.Query#v:lt","publicId":"LibTmux.Query#v:lt","name":"lt","qualifiedName":"LibTmux.Query.lt","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"lt"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" row "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"},{"text":" -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row"}],"params":[],"raw":"lt :: Field row Integer -> Integer -> Expr row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":169,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Compare a mathematical Integer field with an unbounded threshold:\n greater-or-equal, greater, less-or-equal or less, respectively."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Query#t:Expr","kind":"type"}],"slug":"libtmux-query-v-lt"},{"id":"LibTmux.Query#v:dimensionAtLeast","publicId":"LibTmux.Query#v:dimensionAtLeast","name":"dimensionAtLeast","qualifiedName":"LibTmux.Query.dimensionAtLeast","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"dimensionAtLeast"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" row "},{"href":"LibTmux-Value.html#t:Dimension","target":"LibTmux.Value#t:Dimension","text":"Dimension"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"},{"text":" -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row"}],"params":[],"raw":"dimensionAtLeast :: Field row Dimension -> Integer -> Expr row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":175,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Compare a positive cell dimension to an Integer threshold, inclusively.\n Negative and arbitrarily large thresholds are valid predicates; they do not\n construct a command dimension. Use :obj:`not_ ` for a strict opposite bound."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Value#t:Dimension","kind":"type"},{"target":"LibTmux.Query#t:Expr","kind":"type"}],"slug":"libtmux-query-v-dimensionatleast"},{"id":"LibTmux.Query#v:dimensionAtMost","publicId":"LibTmux.Query#v:dimensionAtMost","name":"dimensionAtMost","qualifiedName":"LibTmux.Query.dimensionAtMost","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"dimensionAtMost"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" row "},{"href":"LibTmux-Value.html#t:Dimension","target":"LibTmux.Value#t:Dimension","text":"Dimension"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"},{"text":" -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row"}],"params":[],"raw":"dimensionAtMost :: Field row Dimension -> Integer -> Expr row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":176,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Compare a positive cell dimension to an Integer threshold, inclusively.\n Negative and arbitrarily large thresholds are valid predicates; they do not\n construct a command dimension. Use :obj:`not_ ` for a strict opposite bound."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Value#t:Dimension","kind":"type"},{"target":"LibTmux.Query#t:Expr","kind":"type"}],"slug":"libtmux-query-v-dimensionatmost"},{"id":"LibTmux.Query#v:paneIndexAtLeast","publicId":"LibTmux.Query#v:paneIndexAtLeast","name":"paneIndexAtLeast","qualifiedName":"LibTmux.Query.paneIndexAtLeast","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"paneIndexAtLeast"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" row "},{"href":"LibTmux-Value.html#t:PaneIndex","target":"LibTmux.Value#t:PaneIndex","text":"PaneIndex"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"},{"text":" -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row"}],"params":[],"raw":"paneIndexAtLeast :: Field row PaneIndex -> Integer -> Expr row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":180,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Inclusive bounds on a pane index, without narrowing or constructing an index."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Value#t:PaneIndex","kind":"type"},{"target":"LibTmux.Query#t:Expr","kind":"type"}],"slug":"libtmux-query-v-paneindexatleast"},{"id":"LibTmux.Query#v:paneIndexAtMost","publicId":"LibTmux.Query#v:paneIndexAtMost","name":"paneIndexAtMost","qualifiedName":"LibTmux.Query.paneIndexAtMost","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"paneIndexAtMost"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" row "},{"href":"LibTmux-Value.html#t:PaneIndex","target":"LibTmux.Value#t:PaneIndex","text":"PaneIndex"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"},{"text":" -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row"}],"params":[],"raw":"paneIndexAtMost :: Field row PaneIndex -> Integer -> Expr row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":181,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Inclusive bounds on a pane index, without narrowing or constructing an index."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Value#t:PaneIndex","kind":"type"},{"target":"LibTmux.Query#t:Expr","kind":"type"}],"slug":"libtmux-query-v-paneindexatmost"},{"id":"LibTmux.Query#v:windowIndexAtLeast","publicId":"LibTmux.Query#v:windowIndexAtLeast","name":"windowIndexAtLeast","qualifiedName":"LibTmux.Query.windowIndexAtLeast","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"windowIndexAtLeast"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" row "},{"href":"LibTmux-Value.html#t:WindowIndex","target":"LibTmux.Value#t:WindowIndex","text":"WindowIndex"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"},{"text":" -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row"}],"params":[],"raw":"windowIndexAtLeast :: Field row WindowIndex -> Integer -> Expr row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":185,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Inclusive bounds on a contextual window index, using Integer thresholds."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Value#t:WindowIndex","kind":"type"},{"target":"LibTmux.Query#t:Expr","kind":"type"}],"slug":"libtmux-query-v-windowindexatleast"},{"id":"LibTmux.Query#v:windowIndexAtMost","publicId":"LibTmux.Query#v:windowIndexAtMost","name":"windowIndexAtMost","qualifiedName":"LibTmux.Query.windowIndexAtMost","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"windowIndexAtMost"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" row "},{"href":"LibTmux-Value.html#t:WindowIndex","target":"LibTmux.Value#t:WindowIndex","text":"WindowIndex"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"},{"text":" -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row"}],"params":[],"raw":"windowIndexAtMost :: Field row WindowIndex -> Integer -> Expr row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":186,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Inclusive bounds on a contextual window index, using Integer thresholds."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Value#t:WindowIndex","kind":"type"},{"target":"LibTmux.Query#t:Expr","kind":"type"}],"slug":"libtmux-query-v-windowindexatmost"},{"id":"LibTmux.Query#v:allOf","publicId":"LibTmux.Query#v:allOf","name":"allOf","qualifiedName":"LibTmux.Query.allOf","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"allOf"},{"text":" :: ["},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row] -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row"}],"params":[],"raw":"allOf :: [Expr row] -> Expr row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":191,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Finite conjunction and disjunction. Empty lists mean True and False,\n respectively. Validation checks every branch before evaluation short-circuits."},"references":[{"target":"LibTmux.Query#t:Expr","kind":"type"}],"slug":"libtmux-query-v-allof"},{"id":"LibTmux.Query#v:anyOf","publicId":"LibTmux.Query#v:anyOf","name":"anyOf","qualifiedName":"LibTmux.Query.anyOf","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"anyOf"},{"text":" :: ["},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row] -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row"}],"params":[],"raw":"anyOf :: [Expr row] -> Expr row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":192,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Finite conjunction and disjunction. Empty lists mean True and False,\n respectively. Validation checks every branch before evaluation short-circuits."},"references":[{"target":"LibTmux.Query#t:Expr","kind":"type"}],"slug":"libtmux-query-v-anyof"},{"id":"LibTmux.Query#v:not_","publicId":"LibTmux.Query#v:not_","name":"not_","qualifiedName":"LibTmux.Query.not_","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"not_"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row"}],"params":[],"raw":"not_ :: Expr row -> Expr row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":196,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Logical negation, preserving the expression's validation requirements."},"references":[{"target":"LibTmux.Query#t:Expr","kind":"type"}],"slug":"libtmux-query-v-not_"},{"id":"LibTmux.Query#v:some","publicId":"LibTmux.Query#v:some","name":"some","qualifiedName":"LibTmux.Query.some","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"some"},{"text":" :: "},{"href":"LibTmux-Query.html#t:ToMany","target":"LibTmux.Query#t:ToMany","text":"ToMany"},{"text":" row child -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" child -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row"}],"params":[],"raw":"some :: ToMany row child -> Expr child -> Expr row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":203,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Existential, universal or absent matching children. A known empty\n relationship yields False, True or True, respectively. The child expression\n applies to one child at a time; put conditions inside one :obj:`allOf ` when the\n same child must satisfy them. Unavailable relationships remain errors."},"references":[{"target":"LibTmux.Query#t:ToMany","kind":"type"},{"target":"LibTmux.Query#t:Expr","kind":"type"}],"slug":"libtmux-query-v-some"},{"id":"LibTmux.Query#v:every","publicId":"LibTmux.Query#v:every","name":"every","qualifiedName":"LibTmux.Query.every","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"every"},{"text":" :: "},{"href":"LibTmux-Query.html#t:ToMany","target":"LibTmux.Query#t:ToMany","text":"ToMany"},{"text":" row child -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" child -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row"}],"params":[],"raw":"every :: ToMany row child -> Expr child -> Expr row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":204,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Existential, universal or absent matching children. A known empty\n relationship yields False, True or True, respectively. The child expression\n applies to one child at a time; put conditions inside one :obj:`allOf ` when the\n same child must satisfy them. Unavailable relationships remain errors."},"references":[{"target":"LibTmux.Query#t:ToMany","kind":"type"},{"target":"LibTmux.Query#t:Expr","kind":"type"}],"slug":"libtmux-query-v-every"},{"id":"LibTmux.Query#v:none","publicId":"LibTmux.Query#v:none","name":"none","qualifiedName":"LibTmux.Query.none","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"none"},{"text":" :: "},{"href":"LibTmux-Query.html#t:ToMany","target":"LibTmux.Query#t:ToMany","text":"ToMany"},{"text":" row child -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" child -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row"}],"params":[],"raw":"none :: ToMany row child -> Expr child -> Expr row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":205,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Existential, universal or absent matching children. A known empty\n relationship yields False, True or True, respectively. The child expression\n applies to one child at a time; put conditions inside one :obj:`allOf ` when the\n same child must satisfy them. Unavailable relationships remain errors."},"references":[{"target":"LibTmux.Query#t:ToMany","kind":"type"},{"target":"LibTmux.Query#t:Expr","kind":"type"}],"slug":"libtmux-query-v-none"},{"id":"LibTmux.Query#v:related","publicId":"LibTmux.Query#v:related","name":"related","qualifiedName":"LibTmux.Query.related","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"related"},{"text":" :: "},{"href":"LibTmux-Query.html#t:ToOne","target":"LibTmux.Query#t:ToOne","text":"ToOne"},{"text":" row child -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" child -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row"}],"params":[],"raw":"related :: ToOne row child -> Expr child -> Expr row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":210,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Test the required related observation in the supplied snapshot.\n A failed lookup returns :obj:`RelationshipLookupFailed `, never False or absence."},"references":[{"target":"LibTmux.Query#t:ToOne","kind":"type"},{"target":"LibTmux.Query#t:Expr","kind":"type"}],"slug":"libtmux-query-v-related"},{"id":"LibTmux.Query#v:optionalRelated","publicId":"LibTmux.Query#v:optionalRelated","name":"optionalRelated","qualifiedName":"LibTmux.Query.optionalRelated","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"optionalRelated"},{"text":" :: "},{"href":"LibTmux-Query.html#t:ToOptional","target":"LibTmux.Query#t:ToOptional","text":"ToOptional"},{"text":" row child -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" child -> "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row"}],"params":[],"raw":"optionalRelated :: ToOptional row child -> Expr child -> Expr row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":215,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Test a known optional target. Absence yields False, so negation includes\n absence as well as targets that fail the child predicate."},"references":[{"target":"LibTmux.Query#t:ToOptional","kind":"type"},{"target":"LibTmux.Query#t:Expr","kind":"type"}],"slug":"libtmux-query-v-optionalrelated"},{"id":"LibTmux.Query#v:matching","publicId":"LibTmux.Query#v:matching","name":"matching","qualifiedName":"LibTmux.Query.matching","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"matching"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Expr","target":"LibTmux.Query#t:Expr","text":"Expr"},{"text":" row -> "},{"href":"LibTmux-Query.html#t:Query","target":"LibTmux.Query#t:Query","text":"Query"},{"text":" row -> "},{"href":"LibTmux-Query.html#t:Query","target":"LibTmux.Query#t:Query","text":"Query"},{"text":" row"}],"params":[],"raw":"matching :: Expr row -> Query row -> Query row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":241,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Conjoin a predicate with existing predicates without changing the source."},"references":[{"target":"LibTmux.Query#t:Expr","kind":"type"},{"target":"LibTmux.Query#t:Query","kind":"type"}],"slug":"libtmux-query-v-matching"},{"id":"LibTmux.Query#v:orderBy","publicId":"LibTmux.Query#v:orderBy","name":"orderBy","qualifiedName":"LibTmux.Query.orderBy","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"orderBy"},{"text":" :: ["},{"href":"LibTmux-Query.html#t:Order","target":"LibTmux.Query#t:Order","text":"Order"},{"text":" row] -> "},{"href":"LibTmux-Query.html#t:Query","target":"LibTmux.Query#t:Query","text":"Query"},{"text":" row -> "},{"href":"LibTmux-Query.html#t:Query","target":"LibTmux.Query#t:Query","text":"Query"},{"text":" row"}],"params":[],"raw":"orderBy :: [Order row] -> Query row -> Query row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":247,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Replace the ordering keys. Sorting is stable and follows filtering;\n an empty key list retains source order. Limits are always applied afterward."},"references":[{"target":"LibTmux.Query#t:Order","kind":"type"},{"target":"LibTmux.Query#t:Query","kind":"type"}],"slug":"libtmux-query-v-orderby"},{"id":"LibTmux.Query#v:ascending","publicId":"LibTmux.Query#v:ascending","name":"ascending","qualifiedName":"LibTmux.Query.ascending","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"ascending"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord","text":"Ord"},{"text":" value => "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" row value -> "},{"href":"LibTmux-Query.html#t:Order","target":"LibTmux.Query#t:Order","text":"Order"},{"text":" row"}],"params":[],"raw":"ascending :: Ord value => Field row value -> Order row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":252,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Order by the declared field's Ord instance in ascending or descending order.\n Text and byte-bearing types retain their own comparison semantics."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Query#t:Order","kind":"type"}],"slug":"libtmux-query-v-ascending"},{"id":"LibTmux.Query#v:descending","publicId":"LibTmux.Query#v:descending","name":"descending","qualifiedName":"LibTmux.Query.descending","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"descending"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord","text":"Ord"},{"text":" value => "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" row value -> "},{"href":"LibTmux-Query.html#t:Order","target":"LibTmux.Query#t:Order","text":"Order"},{"text":" row"}],"params":[],"raw":"descending :: Ord value => Field row value -> Order row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":253,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Order by the declared field's Ord instance in ascending or descending order.\n Text and byte-bearing types retain their own comparison semantics."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Query#t:Order","kind":"type"}],"slug":"libtmux-query-v-descending"},{"id":"LibTmux.Query#v:limit","publicId":"LibTmux.Query#v:limit","name":"limit","qualifiedName":"LibTmux.Query.limit","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"limit"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/GHC-TypeLits.html#t:Natural","text":"Natural"},{"text":" -> "},{"href":"LibTmux-Query.html#t:Query","target":"LibTmux.Query#t:Query","text":"Query"},{"text":" row -> "},{"href":"LibTmux-Query.html#t:Query","target":"LibTmux.Query#t:Query","text":"Query"},{"text":" row"}],"params":[],"raw":"limit :: Natural -> Query row -> Query row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":258,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Replace the final nonnegative limit, applied after filtering and ordering\n regardless of builder order. A zero limit still validates every requirement."},"references":[{"target":"LibTmux.Query#t:Query","kind":"type"}],"slug":"libtmux-query-v-limit"},{"id":"LibTmux.Query#t:QueryRequirements","publicId":"LibTmux.Query#t:QueryRequirements","name":"QueryRequirements","qualifiedName":"LibTmux.Query.QueryRequirements","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"QueryRequirements"}],"params":[],"raw":"data QueryRequirements"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":133,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Inspectable dependencies, not a serialized query or an optimization plan.","body":"## Instances\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`QueryRequirements ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Query.hs#L140))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`QueryRequirements ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Query.hs#L140))"},"references":[{"target":"LibTmux.Query#t:QueryRequirements","kind":"type"}],"slug":"libtmux-query-t-queryrequirements"},{"id":"LibTmux.Query#v:QueryRequirements","publicId":"LibTmux.Query#v:QueryRequirements","name":"QueryRequirements","qualifiedName":"LibTmux.Query.QueryRequirements","namespace":"LibTmux.Query","parent":"LibTmux.Query#t:QueryRequirements","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"QueryRequirements"}],"params":[],"raw":"QueryRequirements"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":133,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"slug":"libtmux-query-v-queryrequirements"},{"id":"LibTmux.Query#v:QueryRequirements.sourceName","publicId":"LibTmux.Query#v:QueryRequirements.sourceName","name":"sourceName","qualifiedName":"LibTmux.Query.sourceName","namespace":"LibTmux.Query","parent":"LibTmux.Query#t:QueryRequirements","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"sourceName"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"sourceName :: !Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":134,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Stable name of the ordered root source."},"slug":"libtmux-query-v-queryrequirements-sourcename"},{"id":"LibTmux.Query#v:QueryRequirements.fieldNames","publicId":"LibTmux.Query#v:QueryRequirements.fieldNames","name":"fieldNames","qualifiedName":"LibTmux.Query.fieldNames","namespace":"LibTmux.Query","parent":"LibTmux.Query#t:QueryRequirements","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"fieldNames"},{"text":" :: !["},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"},{"text":"]"}],"params":[],"raw":"fieldNames :: ![Text]"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":135,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Sorted, deduplicated fields, including ordering keys."},"slug":"libtmux-query-v-queryrequirements-fieldnames"},{"id":"LibTmux.Query#v:QueryRequirements.relationshipNames","publicId":"LibTmux.Query#v:QueryRequirements.relationshipNames","name":"relationshipNames","qualifiedName":"LibTmux.Query.relationshipNames","namespace":"LibTmux.Query","parent":"LibTmux.Query#t:QueryRequirements","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"relationshipNames"},{"text":" :: !["},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"},{"text":"]"}],"params":[],"raw":"relationshipNames :: ![Text]"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":136,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Sorted, deduplicated relationships at every nesting depth."},"slug":"libtmux-query-v-queryrequirements-relationshipnames"},{"id":"LibTmux.Query#v:QueryRequirements.orderingFields","publicId":"LibTmux.Query#v:QueryRequirements.orderingFields","name":"orderingFields","qualifiedName":"LibTmux.Query.orderingFields","namespace":"LibTmux.Query","parent":"LibTmux.Query#t:QueryRequirements","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"orderingFields"},{"text":" :: !["},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"},{"text":"]"}],"params":[],"raw":"orderingFields :: ![Text]"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":137,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Ordering field keys in their specified priority order."},"slug":"libtmux-query-v-queryrequirements-orderingfields"},{"id":"LibTmux.Query#v:QueryRequirements.rowLimit","publicId":"LibTmux.Query#v:QueryRequirements.rowLimit","name":"rowLimit","qualifiedName":"LibTmux.Query.rowLimit","namespace":"LibTmux.Query","parent":"LibTmux.Query#t:QueryRequirements","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"rowLimit"},{"text":" :: !("},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe","text":"Maybe"},{"text":" "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/GHC-TypeLits.html#t:Natural","text":"Natural"},{"text":")"}],"params":[],"raw":"rowLimit :: !(Maybe Natural)"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":138,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Final limit, or [Nothing](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#v:Nothing) for no limit."},"slug":"libtmux-query-v-queryrequirements-rowlimit"},{"id":"LibTmux.Query#v:requirements","publicId":"LibTmux.Query#v:requirements","name":"requirements","qualifiedName":"LibTmux.Query.requirements","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"requirements"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Query","target":"LibTmux.Query#t:Query","text":"Query"},{"text":" row -> "},{"href":"LibTmux-Query.html#t:QueryRequirements","target":"LibTmux.Query#t:QueryRequirements","text":"QueryRequirements"}],"params":[],"raw":"requirements :: Query row -> QueryRequirements"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":275,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Collect every declared field and relationship, including ordering and\n branches that may short-circuit. This is pure and does not contact tmux."},"references":[{"target":"LibTmux.Query#t:Query","kind":"type"},{"target":"LibTmux.Query#t:QueryRequirements","kind":"type"}],"slug":"libtmux-query-v-requirements"},{"id":"LibTmux.Query#t:QueryError","publicId":"LibTmux.Query#t:QueryError","name":"QueryError","qualifiedName":"LibTmux.Query.QueryError","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"QueryError"}],"params":[],"raw":"data QueryError"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":124,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Pure validation or navigation failure. Operational acquisition failures\n remain exceptions at the Server boundary rather than becoming empty results.","body":"## Instances\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`QueryError ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Query.hs#L130))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`QueryError ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Query.hs#L130))"},"references":[{"target":"LibTmux.Query#t:QueryError","kind":"type"}],"slug":"libtmux-query-t-queryerror"},{"id":"LibTmux.Query#v:FieldUnavailable","publicId":"LibTmux.Query#v:FieldUnavailable","name":"FieldUnavailable","qualifiedName":"LibTmux.Query.FieldUnavailable","namespace":"LibTmux.Query","parent":"LibTmux.Query#t:QueryError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"FieldUnavailable"},{"text":" !"},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"FieldUnavailable !Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":125,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Stable field key unavailable to the evaluator."},"slug":"libtmux-query-v-fieldunavailable"},{"id":"LibTmux.Query#v:RelationshipUnavailable","publicId":"LibTmux.Query#v:RelationshipUnavailable","name":"RelationshipUnavailable","qualifiedName":"LibTmux.Query.RelationshipUnavailable","namespace":"LibTmux.Query","parent":"LibTmux.Query#t:QueryError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"RelationshipUnavailable"},{"text":" !"},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"RelationshipUnavailable !Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":126,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Stable relationship key unavailable to the evaluator."},"slug":"libtmux-query-v-relationshipunavailable"},{"id":"LibTmux.Query#v:RequiresTmux","publicId":"LibTmux.Query#v:RequiresTmux","name":"RequiresTmux","qualifiedName":"LibTmux.Query.RequiresTmux","namespace":"LibTmux.Query","parent":"LibTmux.Query#t:QueryError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"RequiresTmux"},{"text":" !"},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"},{"text":" !"},{"href":"LibTmux-Version.html#t:TmuxVersion","target":"LibTmux.Version#t:TmuxVersion","text":"TmuxVersion"},{"text":" !"},{"href":"LibTmux-Version.html#t:TmuxVersion","target":"LibTmux.Version#t:TmuxVersion","text":"TmuxVersion"}],"params":[],"raw":"RequiresTmux !Text !TmuxVersion !TmuxVersion"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":127,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Field, required release and observed release."},"references":[{"target":"LibTmux.Version#t:TmuxVersion","kind":"type"}],"slug":"libtmux-query-v-requirestmux"},{"id":"LibTmux.Query#v:InvalidFieldRequirement","publicId":"LibTmux.Query#v:InvalidFieldRequirement","name":"InvalidFieldRequirement","qualifiedName":"LibTmux.Query.InvalidFieldRequirement","namespace":"LibTmux.Query","parent":"LibTmux.Query#t:QueryError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"InvalidFieldRequirement"},{"text":" !"},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"InvalidFieldRequirement !Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":128,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A catalogue entry has invalid version metadata."},"slug":"libtmux-query-v-invalidfieldrequirement"},{"id":"LibTmux.Query#v:RelationshipLookupFailed","publicId":"LibTmux.Query#v:RelationshipLookupFailed","name":"RelationshipLookupFailed","qualifiedName":"LibTmux.Query.RelationshipLookupFailed","namespace":"LibTmux.Query","parent":"LibTmux.Query#t:QueryError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"RelationshipLookupFailed"},{"text":" !"},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"},{"text":" !"},{"href":"LibTmux-Snapshot.html#t:LookupError","target":"LibTmux.Snapshot#t:LookupError","text":"LookupError"}],"params":[],"raw":"RelationshipLookupFailed !Text !LookupError"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":129,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Relationship key and the failed pure lookup."},"references":[{"target":"LibTmux.Snapshot#t:LookupError","kind":"type"}],"slug":"libtmux-query-v-relationshiplookupfailed"},{"id":"LibTmux.Query#v:runQuery","publicId":"LibTmux.Query#v:runQuery","name":"runQuery","qualifiedName":"LibTmux.Query.runQuery","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"runQuery"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:Snapshot","target":"LibTmux.Snapshot#t:Snapshot","text":"Snapshot"},{"text":" -> "},{"href":"LibTmux-Query.html#t:Query","target":"LibTmux.Query#t:Query","text":"Query"},{"text":" row -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Query.html#t:QueryError","target":"LibTmux.Query#t:QueryError","text":"QueryError"},{"text":" [row]"}],"params":[],"raw":"runQuery :: Snapshot -> Query row -> Either QueryError [row]"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query.hs","line":70,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Validate and evaluate against the supplied complete snapshot. Every\n requirement is checked before reading rows, including empty sources and\n zero limits. Consuming a successful result performs only pure processing\n of owned observations. No acquisition, pushdown or refresh occurs."},"references":[{"target":"LibTmux.Snapshot#t:Snapshot","kind":"type"},{"target":"LibTmux.Query#t:Query","kind":"type"},{"target":"LibTmux.Query#t:QueryError","kind":"type"}],"slug":"libtmux-query-v-runquery"},{"id":"LibTmux.Query#v:fetch","publicId":"LibTmux.Query#v:fetch","name":"fetch","qualifiedName":"LibTmux.Query.fetch","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"fetch"},{"text":" :: "},{"href":"LibTmux-Server.html#t:Server","target":"LibTmux.Server#t:Server","text":"Server"},{"text":" -> "},{"href":"LibTmux-Query.html#t:Query","target":"LibTmux.Query#t:Query","text":"Query"},{"text":" row -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO","text":"IO"},{"text":" ("},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Query.html#t:QueryError","target":"LibTmux.Query#t:QueryError","text":"QueryError"},{"text":" [row])"}],"params":[],"raw":"fetch :: Server -> Query row -> IO (Either QueryError [row])"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query.hs","line":82,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"body":"This performs one acquisition per call, even when the query is reused or\n has a zero limit. Use :obj:`runQuery ` to reuse an existing :obj:`Snapshot `. No filter\n is pushed into tmux in this implementation.","summary":"Acquire a complete fresh snapshot and evaluate the query against it.\n Compiled evaluator support is checked before IO; version requirements are\n checked against acquired server metadata. Operational failures propagate\n as exceptions from :obj:`capture `; use :obj:`tryTmux ` to retain their\n context and recovery owners. Cancellation propagates unchanged."},"references":[{"target":"LibTmux.Server#t:Server","kind":"type"},{"target":"LibTmux.Query#t:Query","kind":"type"},{"target":"LibTmux.Query#t:QueryError","kind":"type"}],"slug":"libtmux-query-v-fetch"},{"id":"LibTmux.Query#t:CardinalityError","publicId":"LibTmux.Query#t:CardinalityError","name":"CardinalityError","qualifiedName":"LibTmux.Query.CardinalityError","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"CardinalityError"}],"params":[],"raw":"data CardinalityError"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":33,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Selection cardinality without retaining observations or counting ambiguity.","body":"## Instances\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`CardinalityError ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Query.hs#L36))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`CardinalityError ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Query.hs#L36))"},"references":[{"target":"LibTmux.Query#t:CardinalityError","kind":"type"}],"slug":"libtmux-query-t-cardinalityerror"},{"id":"LibTmux.Query#v:NoMatches","publicId":"LibTmux.Query#v:NoMatches","name":"NoMatches","qualifiedName":"LibTmux.Query.NoMatches","namespace":"LibTmux.Query","parent":"LibTmux.Query#t:CardinalityError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"NoMatches"}],"params":[],"raw":"NoMatches"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":34,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"The selection is empty where one value was required."},"slug":"libtmux-query-v-nomatches"},{"id":"LibTmux.Query#v:AtLeastTwoMatches","publicId":"LibTmux.Query#v:AtLeastTwoMatches","name":"AtLeastTwoMatches","qualifiedName":"LibTmux.Query.AtLeastTwoMatches","namespace":"LibTmux.Query","parent":"LibTmux.Query#t:CardinalityError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"AtLeastTwoMatches"}],"params":[],"raw":"AtLeastTwoMatches"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":35,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A second match exists; no complete count is computed."},"slug":"libtmux-query-v-atleasttwomatches"},{"id":"LibTmux.Query#v:exactlyOne","publicId":"LibTmux.Query#v:exactlyOne","name":"exactlyOne","qualifiedName":"LibTmux.Query.exactlyOne","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"exactlyOne"},{"text":" :: [row] -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Query.html#t:CardinalityError","target":"LibTmux.Query#t:CardinalityError","text":"CardinalityError"},{"text":" row"}],"params":[],"raw":"exactlyOne :: [row] -> Either CardinalityError row"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":42,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Require exactly one value. Uniqueness can require traversing the entire\n input; ambiguity is established at the second match without forcing its tail.\n This neither acquires data nor reserves a live command target."},"references":[{"target":"LibTmux.Query#t:CardinalityError","kind":"type"}],"slug":"libtmux-query-v-exactlyone"},{"id":"LibTmux.Query#v:atMostOne","publicId":"LibTmux.Query#v:atMostOne","name":"atMostOne","qualifiedName":"LibTmux.Query.atMostOne","namespace":"LibTmux.Query","parent":"LibTmux.Query","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"atMostOne"},{"text":" :: [row] -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Query.html#t:CardinalityError","target":"LibTmux.Query#t:CardinalityError","text":"CardinalityError"},{"text":" ("},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe","text":"Maybe"},{"text":" row)"}],"params":[],"raw":"atMostOne :: [row] -> Either CardinalityError (Maybe row)"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Query.hs","line":49,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Permit absence but reject a second match, with the same traversal behavior\n as :obj:`exactlyOne `. Use ordinary `listToMaybe` when choosing the first is intended."},"references":[{"target":"LibTmux.Query#t:CardinalityError","kind":"type"}],"slug":"libtmux-query-v-atmostone"},{"id":"LibTmux.Query.Client#v:name","publicId":"LibTmux.Query.Client#v:name","name":"name","qualifiedName":"LibTmux.Query.Client.name","namespace":"LibTmux.Query.Client","parent":"LibTmux.Query.Client","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"name"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Client","target":"LibTmux.Snapshot#t:Client","text":"Client"},{"text":" "},{"href":"https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixString","text":"PosixString"}],"params":[],"raw":"name :: Field Client PosixString"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Client.hs","line":17,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Lossless client name supplied by tmux."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:Client","kind":"type"}],"slug":"libtmux-query-client-v-name"},{"id":"LibTmux.Query.Client#v:pid","publicId":"LibTmux.Query.Client#v:pid","name":"pid","qualifiedName":"LibTmux.Query.Client.pid","namespace":"LibTmux.Query.Client","parent":"LibTmux.Query.Client","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"pid"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Client","target":"LibTmux.Snapshot#t:Client","text":"Client"},{"text":" "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"pid :: Field Client Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Client.hs","line":21,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Positive operating-system process ID, for observation rather than signalling."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:Client","kind":"type"}],"slug":"libtmux-query-client-v-pid"},{"id":"LibTmux.Query.Client#v:tty","publicId":"LibTmux.Query.Client#v:tty","name":"tty","qualifiedName":"LibTmux.Query.Client.tty","namespace":"LibTmux.Query.Client","parent":"LibTmux.Query.Client","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"tty"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Client","target":"LibTmux.Snapshot#t:Client","text":"Client"},{"text":" ("},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe","text":"Maybe"},{"text":" "},{"href":"https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath","text":"PosixPath"},{"text":")"}],"params":[],"raw":"tty :: Field Client (Maybe PosixPath)"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Client.hs","line":25,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Observed client tty, or [Nothing](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#v:Nothing) when tmux reports no tty."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:Client","kind":"type"}],"slug":"libtmux-query-client-v-tty"},{"id":"LibTmux.Query.Client#v:attachment","publicId":"LibTmux.Query.Client#v:attachment","name":"attachment","qualifiedName":"LibTmux.Query.Client.attachment","namespace":"LibTmux.Query.Client","parent":"LibTmux.Query.Client","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"attachment"},{"text":" :: "},{"href":"LibTmux-Query.html#t:ToOptional","target":"LibTmux.Query#t:ToOptional","text":"ToOptional"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Client","target":"LibTmux.Snapshot#t:Client","text":"Client"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:ClientAttachment","target":"LibTmux.Snapshot#t:ClientAttachment","text":"ClientAttachment"}],"params":[],"raw":"attachment :: ToOptional Client ClientAttachment"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Client.hs","line":30,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Optional captured selection, used with :obj:`optionalRelated `. Absence fails\n that positive predicate and satisfies its negation."},"references":[{"target":"LibTmux.Query#t:ToOptional","kind":"type"},{"target":"LibTmux.Snapshot#t:Client","kind":"type"},{"target":"LibTmux.Snapshot#t:ClientAttachment","kind":"type"}],"slug":"libtmux-query-client-v-attachment"},{"id":"LibTmux.Query.ClientAttachment#v:sessionId","publicId":"LibTmux.Query.ClientAttachment#v:sessionId","name":"sessionId","qualifiedName":"LibTmux.Query.ClientAttachment.sessionId","namespace":"LibTmux.Query.ClientAttachment","parent":"LibTmux.Query.ClientAttachment","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"sessionId"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:ClientAttachment","target":"LibTmux.Snapshot#t:ClientAttachment","text":"ClientAttachment"},{"text":" "},{"href":"LibTmux-Id.html#t:SessionId","target":"LibTmux.Id#t:SessionId","text":"SessionId"}],"params":[],"raw":"sessionId :: Field ClientAttachment SessionId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/ClientAttachment.hs","line":19,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Native ID of the selected session."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:ClientAttachment","kind":"type"},{"target":"LibTmux.Id#t:SessionId","kind":"type"}],"slug":"libtmux-query-clientattachment-v-sessionid"},{"id":"LibTmux.Query.ClientAttachment#v:windowId","publicId":"LibTmux.Query.ClientAttachment#v:windowId","name":"windowId","qualifiedName":"LibTmux.Query.ClientAttachment.windowId","namespace":"LibTmux.Query.ClientAttachment","parent":"LibTmux.Query.ClientAttachment","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"windowId"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:ClientAttachment","target":"LibTmux.Snapshot#t:ClientAttachment","text":"ClientAttachment"},{"text":" "},{"href":"LibTmux-Id.html#t:WindowId","target":"LibTmux.Id#t:WindowId","text":"WindowId"}],"params":[],"raw":"windowId :: Field ClientAttachment WindowId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/ClientAttachment.hs","line":23,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Native ID of the selected physical window."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:ClientAttachment","kind":"type"},{"target":"LibTmux.Id#t:WindowId","kind":"type"}],"slug":"libtmux-query-clientattachment-v-windowid"},{"id":"LibTmux.Query.ClientAttachment#v:windowIndex","publicId":"LibTmux.Query.ClientAttachment#v:windowIndex","name":"windowIndex","qualifiedName":"LibTmux.Query.ClientAttachment.windowIndex","namespace":"LibTmux.Query.ClientAttachment","parent":"LibTmux.Query.ClientAttachment","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"windowIndex"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:ClientAttachment","target":"LibTmux.Snapshot#t:ClientAttachment","text":"ClientAttachment"},{"text":" "},{"href":"LibTmux-Value.html#t:WindowIndex","target":"LibTmux.Value#t:WindowIndex","text":"WindowIndex"}],"params":[],"raw":"windowIndex :: Field ClientAttachment WindowIndex"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/ClientAttachment.hs","line":27,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Selected link index in the client's session."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:ClientAttachment","kind":"type"},{"target":"LibTmux.Value#t:WindowIndex","kind":"type"}],"slug":"libtmux-query-clientattachment-v-windowindex"},{"id":"LibTmux.Query.ClientAttachment#v:paneId","publicId":"LibTmux.Query.ClientAttachment#v:paneId","name":"paneId","qualifiedName":"LibTmux.Query.ClientAttachment.paneId","namespace":"LibTmux.Query.ClientAttachment","parent":"LibTmux.Query.ClientAttachment","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"paneId"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:ClientAttachment","target":"LibTmux.Snapshot#t:ClientAttachment","text":"ClientAttachment"},{"text":" "},{"href":"LibTmux-Id.html#t:PaneId","target":"LibTmux.Id#t:PaneId","text":"PaneId"}],"params":[],"raw":"paneId :: Field ClientAttachment PaneId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/ClientAttachment.hs","line":31,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Native ID of the selected physical pane."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:ClientAttachment","kind":"type"},{"target":"LibTmux.Id#t:PaneId","kind":"type"}],"slug":"libtmux-query-clientattachment-v-paneid"},{"id":"LibTmux.Query.ClientAttachment#v:session","publicId":"LibTmux.Query.ClientAttachment#v:session","name":"session","qualifiedName":"LibTmux.Query.ClientAttachment.session","namespace":"LibTmux.Query.ClientAttachment","parent":"LibTmux.Query.ClientAttachment","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"session"},{"text":" :: "},{"href":"LibTmux-Query.html#t:ToOne","target":"LibTmux.Query#t:ToOne","text":"ToOne"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:ClientAttachment","target":"LibTmux.Snapshot#t:ClientAttachment","text":"ClientAttachment"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Session","target":"LibTmux.Snapshot#t:Session","text":"Session"}],"params":[],"raw":"session :: ToOne ClientAttachment Session"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/ClientAttachment.hs","line":35,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Selected session observation, used with :obj:`related `."},"references":[{"target":"LibTmux.Query#t:ToOne","kind":"type"},{"target":"LibTmux.Snapshot#t:ClientAttachment","kind":"type"},{"target":"LibTmux.Snapshot#t:Session","kind":"type"}],"slug":"libtmux-query-clientattachment-v-session"},{"id":"LibTmux.Query.ClientAttachment#v:window","publicId":"LibTmux.Query.ClientAttachment#v:window","name":"window","qualifiedName":"LibTmux.Query.ClientAttachment.window","namespace":"LibTmux.Query.ClientAttachment","parent":"LibTmux.Query.ClientAttachment","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"window"},{"text":" :: "},{"href":"LibTmux-Query.html#t:ToOne","target":"LibTmux.Query#t:ToOne","text":"ToOne"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:ClientAttachment","target":"LibTmux.Snapshot#t:ClientAttachment","text":"ClientAttachment"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Window","target":"LibTmux.Snapshot#t:Window","text":"Window"}],"params":[],"raw":"window :: ToOne ClientAttachment Window"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/ClientAttachment.hs","line":39,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Selected physical window observation."},"references":[{"target":"LibTmux.Query#t:ToOne","kind":"type"},{"target":"LibTmux.Snapshot#t:ClientAttachment","kind":"type"},{"target":"LibTmux.Snapshot#t:Window","kind":"type"}],"slug":"libtmux-query-clientattachment-v-window"},{"id":"LibTmux.Query.ClientAttachment#v:pane","publicId":"LibTmux.Query.ClientAttachment#v:pane","name":"pane","qualifiedName":"LibTmux.Query.ClientAttachment.pane","namespace":"LibTmux.Query.ClientAttachment","parent":"LibTmux.Query.ClientAttachment","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"pane"},{"text":" :: "},{"href":"LibTmux-Query.html#t:ToOne","target":"LibTmux.Query#t:ToOne","text":"ToOne"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:ClientAttachment","target":"LibTmux.Snapshot#t:ClientAttachment","text":"ClientAttachment"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:PaneOccurrence","target":"LibTmux.Snapshot#t:PaneOccurrence","text":"PaneOccurrence"}],"params":[],"raw":"pane :: ToOne ClientAttachment PaneOccurrence"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/ClientAttachment.hs","line":43,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Selected pane in its actual session/index context."},"references":[{"target":"LibTmux.Query#t:ToOne","kind":"type"},{"target":"LibTmux.Snapshot#t:ClientAttachment","kind":"type"},{"target":"LibTmux.Snapshot#t:PaneOccurrence","kind":"type"}],"slug":"libtmux-query-clientattachment-v-pane"},{"id":"LibTmux.Query.Link#v:sessionId","publicId":"LibTmux.Query.Link#v:sessionId","name":"sessionId","qualifiedName":"LibTmux.Query.Link.sessionId","namespace":"LibTmux.Query.Link","parent":"LibTmux.Query.Link","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"sessionId"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:WindowLink","target":"LibTmux.Snapshot#t:WindowLink","text":"WindowLink"},{"text":" "},{"href":"LibTmux-Id.html#t:SessionId","target":"LibTmux.Id#t:SessionId","text":"SessionId"}],"params":[],"raw":"sessionId :: Field WindowLink SessionId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Link.hs","line":17,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Native ID of the session that owns this observed link."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:WindowLink","kind":"type"},{"target":"LibTmux.Id#t:SessionId","kind":"type"}],"slug":"libtmux-query-link-v-sessionid"},{"id":"LibTmux.Query.Link#v:windowId","publicId":"LibTmux.Query.Link#v:windowId","name":"windowId","qualifiedName":"LibTmux.Query.Link.windowId","namespace":"LibTmux.Query.Link","parent":"LibTmux.Query.Link","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"windowId"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:WindowLink","target":"LibTmux.Snapshot#t:WindowLink","text":"WindowLink"},{"text":" "},{"href":"LibTmux-Id.html#t:WindowId","target":"LibTmux.Id#t:WindowId","text":"WindowId"}],"params":[],"raw":"windowId :: Field WindowLink WindowId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Link.hs","line":21,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Native ID of the shared physical window."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:WindowLink","kind":"type"},{"target":"LibTmux.Id#t:WindowId","kind":"type"}],"slug":"libtmux-query-link-v-windowid"},{"id":"LibTmux.Query.Link#v:index","publicId":"LibTmux.Query.Link#v:index","name":"index","qualifiedName":"LibTmux.Query.Link.index","namespace":"LibTmux.Query.Link","parent":"LibTmux.Query.Link","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"index"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:WindowLink","target":"LibTmux.Snapshot#t:WindowLink","text":"WindowLink"},{"text":" "},{"href":"LibTmux-Value.html#t:WindowIndex","target":"LibTmux.Value#t:WindowIndex","text":"WindowIndex"}],"params":[],"raw":"index :: Field WindowLink WindowIndex"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Link.hs","line":25,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Window-link index within the session; reindexing can change it."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:WindowLink","kind":"type"},{"target":"LibTmux.Value#t:WindowIndex","kind":"type"}],"slug":"libtmux-query-link-v-index"},{"id":"LibTmux.Query.Link#v:active","publicId":"LibTmux.Query.Link#v:active","name":"active","qualifiedName":"LibTmux.Query.Link.active","namespace":"LibTmux.Query.Link","parent":"LibTmux.Query.Link","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"active"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:WindowLink","target":"LibTmux.Snapshot#t:WindowLink","text":"WindowLink"},{"text":" "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool","text":"Bool"}],"params":[],"raw":"active :: Field WindowLink Bool"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Link.hs","line":29,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Whether this link is selected in its session."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:WindowLink","kind":"type"}],"slug":"libtmux-query-link-v-active"},{"id":"LibTmux.Query.Link#v:session","publicId":"LibTmux.Query.Link#v:session","name":"session","qualifiedName":"LibTmux.Query.Link.session","namespace":"LibTmux.Query.Link","parent":"LibTmux.Query.Link","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"session"},{"text":" :: "},{"href":"LibTmux-Query.html#t:ToOne","target":"LibTmux.Query#t:ToOne","text":"ToOne"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:WindowLink","target":"LibTmux.Snapshot#t:WindowLink","text":"WindowLink"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Session","target":"LibTmux.Snapshot#t:Session","text":"Session"}],"params":[],"raw":"session :: ToOne WindowLink Session"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Link.hs","line":33,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Resolve the session in the supplied snapshot with :obj:`related `."},"references":[{"target":"LibTmux.Query#t:ToOne","kind":"type"},{"target":"LibTmux.Snapshot#t:WindowLink","kind":"type"},{"target":"LibTmux.Snapshot#t:Session","kind":"type"}],"slug":"libtmux-query-link-v-session"},{"id":"LibTmux.Query.Link#v:window","publicId":"LibTmux.Query.Link#v:window","name":"window","qualifiedName":"LibTmux.Query.Link.window","namespace":"LibTmux.Query.Link","parent":"LibTmux.Query.Link","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"window"},{"text":" :: "},{"href":"LibTmux-Query.html#t:ToOne","target":"LibTmux.Query#t:ToOne","text":"ToOne"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:WindowLink","target":"LibTmux.Snapshot#t:WindowLink","text":"WindowLink"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Window","target":"LibTmux.Snapshot#t:Window","text":"Window"}],"params":[],"raw":"window :: ToOne WindowLink Window"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Link.hs","line":37,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Resolve the shared physical window in the supplied snapshot."},"references":[{"target":"LibTmux.Query#t:ToOne","kind":"type"},{"target":"LibTmux.Snapshot#t:WindowLink","kind":"type"},{"target":"LibTmux.Snapshot#t:Window","kind":"type"}],"slug":"libtmux-query-link-v-window"},{"id":"LibTmux.Query.Link#v:panes","publicId":"LibTmux.Query.Link#v:panes","name":"panes","qualifiedName":"LibTmux.Query.Link.panes","namespace":"LibTmux.Query.Link","parent":"LibTmux.Query.Link","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"panes"},{"text":" :: "},{"href":"LibTmux-Query.html#t:ToMany","target":"LibTmux.Query#t:ToMany","text":"ToMany"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:WindowLink","target":"LibTmux.Snapshot#t:WindowLink","text":"WindowLink"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Pane","target":"LibTmux.Snapshot#t:Pane","text":"Pane"}],"params":[],"raw":"panes :: ToMany WindowLink Pane"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Link.hs","line":41,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Physical panes reached through this link, ordered by pane index."},"references":[{"target":"LibTmux.Query#t:ToMany","kind":"type"},{"target":"LibTmux.Snapshot#t:WindowLink","kind":"type"},{"target":"LibTmux.Snapshot#t:Pane","kind":"type"}],"slug":"libtmux-query-link-v-panes"},{"id":"LibTmux.Query.Occurrence#v:pane","publicId":"LibTmux.Query.Occurrence#v:pane","name":"pane","qualifiedName":"LibTmux.Query.Occurrence.pane","namespace":"LibTmux.Query.Occurrence","parent":"LibTmux.Query.Occurrence","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"pane"},{"text":" :: "},{"href":"LibTmux-Query.html#t:ToOne","target":"LibTmux.Query#t:ToOne","text":"ToOne"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:PaneOccurrence","target":"LibTmux.Snapshot#t:PaneOccurrence","text":"PaneOccurrence"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Pane","target":"LibTmux.Snapshot#t:Pane","text":"Pane"}],"params":[],"raw":"pane :: ToOne PaneOccurrence Pane"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Occurrence.hs","line":14,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"The physical pane observed through this occurrence, used with :obj:`related `."},"references":[{"target":"LibTmux.Query#t:ToOne","kind":"type"},{"target":"LibTmux.Snapshot#t:PaneOccurrence","kind":"type"},{"target":"LibTmux.Snapshot#t:Pane","kind":"type"}],"slug":"libtmux-query-occurrence-v-pane"},{"id":"LibTmux.Query.Occurrence#v:link","publicId":"LibTmux.Query.Occurrence#v:link","name":"link","qualifiedName":"LibTmux.Query.Occurrence.link","namespace":"LibTmux.Query.Occurrence","parent":"LibTmux.Query.Occurrence","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"link"},{"text":" :: "},{"href":"LibTmux-Query.html#t:ToOne","target":"LibTmux.Query#t:ToOne","text":"ToOne"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:PaneOccurrence","target":"LibTmux.Snapshot#t:PaneOccurrence","text":"PaneOccurrence"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:WindowLink","target":"LibTmux.Snapshot#t:WindowLink","text":"WindowLink"}],"params":[],"raw":"link :: ToOne PaneOccurrence WindowLink"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Occurrence.hs","line":18,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"The observed session and window-index context of this appearance."},"references":[{"target":"LibTmux.Query#t:ToOne","kind":"type"},{"target":"LibTmux.Snapshot#t:PaneOccurrence","kind":"type"},{"target":"LibTmux.Snapshot#t:WindowLink","kind":"type"}],"slug":"libtmux-query-occurrence-v-link"},{"id":"LibTmux.Query.Pane#v:id","publicId":"LibTmux.Query.Pane#v:id","name":"id","qualifiedName":"LibTmux.Query.Pane.id","namespace":"LibTmux.Query.Pane","parent":"LibTmux.Query.Pane","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"id"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Pane","target":"LibTmux.Snapshot#t:Pane","text":"Pane"},{"text":" "},{"href":"LibTmux-Id.html#t:PaneId","target":"LibTmux.Id#t:PaneId","text":"PaneId"}],"params":[],"raw":"id :: Field Pane PaneId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Pane.hs","line":25,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Native pane ID. Equality alone does not establish Server identity."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:Pane","kind":"type"},{"target":"LibTmux.Id#t:PaneId","kind":"type"}],"slug":"libtmux-query-pane-v-id"},{"id":"LibTmux.Query.Pane#v:windowId","publicId":"LibTmux.Query.Pane#v:windowId","name":"windowId","qualifiedName":"LibTmux.Query.Pane.windowId","namespace":"LibTmux.Query.Pane","parent":"LibTmux.Query.Pane","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"windowId"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Pane","target":"LibTmux.Snapshot#t:Pane","text":"Pane"},{"text":" "},{"href":"LibTmux-Id.html#t:WindowId","target":"LibTmux.Id#t:WindowId","text":"WindowId"}],"params":[],"raw":"windowId :: Field Pane WindowId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Pane.hs","line":29,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Native ID of the pane's physical window; use :obj:`window ` to navigate it."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:Pane","kind":"type"},{"target":"LibTmux.Id#t:WindowId","kind":"type"}],"slug":"libtmux-query-pane-v-windowid"},{"id":"LibTmux.Query.Pane#v:index","publicId":"LibTmux.Query.Pane#v:index","name":"index","qualifiedName":"LibTmux.Query.Pane.index","namespace":"LibTmux.Query.Pane","parent":"LibTmux.Query.Pane","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"index"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Pane","target":"LibTmux.Snapshot#t:Pane","text":"Pane"},{"text":" "},{"href":"LibTmux-Value.html#t:PaneIndex","target":"LibTmux.Value#t:PaneIndex","text":"PaneIndex"}],"params":[],"raw":"index :: Field Pane PaneIndex"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Pane.hs","line":33,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Pane index within its window, distinct from a window-link index."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:Pane","kind":"type"},{"target":"LibTmux.Value#t:PaneIndex","kind":"type"}],"slug":"libtmux-query-pane-v-index"},{"id":"LibTmux.Query.Pane#v:width","publicId":"LibTmux.Query.Pane#v:width","name":"width","qualifiedName":"LibTmux.Query.Pane.width","namespace":"LibTmux.Query.Pane","parent":"LibTmux.Query.Pane","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"width"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Pane","target":"LibTmux.Snapshot#t:Pane","text":"Pane"},{"text":" "},{"href":"LibTmux-Value.html#t:Dimension","target":"LibTmux.Value#t:Dimension","text":"Dimension"}],"params":[],"raw":"width :: Field Pane Dimension"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Pane.hs","line":37,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Positive width in cells. Use :obj:`dimensionAtLeast ` for an integer threshold."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:Pane","kind":"type"},{"target":"LibTmux.Value#t:Dimension","kind":"type"}],"slug":"libtmux-query-pane-v-width"},{"id":"LibTmux.Query.Pane#v:height","publicId":"LibTmux.Query.Pane#v:height","name":"height","qualifiedName":"LibTmux.Query.Pane.height","namespace":"LibTmux.Query.Pane","parent":"LibTmux.Query.Pane","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"height"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Pane","target":"LibTmux.Snapshot#t:Pane","text":"Pane"},{"text":" "},{"href":"LibTmux-Value.html#t:Dimension","target":"LibTmux.Value#t:Dimension","text":"Dimension"}],"params":[],"raw":"height :: Field Pane Dimension"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Pane.hs","line":41,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Positive height in cells, independent of window-link context."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:Pane","kind":"type"},{"target":"LibTmux.Value#t:Dimension","kind":"type"}],"slug":"libtmux-query-pane-v-height"},{"id":"LibTmux.Query.Pane#v:active","publicId":"LibTmux.Query.Pane#v:active","name":"active","qualifiedName":"LibTmux.Query.Pane.active","namespace":"LibTmux.Query.Pane","parent":"LibTmux.Query.Pane","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"active"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Pane","target":"LibTmux.Snapshot#t:Pane","text":"Pane"},{"text":" "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool","text":"Bool"}],"params":[],"raw":"active :: Field Pane Bool"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Pane.hs","line":45,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Whether this is the active pane of its physical window."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:Pane","kind":"type"}],"slug":"libtmux-query-pane-v-active"},{"id":"LibTmux.Query.Pane#v:dead","publicId":"LibTmux.Query.Pane#v:dead","name":"dead","qualifiedName":"LibTmux.Query.Pane.dead","namespace":"LibTmux.Query.Pane","parent":"LibTmux.Query.Pane","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"dead"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Pane","target":"LibTmux.Snapshot#t:Pane","text":"Pane"},{"text":" "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool","text":"Bool"}],"params":[],"raw":"dead :: Field Pane Bool"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Pane.hs","line":49,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Whether tmux observed the pane's process as dead."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:Pane","kind":"type"}],"slug":"libtmux-query-pane-v-dead"},{"id":"LibTmux.Query.Pane#v:title","publicId":"LibTmux.Query.Pane#v:title","name":"title","qualifiedName":"LibTmux.Query.Pane.title","namespace":"LibTmux.Query.Pane","parent":"LibTmux.Query.Pane","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"title"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Pane","target":"LibTmux.Snapshot#t:Pane","text":"Pane"},{"text":" "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"title :: Field Pane Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Pane.hs","line":53,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"UTF-8 pane title. :obj:`contains ` performs exact Text substring matching."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:Pane","kind":"type"}],"slug":"libtmux-query-pane-v-title"},{"id":"LibTmux.Query.Pane#v:currentCommand","publicId":"LibTmux.Query.Pane#v:currentCommand","name":"currentCommand","qualifiedName":"LibTmux.Query.Pane.currentCommand","namespace":"LibTmux.Query.Pane","parent":"LibTmux.Query.Pane","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"currentCommand"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Pane","target":"LibTmux.Snapshot#t:Pane","text":"Pane"},{"text":" "},{"href":"https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixString","text":"PosixString"}],"params":[],"raw":"currentCommand :: Field Pane PosixString"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Pane.hs","line":57,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Foreground command name as lossless POSIX bytes, not a shell command line."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:Pane","kind":"type"}],"slug":"libtmux-query-pane-v-currentcommand"},{"id":"LibTmux.Query.Pane#v:currentPath","publicId":"LibTmux.Query.Pane#v:currentPath","name":"currentPath","qualifiedName":"LibTmux.Query.Pane.currentPath","namespace":"LibTmux.Query.Pane","parent":"LibTmux.Query.Pane","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"currentPath"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Pane","target":"LibTmux.Snapshot#t:Pane","text":"Pane"},{"text":" "},{"href":"https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath","text":"PosixPath"}],"params":[],"raw":"currentPath :: Field Pane PosixPath"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Pane.hs","line":61,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Observed current directory on the tmux endpoint, preserving POSIX bytes."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:Pane","kind":"type"}],"slug":"libtmux-query-pane-v-currentpath"},{"id":"LibTmux.Query.Pane#v:window","publicId":"LibTmux.Query.Pane#v:window","name":"window","qualifiedName":"LibTmux.Query.Pane.window","namespace":"LibTmux.Query.Pane","parent":"LibTmux.Query.Pane","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"window"},{"text":" :: "},{"href":"LibTmux-Query.html#t:ToOne","target":"LibTmux.Query#t:ToOne","text":"ToOne"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Pane","target":"LibTmux.Snapshot#t:Pane","text":"Pane"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Window","target":"LibTmux.Snapshot#t:Window","text":"Window"}],"params":[],"raw":"window :: ToOne Pane Window"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Pane.hs","line":65,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Resolve the pane's physical window in the supplied snapshot with :obj:`related `."},"references":[{"target":"LibTmux.Query#t:ToOne","kind":"type"},{"target":"LibTmux.Snapshot#t:Pane","kind":"type"},{"target":"LibTmux.Snapshot#t:Window","kind":"type"}],"slug":"libtmux-query-pane-v-window"},{"id":"LibTmux.Query.ServerInfo#v:pid","publicId":"LibTmux.Query.ServerInfo#v:pid","name":"pid","qualifiedName":"LibTmux.Query.ServerInfo.pid","namespace":"LibTmux.Query.ServerInfo","parent":"LibTmux.Query.ServerInfo","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"pid"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:ServerInfo","target":"LibTmux.Snapshot#t:ServerInfo","text":"ServerInfo"},{"text":" "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"pid :: Field ServerInfo Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/ServerInfo.hs","line":16,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Observed daemon process ID."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:ServerInfo","kind":"type"}],"slug":"libtmux-query-serverinfo-v-pid"},{"id":"LibTmux.Query.ServerInfo#v:startedAt","publicId":"LibTmux.Query.ServerInfo#v:startedAt","name":"startedAt","qualifiedName":"LibTmux.Query.ServerInfo.startedAt","namespace":"LibTmux.Query.ServerInfo","parent":"LibTmux.Query.ServerInfo","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"startedAt"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:ServerInfo","target":"LibTmux.Snapshot#t:ServerInfo","text":"ServerInfo"},{"text":" "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"startedAt :: Field ServerInfo Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/ServerInfo.hs","line":20,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Daemon start time in epoch seconds, as reported by tmux."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:ServerInfo","kind":"type"}],"slug":"libtmux-query-serverinfo-v-startedat"},{"id":"LibTmux.Query.ServerInfo#v:version","publicId":"LibTmux.Query.ServerInfo#v:version","name":"version","qualifiedName":"LibTmux.Query.ServerInfo.version","namespace":"LibTmux.Query.ServerInfo","parent":"LibTmux.Query.ServerInfo","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"version"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:ServerInfo","target":"LibTmux.Snapshot#t:ServerInfo","text":"ServerInfo"},{"text":" "},{"href":"LibTmux-Version.html#t:TmuxVersion","target":"LibTmux.Version#t:TmuxVersion","text":"TmuxVersion"}],"params":[],"raw":"version :: Field ServerInfo TmuxVersion"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/ServerInfo.hs","line":24,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Parsed tmux release, compared using the library's version ordering."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:ServerInfo","kind":"type"},{"target":"LibTmux.Version#t:TmuxVersion","kind":"type"}],"slug":"libtmux-query-serverinfo-v-version"},{"id":"LibTmux.Query.ServerInfo#v:socketPath","publicId":"LibTmux.Query.ServerInfo#v:socketPath","name":"socketPath","qualifiedName":"LibTmux.Query.ServerInfo.socketPath","namespace":"LibTmux.Query.ServerInfo","parent":"LibTmux.Query.ServerInfo","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"socketPath"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:ServerInfo","target":"LibTmux.Snapshot#t:ServerInfo","text":"ServerInfo"},{"text":" "},{"href":"https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath","text":"PosixPath"}],"params":[],"raw":"socketPath :: Field ServerInfo PosixPath"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/ServerInfo.hs","line":28,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Reported socket path on the tmux endpoint, retaining POSIX bytes."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:ServerInfo","kind":"type"}],"slug":"libtmux-query-serverinfo-v-socketpath"},{"id":"LibTmux.Query.Session#v:id","publicId":"LibTmux.Query.Session#v:id","name":"id","qualifiedName":"LibTmux.Query.Session.id","namespace":"LibTmux.Query.Session","parent":"LibTmux.Query.Session","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"id"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Session","target":"LibTmux.Snapshot#t:Session","text":"Session"},{"text":" "},{"href":"LibTmux-Id.html#t:SessionId","target":"LibTmux.Id#t:SessionId","text":"SessionId"}],"params":[],"raw":"id :: Field Session SessionId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Session.hs","line":18,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Native session ID without a connection-generation guarantee."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:Session","kind":"type"},{"target":"LibTmux.Id#t:SessionId","kind":"type"}],"slug":"libtmux-query-session-v-id"},{"id":"LibTmux.Query.Session#v:name","publicId":"LibTmux.Query.Session#v:name","name":"name","qualifiedName":"LibTmux.Query.Session.name","namespace":"LibTmux.Query.Session","parent":"LibTmux.Query.Session","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"name"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Session","target":"LibTmux.Snapshot#t:Session","text":"Session"},{"text":" "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"name :: Field Session Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Session.hs","line":22,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Captured UTF-8 session name. Equality does not normalize Unicode."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:Session","kind":"type"}],"slug":"libtmux-query-session-v-name"},{"id":"LibTmux.Query.Session#v:attached","publicId":"LibTmux.Query.Session#v:attached","name":"attached","qualifiedName":"LibTmux.Query.Session.attached","namespace":"LibTmux.Query.Session","parent":"LibTmux.Query.Session","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"attached"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Session","target":"LibTmux.Snapshot#t:Session","text":"Session"},{"text":" "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"attached :: Field Session Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Session.hs","line":26,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Nonnegative count of attached clients as observed by tmux."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:Session","kind":"type"}],"slug":"libtmux-query-session-v-attached"},{"id":"LibTmux.Query.Session#v:windowLinks","publicId":"LibTmux.Query.Session#v:windowLinks","name":"windowLinks","qualifiedName":"LibTmux.Query.Session.windowLinks","namespace":"LibTmux.Query.Session","parent":"LibTmux.Query.Session","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"windowLinks"},{"text":" :: "},{"href":"LibTmux-Query.html#t:ToMany","target":"LibTmux.Query#t:ToMany","text":"ToMany"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Session","target":"LibTmux.Snapshot#t:Session","text":"Session"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:WindowLink","target":"LibTmux.Snapshot#t:WindowLink","text":"WindowLink"}],"params":[],"raw":"windowLinks :: ToMany Session WindowLink"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Session.hs","line":30,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Every window link owned by this session, retaining index and multiplicity."},"references":[{"target":"LibTmux.Query#t:ToMany","kind":"type"},{"target":"LibTmux.Snapshot#t:Session","kind":"type"},{"target":"LibTmux.Snapshot#t:WindowLink","kind":"type"}],"slug":"libtmux-query-session-v-windowlinks"},{"id":"LibTmux.Query.Session#v:clients","publicId":"LibTmux.Query.Session#v:clients","name":"clients","qualifiedName":"LibTmux.Query.Session.clients","namespace":"LibTmux.Query.Session","parent":"LibTmux.Query.Session","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"clients"},{"text":" :: "},{"href":"LibTmux-Query.html#t:ToMany","target":"LibTmux.Query#t:ToMany","text":"ToMany"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Session","target":"LibTmux.Snapshot#t:Session","text":"Session"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Client","target":"LibTmux.Snapshot#t:Client","text":"Client"}],"params":[],"raw":"clients :: ToMany Session Client"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Session.hs","line":34,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Captured clients attached to this session; an empty list is known absence."},"references":[{"target":"LibTmux.Query#t:ToMany","kind":"type"},{"target":"LibTmux.Snapshot#t:Session","kind":"type"},{"target":"LibTmux.Snapshot#t:Client","kind":"type"}],"slug":"libtmux-query-session-v-clients"},{"id":"LibTmux.Query.Window#v:id","publicId":"LibTmux.Query.Window#v:id","name":"id","qualifiedName":"LibTmux.Query.Window.id","namespace":"LibTmux.Query.Window","parent":"LibTmux.Query.Window","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"id"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Window","target":"LibTmux.Snapshot#t:Window","text":"Window"},{"text":" "},{"href":"LibTmux-Id.html#t:WindowId","target":"LibTmux.Id#t:WindowId","text":"WindowId"}],"params":[],"raw":"id :: Field Window WindowId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Window.hs","line":19,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Native physical window ID, independent of a session's link index."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:Window","kind":"type"},{"target":"LibTmux.Id#t:WindowId","kind":"type"}],"slug":"libtmux-query-window-v-id"},{"id":"LibTmux.Query.Window#v:name","publicId":"LibTmux.Query.Window#v:name","name":"name","qualifiedName":"LibTmux.Query.Window.name","namespace":"LibTmux.Query.Window","parent":"LibTmux.Query.Window","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"name"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Window","target":"LibTmux.Snapshot#t:Window","text":"Window"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:TmuxText","target":"LibTmux.Snapshot#t:TmuxText","text":"TmuxText"}],"params":[],"raw":"name :: Field Window TmuxText"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Window.hs","line":23,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Lossless window label. Equality and ordering compare its retained bytes."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:Window","kind":"type"},{"target":"LibTmux.Snapshot#t:TmuxText","kind":"type"}],"slug":"libtmux-query-window-v-name"},{"id":"LibTmux.Query.Window#v:width","publicId":"LibTmux.Query.Window#v:width","name":"width","qualifiedName":"LibTmux.Query.Window.width","namespace":"LibTmux.Query.Window","parent":"LibTmux.Query.Window","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"width"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Window","target":"LibTmux.Snapshot#t:Window","text":"Window"},{"text":" "},{"href":"LibTmux-Value.html#t:Dimension","target":"LibTmux.Value#t:Dimension","text":"Dimension"}],"params":[],"raw":"width :: Field Window Dimension"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Window.hs","line":27,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Positive physical window width in cells."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:Window","kind":"type"},{"target":"LibTmux.Value#t:Dimension","kind":"type"}],"slug":"libtmux-query-window-v-width"},{"id":"LibTmux.Query.Window#v:height","publicId":"LibTmux.Query.Window#v:height","name":"height","qualifiedName":"LibTmux.Query.Window.height","namespace":"LibTmux.Query.Window","parent":"LibTmux.Query.Window","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"height"},{"text":" :: "},{"href":"LibTmux-Query.html#t:Field","target":"LibTmux.Query#t:Field","text":"Field"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Window","target":"LibTmux.Snapshot#t:Window","text":"Window"},{"text":" "},{"href":"LibTmux-Value.html#t:Dimension","target":"LibTmux.Value#t:Dimension","text":"Dimension"}],"params":[],"raw":"height :: Field Window Dimension"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Window.hs","line":31,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Positive physical window height in cells."},"references":[{"target":"LibTmux.Query#t:Field","kind":"type"},{"target":"LibTmux.Snapshot#t:Window","kind":"type"},{"target":"LibTmux.Value#t:Dimension","kind":"type"}],"slug":"libtmux-query-window-v-height"},{"id":"LibTmux.Query.Window#v:panes","publicId":"LibTmux.Query.Window#v:panes","name":"panes","qualifiedName":"LibTmux.Query.Window.panes","namespace":"LibTmux.Query.Window","parent":"LibTmux.Query.Window","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"panes"},{"text":" :: "},{"href":"LibTmux-Query.html#t:ToMany","target":"LibTmux.Query#t:ToMany","text":"ToMany"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Window","target":"LibTmux.Snapshot#t:Window","text":"Window"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Pane","target":"LibTmux.Snapshot#t:Pane","text":"Pane"}],"params":[],"raw":"panes :: ToMany Window Pane"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Window.hs","line":35,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Physical panes in this window, ordered by pane index."},"references":[{"target":"LibTmux.Query#t:ToMany","kind":"type"},{"target":"LibTmux.Snapshot#t:Window","kind":"type"},{"target":"LibTmux.Snapshot#t:Pane","kind":"type"}],"slug":"libtmux-query-window-v-panes"},{"id":"LibTmux.Query.Window#v:windowLinks","publicId":"LibTmux.Query.Window#v:windowLinks","name":"windowLinks","qualifiedName":"LibTmux.Query.Window.windowLinks","namespace":"LibTmux.Query.Window","parent":"LibTmux.Query.Window","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"windowLinks"},{"text":" :: "},{"href":"LibTmux-Query.html#t:ToMany","target":"LibTmux.Query#t:ToMany","text":"ToMany"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Window","target":"LibTmux.Snapshot#t:Window","text":"Window"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:WindowLink","target":"LibTmux.Snapshot#t:WindowLink","text":"WindowLink"}],"params":[],"raw":"windowLinks :: ToMany Window WindowLink"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Query/Window.hs","line":39,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"All contextual appearances of this window across captured sessions."},"references":[{"target":"LibTmux.Query#t:ToMany","kind":"type"},{"target":"LibTmux.Snapshot#t:Window","kind":"type"},{"target":"LibTmux.Snapshot#t:WindowLink","kind":"type"}],"slug":"libtmux-query-window-v-windowlinks"},{"id":"LibTmux.Server#t:Server","publicId":"LibTmux.Server#t:Server","name":"Server","qualifiedName":"LibTmux.Server.Server","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"Server"}],"params":[],"raw":"data Server"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":74,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"One pinned endpoint and connection generation.\n Retaining this value after :obj:`withServer ` or :obj:`withServerIn ` keeps no admission open."},"slug":"libtmux-server-t-server"},{"id":"LibTmux.Server#t:ServerConfig","publicId":"LibTmux.Server#t:ServerConfig","name":"ServerConfig","qualifiedName":"LibTmux.Server.ServerConfig","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"ServerConfig"}],"params":[],"raw":"data ServerConfig"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":119,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Pure configuration, checked when :obj:`withServer ` or :obj:`withServerIn ` opens the handle.\n Paths retain POSIX bytes; no text decoding or shell interpretation occurs.","body":"## Instances\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`ServerConfig ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Server.hs#L125))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`ServerConfig ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Server.hs#L125))"},"references":[{"target":"LibTmux.Server#t:ServerConfig","kind":"type"}],"slug":"libtmux-server-t-serverconfig"},{"id":"LibTmux.Server#v:ServerConfig","publicId":"LibTmux.Server#v:ServerConfig","name":"ServerConfig","qualifiedName":"LibTmux.Server.ServerConfig","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:ServerConfig","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"ServerConfig"}],"params":[],"raw":"ServerConfig"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":119,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"slug":"libtmux-server-v-serverconfig-1ux6"},{"id":"LibTmux.Server#v:ServerConfig.socketPath","publicId":"LibTmux.Server#v:ServerConfig.socketPath","name":"socketPath","qualifiedName":"LibTmux.Server.socketPath","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:ServerConfig","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"socketPath"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath","text":"PosixPath"}],"params":[],"raw":"socketPath :: !PosixPath"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":120,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Existing tmux socket, with an absolute trusted path."},"slug":"libtmux-server-v-serverconfig-socketpath"},{"id":"LibTmux.Server#v:ServerConfig.executable","publicId":"LibTmux.Server#v:ServerConfig.executable","name":"executable","qualifiedName":"LibTmux.Server.executable","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:ServerConfig","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"executable"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath","text":"PosixPath"}],"params":[],"raw":"executable :: !PosixPath"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":121,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Executable path or a program resolved once through PATH."},"slug":"libtmux-server-v-serverconfig-executable"},{"id":"LibTmux.Server#v:ServerConfig.pinDirectory","publicId":"LibTmux.Server#v:ServerConfig.pinDirectory","name":"pinDirectory","qualifiedName":"LibTmux.Server.pinDirectory","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:ServerConfig","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"pinDirectory"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath","text":"PosixPath"}],"params":[],"raw":"pinDirectory :: !PosixPath"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":122,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Writable trusted directory on the socket's filesystem."},"slug":"libtmux-server-v-serverconfig-pindirectory"},{"id":"LibTmux.Server#v:ServerConfig.captureTimeout","publicId":"LibTmux.Server#v:ServerConfig.captureTimeout","name":"captureTimeout","qualifiedName":"LibTmux.Server.captureTimeout","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:ServerConfig","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"captureTimeout"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/time-1.15/docs/Data-Time-Clock.html#t:NominalDiffTime","text":"NominalDiffTime"}],"params":[],"raw":"captureTimeout :: !NominalDiffTime"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":123,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Capture deadline in seconds, greater than zero and at most ten."},"slug":"libtmux-server-v-serverconfig-capturetimeout"},{"id":"LibTmux.Server#v:serverConfig","publicId":"LibTmux.Server#v:serverConfig","name":"serverConfig","qualifiedName":"LibTmux.Server.serverConfig","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"serverConfig"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath","text":"PosixPath"},{"text":" -> "},{"href":"LibTmux-Server.html#t:ServerConfig","target":"LibTmux.Server#t:ServerConfig","text":"ServerConfig"}],"params":[],"raw":"serverConfig :: PosixPath -> ServerConfig"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":131,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Configure an existing socket, resolving `tmux` through PATH when opened.\n The private pin uses the socket's parent directory. The capture timeout is\n two seconds; callers can change it before opening a Server scope."},"references":[{"target":"LibTmux.Server#t:ServerConfig","kind":"type"}],"slug":"libtmux-server-v-serverconfig-dhie"},{"id":"LibTmux.Server#v:withServer","publicId":"LibTmux.Server#v:withServer","name":"withServer","qualifiedName":"LibTmux.Server.withServer","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"withServer"},{"text":" :: "},{"href":"LibTmux-Server.html#t:ServerConfig","target":"LibTmux.Server#t:ServerConfig","text":"ServerConfig"},{"text":" -> ("},{"href":"LibTmux-Server.html#t:Server","target":"LibTmux.Server#t:Server","text":"Server"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO","text":"IO"},{"text":" a) -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO","text":"IO"},{"text":" a"}],"params":[],"raw":"withServer :: ServerConfig -> (Server -> IO a) -> IO a"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":138,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Open one handle, run the callback, then perform bounded owned cleanup.\n Cleanup never replaces a callback exception. Incomplete cleanup raises\n :obj:`CleanupFailed ` after success, or annotates the original callback failure\n with a reachable :obj:`CleanupRecovery `. No daemon shutdown is requested."},"references":[{"target":"LibTmux.Server#t:ServerConfig","kind":"type"},{"target":"LibTmux.Server#t:Server","kind":"type"}],"slug":"libtmux-server-v-withserver"},{"id":"LibTmux.Server#v:capture","publicId":"LibTmux.Server#v:capture","name":"capture","qualifiedName":"LibTmux.Server.capture","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"capture"},{"text":" :: "},{"href":"LibTmux-Server.html#t:Server","target":"LibTmux.Server#t:Server","text":"Server"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO","text":"IO"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Snapshot","target":"LibTmux.Snapshot#t:Snapshot","text":"Snapshot"}],"params":[],"raw":"capture :: Server -> IO Snapshot"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":157,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Acquire the complete baseline graph, metadata and attached clients.\n Returned values own their data and remain usable after :obj:`withServer ` exits.\n Capacity and acquisition failure are errors; they never become empty lists."},"references":[{"target":"LibTmux.Server#t:Server","kind":"type"},{"target":"LibTmux.Snapshot#t:Snapshot","kind":"type"}],"slug":"libtmux-server-v-capture"},{"id":"LibTmux.Server#v:serverGeneration","publicId":"LibTmux.Server#v:serverGeneration","name":"serverGeneration","qualifiedName":"LibTmux.Server.serverGeneration","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"serverGeneration"},{"text":" :: "},{"href":"LibTmux-Server.html#t:Server","target":"LibTmux.Server#t:Server","text":"Server"},{"text":" -> "},{"href":"LibTmux-Snapshot.html#t:Generation","target":"LibTmux.Snapshot#t:Generation","text":"Generation"}],"params":[],"raw":"serverGeneration :: Server -> Generation"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":167,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"The handle's opaque generation, available without contacting tmux."},"references":[{"target":"LibTmux.Server#t:Server","kind":"type"},{"target":"LibTmux.Snapshot#t:Generation","kind":"type"}],"slug":"libtmux-server-v-servergeneration"},{"id":"LibTmux.Server#t:Runtime","publicId":"LibTmux.Server#t:Runtime","name":"Runtime","qualifiedName":"LibTmux.Server.Runtime","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"Runtime"}],"params":[],"raw":"data Runtime"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":79,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Shared resource limits and cleanup ownership for Server handles. Create\n one with :obj:`withRuntime `, then adopt endpoints through :obj:`withServerIn `.\n Detached :obj:`Snapshot ` values retain no Runtime."},"slug":"libtmux-server-t-runtime"},{"id":"LibTmux.Server#v:withRuntime","publicId":"LibTmux.Server#v:withRuntime","name":"withRuntime","qualifiedName":"LibTmux.Server.withRuntime","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"withRuntime"},{"text":" :: ("},{"href":"LibTmux-Server.html#t:Runtime","target":"LibTmux.Server#t:Runtime","text":"Runtime"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO","text":"IO"},{"text":" a) -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO","text":"IO"},{"text":" a"}],"params":[],"raw":"withRuntime :: (Runtime -> IO a) -> IO a"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":90,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"body":"Callback failures and cancellation keep their original exception class.\n Incomplete cleanup retains a :obj:`CleanupRecovery ` in the exception context;\n use :obj:`tryTmux ` and :obj:`cleanupRecoveries ` to keep that responsibility reachable.","summary":"Own a Runtime for the callback and perform bounded cleanup afterward.\n Closing it retires every adopted handle; application-owned threads remain\n the application's responsibility. Late adoption fails with :obj:`RuntimeClosed `.\n The daemon remains running."},"references":[{"target":"LibTmux.Server#t:Runtime","kind":"type"}],"slug":"libtmux-server-v-withruntime"},{"id":"LibTmux.Server#v:withServerIn","publicId":"LibTmux.Server#v:withServerIn","name":"withServerIn","qualifiedName":"LibTmux.Server.withServerIn","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"withServerIn"},{"text":" :: "},{"href":"LibTmux-Server.html#t:Runtime","target":"LibTmux.Server#t:Runtime","text":"Runtime"},{"text":" -> "},{"href":"LibTmux-Server.html#t:ServerConfig","target":"LibTmux.Server#t:ServerConfig","text":"ServerConfig"},{"text":" -> ("},{"href":"LibTmux-Server.html#t:Server","target":"LibTmux.Server#t:Server","text":"Server"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO","text":"IO"},{"text":" a) -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO","text":"IO"},{"text":" a"}],"params":[],"raw":"withServerIn :: Runtime -> ServerConfig -> (Server -> IO a) -> IO a"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":103,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"body":"Failed adoption can retain a :obj:`CleanupRecovery ` before a :obj:`Server ` exists.\n Inspection, retry and waiting through that owner stay scoped to the failed\n adoption. Cleanup preserves application exceptions, incoming masking state\n and cancellation; known acquisition failures use :obj:`TmuxException `.","summary":"Adopt one endpoint within an existing Runtime and close only that handle\n after the callback. Other handles remain admitted under the shared limits;\n each adoption has its own :obj:`serverGeneration `. Use :obj:`withServer ` for one handle."},"references":[{"target":"LibTmux.Server#t:Runtime","kind":"type"},{"target":"LibTmux.Server#t:ServerConfig","kind":"type"},{"target":"LibTmux.Server#t:Server","kind":"type"}],"slug":"libtmux-server-v-withserverin"},{"id":"LibTmux.Server#t:TmuxException","publicId":"LibTmux.Server#t:TmuxException","name":"TmuxException","qualifiedName":"LibTmux.Server.TmuxException","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"TmuxException"}],"params":[],"raw":"data TmuxException"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scope.hs","line":21,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Library operational failures. Context-preserving catching retains any\n cleanup owners; the original application or cancellation exception keeps\n its class when the callback itself failed.","body":"## Instances\n\n- instance [Exception](https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:Exception) :obj:`TmuxException ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Scope.hs#L29))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`TmuxException ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Scope.hs#L28))"},"references":[{"target":"LibTmux.Server#t:TmuxException","kind":"type"}],"slug":"libtmux-server-t-tmuxexception"},{"id":"LibTmux.Server#v:ServerClosed","publicId":"LibTmux.Server#v:ServerClosed","name":"ServerClosed","qualifiedName":"LibTmux.Server.ServerClosed","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:TmuxException","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"ServerClosed"}],"params":[],"raw":"ServerClosed"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scope.hs","line":22,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Admission through the retained Server handle has closed."},"slug":"libtmux-server-v-serverclosed"},{"id":"LibTmux.Server#v:RuntimeClosed","publicId":"LibTmux.Server#v:RuntimeClosed","name":"RuntimeClosed","qualifiedName":"LibTmux.Server.RuntimeClosed","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:TmuxException","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"RuntimeClosed"}],"params":[],"raw":"RuntimeClosed"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scope.hs","line":23,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Admission through the retained Runtime has closed."},"slug":"libtmux-server-v-runtimeclosed"},{"id":"LibTmux.Server#v:InvalidConfiguration","publicId":"LibTmux.Server#v:InvalidConfiguration","name":"InvalidConfiguration","qualifiedName":"LibTmux.Server.InvalidConfiguration","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:TmuxException","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"InvalidConfiguration"},{"text":" !"},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"InvalidConfiguration !Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scope.hs","line":24,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Configuration failed before acquisition."},"slug":"libtmux-server-v-invalidconfiguration"},{"id":"LibTmux.Server#v:InvalidObservation","publicId":"LibTmux.Server#v:InvalidObservation","name":"InvalidObservation","qualifiedName":"LibTmux.Server.InvalidObservation","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:TmuxException","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"InvalidObservation"},{"text":" !"},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"InvalidObservation !Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scope.hs","line":25,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Acquired metadata failed final validation."},"slug":"libtmux-server-v-invalidobservation"},{"id":"LibTmux.Server#v:OperationFailed","publicId":"LibTmux.Server#v:OperationFailed","name":"OperationFailed","qualifiedName":"LibTmux.Server.OperationFailed","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:TmuxException","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"OperationFailed"},{"text":" !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:SomeException","text":"SomeException"}],"params":[],"raw":"OperationFailed !SomeException"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scope.hs","line":26,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Known backend failure with its original cause."},"slug":"libtmux-server-v-operationfailed"},{"id":"LibTmux.Server#v:CleanupFailed","publicId":"LibTmux.Server#v:CleanupFailed","name":"CleanupFailed","qualifiedName":"LibTmux.Server.CleanupFailed","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:TmuxException","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"CleanupFailed"},{"text":" !"},{"href":"LibTmux-Server.html#t:CleanupStatus","target":"LibTmux.Server#t:CleanupStatus","text":"CleanupStatus"},{"text":" !("},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe","text":"Maybe"},{"text":" "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:SomeException","text":"SomeException"},{"text":")"}],"params":[],"raw":"CleanupFailed !CleanupStatus !(Maybe SomeException)"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scope.hs","line":27,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Cleanup remained incomplete or its worker could not start."},"references":[{"target":"LibTmux.Server#t:CleanupStatus","kind":"type"}],"slug":"libtmux-server-v-cleanupfailed"},{"id":"LibTmux.Server#v:tryTmux","publicId":"LibTmux.Server#v:tryTmux","name":"tryTmux","qualifiedName":"LibTmux.Server.tryTmux","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"tryTmux"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO","text":"IO"},{"text":" a -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO","text":"IO"},{"text":" ("},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" ("},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:ExceptionWithContext","text":"ExceptionWithContext"},{"text":" "},{"href":"LibTmux-Server.html#t:TmuxException","target":"LibTmux.Server#t:TmuxException","text":"TmuxException"},{"text":") a)"}],"params":[],"raw":"tryTmux :: IO a -> IO (Either (ExceptionWithContext TmuxException) a)"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":173,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Catch library failures with their exception context. Retain this value\n when handling an error so cleanup and capture owners stay reachable.\n Application exceptions and asynchronous cancellation propagate."},"references":[{"target":"LibTmux.Server#t:TmuxException","kind":"type"}],"slug":"libtmux-server-v-trytmux"},{"id":"LibTmux.Server#t:CleanupRecovery","publicId":"LibTmux.Server#t:CleanupRecovery","name":"CleanupRecovery","qualifiedName":"LibTmux.Server.CleanupRecovery","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"CleanupRecovery"}],"params":[],"raw":"data CleanupRecovery"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scope.hs","line":46,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Reachable responsibility after an incomplete or failed scope release.\n Retaining this value keeps its selected cleanup target and Runtime reachable.","body":"## Instances\n\n- instance [ExceptionAnnotation](https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception-Annotation.html#t:ExceptionAnnotation) :obj:`CleanupRecovery ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Scope.hs#L49))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`CleanupRecovery ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Scope.hs#L47))"},"references":[{"target":"LibTmux.Server#t:CleanupRecovery","kind":"type"}],"slug":"libtmux-server-t-cleanuprecovery"},{"id":"LibTmux.Server#t:CleanupStatus","publicId":"LibTmux.Server#t:CleanupStatus","name":"CleanupStatus","qualifiedName":"LibTmux.Server.CleanupStatus","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"CleanupStatus"}],"params":[],"raw":"data CleanupStatus"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scope.hs","line":33,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Local observations of the selected physical and logical responsibility.\n Each inspection returns new metadata; it performs no tmux operation.","body":"## Instances\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`CleanupStatus ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Scope.hs#L40))"},"references":[{"target":"LibTmux.Server#t:CleanupStatus","kind":"type"}],"slug":"libtmux-server-t-cleanupstatus"},{"id":"LibTmux.Server#v:CleanupStatus","publicId":"LibTmux.Server#v:CleanupStatus","name":"CleanupStatus","qualifiedName":"LibTmux.Server.CleanupStatus","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:CleanupStatus","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"CleanupStatus"}],"params":[],"raw":"CleanupStatus"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scope.hs","line":33,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"slug":"libtmux-server-v-cleanupstatus"},{"id":"LibTmux.Server#v:CleanupStatus.complete","publicId":"LibTmux.Server#v:CleanupStatus.complete","name":"complete","qualifiedName":"LibTmux.Server.complete","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:CleanupStatus","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"complete"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool","text":"Bool"}],"params":[],"raw":"complete :: !Bool"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scope.hs","line":34,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"All physical owners, operation workers and logical responsibility have retired."},"slug":"libtmux-server-v-cleanupstatus-complete"},{"id":"LibTmux.Server#v:CleanupStatus.pendingHandles","publicId":"LibTmux.Server#v:CleanupStatus.pendingHandles","name":"pendingHandles","qualifiedName":"LibTmux.Server.pendingHandles","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:CleanupStatus","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"pendingHandles"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Int.html#t:Int","text":"Int"}],"params":[],"raw":"pendingHandles :: !Int"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scope.hs","line":35,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Server handles still awaiting physical retirement."},"slug":"libtmux-server-v-cleanupstatus-pendinghandles"},{"id":"LibTmux.Server#v:CleanupStatus.pendingReads","publicId":"LibTmux.Server#v:CleanupStatus.pendingReads","name":"pendingReads","qualifiedName":"LibTmux.Server.pendingReads","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:CleanupStatus","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"pendingReads"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Int.html#t:Int","text":"Int"}],"params":[],"raw":"pendingReads :: !Int"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scope.hs","line":36,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Decoder or recovery workers retaining operation envelopes."},"slug":"libtmux-server-v-cleanupstatus-pendingreads"},{"id":"LibTmux.Server#v:CleanupStatus.unresolved","publicId":"LibTmux.Server#v:CleanupStatus.unresolved","name":"unresolved","qualifiedName":"LibTmux.Server.unresolved","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:CleanupStatus","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"unresolved"},{"text":" :: ![("},{"href":"LibTmux-Server.html#t:Operation","target":"LibTmux.Server#t:Operation","text":"Operation"},{"text":", "},{"href":"LibTmux-Server.html#t:Status","target":"LibTmux.Server#t:Status","text":"Status"},{"text":")]"}],"params":[],"raw":"unresolved :: ![(Operation, Status)]"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scope.hs","line":37,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Retained logical operations with their observed status."},"references":[{"target":"LibTmux.Server#t:Operation","kind":"type"},{"target":"LibTmux.Server#t:Status","kind":"type"}],"slug":"libtmux-server-v-cleanupstatus-unresolved"},{"id":"LibTmux.Server#v:CleanupStatus.failures","publicId":"LibTmux.Server#v:CleanupStatus.failures","name":"failures","qualifiedName":"LibTmux.Server.failures","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:CleanupStatus","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"failures"},{"text":" :: !["},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:SomeException","text":"SomeException"},{"text":"]"}],"params":[],"raw":"failures :: ![SomeException]"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scope.hs","line":38,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Currently observed pin, worker or cleanup-request failures."},"slug":"libtmux-server-v-cleanupstatus-failures"},{"id":"LibTmux.Server#v:cleanupRecoveries","publicId":"LibTmux.Server#v:cleanupRecoveries","name":"cleanupRecoveries","qualifiedName":"LibTmux.Server.cleanupRecoveries","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"cleanupRecoveries"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception-Context.html#t:ExceptionContext","text":"ExceptionContext"},{"text":" -> ["},{"href":"LibTmux-Server.html#t:CleanupRecovery","target":"LibTmux.Server#t:CleanupRecovery","text":"CleanupRecovery"},{"text":"]"}],"params":[],"raw":"cleanupRecoveries :: ExceptionContext -> [CleanupRecovery]"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":180,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Cleanup owners retained by a failed or cancelled scope. The context\n comes from :obj:`tryTmux ` or [tryWithContext](https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#v:tryWithContext). Inspection performs no tmux IO.\n Nested scopes can contribute overlapping owners; inspect and resume each\n retained responsibility through :obj:`inspectCleanup ` and :obj:`resumeCleanup `."},"references":[{"target":"LibTmux.Server#t:CleanupRecovery","kind":"type"}],"slug":"libtmux-server-v-cleanuprecoveries"},{"id":"LibTmux.Server#v:cleanupFailure","publicId":"LibTmux.Server#v:cleanupFailure","name":"cleanupFailure","qualifiedName":"LibTmux.Server.cleanupFailure","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"cleanupFailure"},{"text":" :: "},{"href":"LibTmux-Server.html#t:CleanupRecovery","target":"LibTmux.Server#t:CleanupRecovery","text":"CleanupRecovery"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe","text":"Maybe"},{"text":" "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:SomeException","text":"SomeException"}],"params":[],"raw":"cleanupFailure :: CleanupRecovery -> Maybe SomeException"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scope.hs","line":91,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Exception that interrupted the original cleanup attempt, when there was\n one. Pending ownership alone need not have an associated exception."},"references":[{"target":"LibTmux.Server#t:CleanupRecovery","kind":"type"}],"slug":"libtmux-server-v-cleanupfailure"},{"id":"LibTmux.Server#v:cleanupObservation","publicId":"LibTmux.Server#v:cleanupObservation","name":"cleanupObservation","qualifiedName":"LibTmux.Server.cleanupObservation","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"cleanupObservation"},{"text":" :: "},{"href":"LibTmux-Server.html#t:CleanupRecovery","target":"LibTmux.Server#t:CleanupRecovery","text":"CleanupRecovery"},{"text":" -> "},{"href":"LibTmux-Server.html#t:CleanupStatus","target":"LibTmux.Server#t:CleanupStatus","text":"CleanupStatus"}],"params":[],"raw":"cleanupObservation :: CleanupRecovery -> CleanupStatus"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scope.hs","line":95,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"The cleanup metadata recorded when this recovery owner was attached."},"references":[{"target":"LibTmux.Server#t:CleanupRecovery","kind":"type"},{"target":"LibTmux.Server#t:CleanupStatus","kind":"type"}],"slug":"libtmux-server-v-cleanupobservation"},{"id":"LibTmux.Server#v:inspectCleanup","publicId":"LibTmux.Server#v:inspectCleanup","name":"inspectCleanup","qualifiedName":"LibTmux.Server.inspectCleanup","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"inspectCleanup"},{"text":" :: "},{"href":"LibTmux-Server.html#t:CleanupRecovery","target":"LibTmux.Server#t:CleanupRecovery","text":"CleanupRecovery"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO","text":"IO"},{"text":" "},{"href":"LibTmux-Server.html#t:CleanupStatus","target":"LibTmux.Server#t:CleanupStatus","text":"CleanupStatus"}],"params":[],"raw":"inspectCleanup :: CleanupRecovery -> IO CleanupStatus"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scope.hs","line":99,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Inspect current owned cleanup and logical uncertainty without tmux IO."},"references":[{"target":"LibTmux.Server#t:CleanupRecovery","kind":"type"},{"target":"LibTmux.Server#t:CleanupStatus","kind":"type"}],"slug":"libtmux-server-v-inspectcleanup"},{"id":"LibTmux.Server#v:resumeCleanup","publicId":"LibTmux.Server#v:resumeCleanup","name":"resumeCleanup","qualifiedName":"LibTmux.Server.resumeCleanup","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"resumeCleanup"},{"text":" :: "},{"href":"LibTmux-Server.html#t:CleanupRecovery","target":"LibTmux.Server#t:CleanupRecovery","text":"CleanupRecovery"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO","text":"IO"},{"text":" "},{"href":"LibTmux-Server.html#t:CleanupStatus","target":"LibTmux.Server#t:CleanupStatus","text":"CleanupStatus"}],"params":[],"raw":"resumeCleanup :: CleanupRecovery -> IO CleanupStatus"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scope.hs","line":104,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Retry bounded owned cleanup. An incomplete result retains this owner;\n the operation does not retry a tmux command or release logical uncertainty."},"references":[{"target":"LibTmux.Server#t:CleanupRecovery","kind":"type"},{"target":"LibTmux.Server#t:CleanupStatus","kind":"type"}],"slug":"libtmux-server-v-resumecleanup"},{"id":"LibTmux.Server#v:awaitCleanup","publicId":"LibTmux.Server#v:awaitCleanup","name":"awaitCleanup","qualifiedName":"LibTmux.Server.awaitCleanup","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"awaitCleanup"},{"text":" :: "},{"href":"LibTmux-Server.html#t:CleanupRecovery","target":"LibTmux.Server#t:CleanupRecovery","text":"CleanupRecovery"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO","text":"IO"},{"text":" "},{"href":"LibTmux-Server.html#t:CleanupStatus","target":"LibTmux.Server#t:CleanupStatus","text":"CleanupStatus"}],"params":[],"raw":"awaitCleanup :: CleanupRecovery -> IO CleanupStatus"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scope.hs","line":112,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Wait for this target's physical cleanup, then inspect its logical debt.\n The wait has no deadline.\n Cancellation or failure preserves an annotated cleanup owner. Use\n :obj:`resumeCleanup ` when the caller requires a bounded attempt."},"references":[{"target":"LibTmux.Server#t:CleanupRecovery","kind":"type"},{"target":"LibTmux.Server#t:CleanupStatus","kind":"type"}],"slug":"libtmux-server-v-awaitcleanup"},{"id":"LibTmux.Server#v:detachUnresolved","publicId":"LibTmux.Server#v:detachUnresolved","name":"detachUnresolved","qualifiedName":"LibTmux.Server.detachUnresolved","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"detachUnresolved"},{"text":" :: "},{"href":"LibTmux-Server.html#t:CleanupRecovery","target":"LibTmux.Server#t:CleanupRecovery","text":"CleanupRecovery"},{"text":" -> "},{"href":"LibTmux-Server.html#t:Operation","target":"LibTmux.Server#t:Operation","text":"Operation"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO","text":"IO"},{"text":" "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool","text":"Bool"}],"params":[],"raw":"detachUnresolved :: CleanupRecovery -> Operation -> IO Bool"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":185,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Relinquish one logical operation from this cleanup scope. This releases\n no native resources and does not prove that daemon-side work completed."},"references":[{"target":"LibTmux.Server#t:CleanupRecovery","kind":"type"},{"target":"LibTmux.Server#t:Operation","kind":"type"}],"slug":"libtmux-server-v-detachunresolved"},{"id":"LibTmux.Server#t:CaptureRecovery","publicId":"LibTmux.Server#t:CaptureRecovery","name":"CaptureRecovery","qualifiedName":"LibTmux.Server.CaptureRecovery","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"CaptureRecovery"}],"params":[],"raw":"data CaptureRecovery"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Capture.hs","line":49,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A reachable owner for one failed or cancelled capture. The receipt holds\n metadata only; the Runtime retains any remaining native and logical owners.","body":"## Instances\n\n- instance [ExceptionAnnotation](https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception-Annotation.html#t:ExceptionAnnotation) :obj:`CaptureRecovery ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Capture.hs#L53))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`CaptureRecovery ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Capture.hs#L50))"},"references":[{"target":"LibTmux.Server#t:CaptureRecovery","kind":"type"}],"slug":"libtmux-server-t-capturerecovery"},{"id":"LibTmux.Server#v:captureRecoveries","publicId":"LibTmux.Server#v:captureRecoveries","name":"captureRecoveries","qualifiedName":"LibTmux.Server.captureRecoveries","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"captureRecoveries"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception-Context.html#t:ExceptionContext","text":"ExceptionContext"},{"text":" -> ["},{"href":"LibTmux-Server.html#t:CaptureRecovery","target":"LibTmux.Server#t:CaptureRecovery","text":"CaptureRecovery"},{"text":"]"}],"params":[],"raw":"captureRecoveries :: ExceptionContext -> [CaptureRecovery]"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":189,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Capture owners retained in an exception context, including cancellation."},"references":[{"target":"LibTmux.Server#t:CaptureRecovery","kind":"type"}],"slug":"libtmux-server-v-capturerecoveries"},{"id":"LibTmux.Server#v:recoveryOperation","publicId":"LibTmux.Server#v:recoveryOperation","name":"recoveryOperation","qualifiedName":"LibTmux.Server.recoveryOperation","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"recoveryOperation"},{"text":" :: "},{"href":"LibTmux-Server.html#t:CaptureRecovery","target":"LibTmux.Server#t:CaptureRecovery","text":"CaptureRecovery"},{"text":" -> "},{"href":"LibTmux-Server.html#t:Operation","target":"LibTmux.Server#t:Operation","text":"Operation"}],"params":[],"raw":"recoveryOperation :: CaptureRecovery -> Operation"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":193,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Metadata-only operation identity for the failed capture."},"references":[{"target":"LibTmux.Server#t:CaptureRecovery","kind":"type"},{"target":"LibTmux.Server#t:Operation","kind":"type"}],"slug":"libtmux-server-v-recoveryoperation"},{"id":"LibTmux.Server#v:recoveryGeneration","publicId":"LibTmux.Server#v:recoveryGeneration","name":"recoveryGeneration","qualifiedName":"LibTmux.Server.recoveryGeneration","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"recoveryGeneration"},{"text":" :: "},{"href":"LibTmux-Server.html#t:CaptureRecovery","target":"LibTmux.Server#t:CaptureRecovery","text":"CaptureRecovery"},{"text":" -> "},{"href":"LibTmux-Snapshot.html#t:Generation","target":"LibTmux.Snapshot#t:Generation","text":"Generation"}],"params":[],"raw":"recoveryGeneration :: CaptureRecovery -> Generation"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":197,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Correlate the failed capture with its Server generation."},"references":[{"target":"LibTmux.Server#t:CaptureRecovery","kind":"type"},{"target":"LibTmux.Snapshot#t:Generation","kind":"type"}],"slug":"libtmux-server-v-recoverygeneration"},{"id":"LibTmux.Server#t:ReadRecovery","publicId":"LibTmux.Server#t:ReadRecovery","name":"ReadRecovery","qualifiedName":"LibTmux.Server.ReadRecovery","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"ReadRecovery"}],"params":[],"raw":"data ReadRecovery"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Runtime.hs","line":102,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Logical responsibility and an operation's physical owners, observed together.\n A released native child does not establish a daemon-side command outcome.","body":"## Instances\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`ReadRecovery ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Runtime.hs#L108))"},"references":[{"target":"LibTmux.Server#t:ReadRecovery","kind":"type"}],"slug":"libtmux-server-t-readrecovery"},{"id":"LibTmux.Server#v:ReadRecovery","publicId":"LibTmux.Server#v:ReadRecovery","name":"ReadRecovery","qualifiedName":"LibTmux.Server.ReadRecovery","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:ReadRecovery","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"ReadRecovery"}],"params":[],"raw":"ReadRecovery"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Runtime.hs","line":102,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"slug":"libtmux-server-v-readrecovery"},{"id":"LibTmux.Server#v:ReadRecovery.logical","publicId":"LibTmux.Server#v:ReadRecovery.logical","name":"logical","qualifiedName":"LibTmux.Server.logical","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:ReadRecovery","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"logical"},{"text":" :: !"},{"href":"LibTmux-Server.html#t:Status","target":"LibTmux.Server#t:Status","text":"Status"}],"params":[],"raw":"logical :: !Status"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Runtime.hs","line":103,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Logical progress, original result and retained responsibility."},"references":[{"target":"LibTmux.Server#t:Status","kind":"type"}],"slug":"libtmux-server-v-readrecovery-logical"},{"id":"LibTmux.Server#v:ReadRecovery.workerOwned","publicId":"LibTmux.Server#v:ReadRecovery.workerOwned","name":"workerOwned","qualifiedName":"LibTmux.Server.workerOwned","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:ReadRecovery","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"workerOwned"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool","text":"Bool"}],"params":[],"raw":"workerOwned :: !Bool"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Runtime.hs","line":104,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A decoder or recovery worker still owns this operation."},"slug":"libtmux-server-v-readrecovery-workerowned"},{"id":"LibTmux.Server#v:ReadRecovery.workerFailure","publicId":"LibTmux.Server#v:ReadRecovery.workerFailure","name":"workerFailure","qualifiedName":"LibTmux.Server.workerFailure","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:ReadRecovery","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"workerFailure"},{"text":" :: !("},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe","text":"Maybe"},{"text":" "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:SomeException","text":"SomeException"},{"text":")"}],"params":[],"raw":"workerFailure :: !(Maybe SomeException)"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Runtime.hs","line":105,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Retained decoder or recovery failure."},"slug":"libtmux-server-v-readrecovery-workerfailure"},{"id":"LibTmux.Server#v:ReadRecovery.nativeOwned","publicId":"LibTmux.Server#v:ReadRecovery.nativeOwned","name":"nativeOwned","qualifiedName":"LibTmux.Server.nativeOwned","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:ReadRecovery","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"nativeOwned"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool","text":"Bool"}],"params":[],"raw":"nativeOwned :: !Bool"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Runtime.hs","line":106,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A native child or its cleanup remains owned."},"slug":"libtmux-server-v-readrecovery-nativeowned"},{"id":"LibTmux.Server#v:ReadRecovery.nativeFailure","publicId":"LibTmux.Server#v:ReadRecovery.nativeFailure","name":"nativeFailure","qualifiedName":"LibTmux.Server.nativeFailure","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:ReadRecovery","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"nativeFailure"},{"text":" :: !("},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe","text":"Maybe"},{"text":" "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:SomeException","text":"SomeException"},{"text":")"}],"params":[],"raw":"nativeFailure :: !(Maybe SomeException)"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Runtime.hs","line":107,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Retained native cleanup failure."},"slug":"libtmux-server-v-readrecovery-nativefailure"},{"id":"LibTmux.Server#v:inspectCaptureRecovery","publicId":"LibTmux.Server#v:inspectCaptureRecovery","name":"inspectCaptureRecovery","qualifiedName":"LibTmux.Server.inspectCaptureRecovery","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"inspectCaptureRecovery"},{"text":" :: "},{"href":"LibTmux-Server.html#t:CaptureRecovery","target":"LibTmux.Server#t:CaptureRecovery","text":"CaptureRecovery"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO","text":"IO"},{"text":" "},{"href":"LibTmux-Server.html#t:ReadRecovery","target":"LibTmux.Server#t:ReadRecovery","text":"ReadRecovery"}],"params":[],"raw":"inspectCaptureRecovery :: CaptureRecovery -> IO ReadRecovery"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":202,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Observe logical outcome, decoder ownership and native cleanup locally.\n This reads runtime metadata and performs no tmux command."},"references":[{"target":"LibTmux.Server#t:CaptureRecovery","kind":"type"},{"target":"LibTmux.Server#t:ReadRecovery","kind":"type"}],"slug":"libtmux-server-v-inspectcapturerecovery"},{"id":"LibTmux.Server#v:resumeCaptureRecovery","publicId":"LibTmux.Server#v:resumeCaptureRecovery","name":"resumeCaptureRecovery","qualifiedName":"LibTmux.Server.resumeCaptureRecovery","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"resumeCaptureRecovery"},{"text":" :: "},{"href":"LibTmux-Server.html#t:CaptureRecovery","target":"LibTmux.Server#t:CaptureRecovery","text":"CaptureRecovery"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO","text":"IO"},{"text":" ()"}],"params":[],"raw":"resumeCaptureRecovery :: CaptureRecovery -> IO ()"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":206,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Resume existing cleanup without dispatching the capture again."},"references":[{"target":"LibTmux.Server#t:CaptureRecovery","kind":"type"}],"slug":"libtmux-server-v-resumecapturerecovery"},{"id":"LibTmux.Server#v:detachCaptureRecovery","publicId":"LibTmux.Server#v:detachCaptureRecovery","name":"detachCaptureRecovery","qualifiedName":"LibTmux.Server.detachCaptureRecovery","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"detachCaptureRecovery"},{"text":" :: "},{"href":"LibTmux-Server.html#t:CaptureRecovery","target":"LibTmux.Server#t:CaptureRecovery","text":"CaptureRecovery"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO","text":"IO"},{"text":" "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool","text":"Bool"}],"params":[],"raw":"detachCaptureRecovery :: CaptureRecovery -> IO Bool"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":210,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Explicitly detach logical uncertainty while preserving native ownership."},"references":[{"target":"LibTmux.Server#t:CaptureRecovery","kind":"type"}],"slug":"libtmux-server-v-detachcapturerecovery"},{"id":"LibTmux.Server#t:Operation","publicId":"LibTmux.Server#t:Operation","name":"Operation","qualifiedName":"LibTmux.Server.Operation","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"Operation"}],"params":[],"raw":"data Operation"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scheduler.hs","line":44,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Metadata-only operation identity, readable after responsibility retires.\n Its owning scope controls advancement and explicit detachment.","body":"## Instances\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Operation ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Scheduler.hs#L45))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Operation ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Scheduler.hs#L47))"},"references":[{"target":"LibTmux.Server#t:Operation","kind":"type"}],"slug":"libtmux-server-t-operation"},{"id":"LibTmux.Server#t:Status","publicId":"LibTmux.Server#t:Status","name":"Status","qualifiedName":"LibTmux.Server.Status","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"Status"}],"params":[],"raw":"data Status"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scheduler.hs","line":82,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Progress, published result and responsibility are independent observations.\n A retained uncertain operation still consumes admission and its lane permit.","body":"## Instances\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Status ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Scheduler.hs#L87))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Status ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Scheduler.hs#L87))"},"references":[{"target":"LibTmux.Server#t:Status","kind":"type"}],"slug":"libtmux-server-t-status"},{"id":"LibTmux.Server#v:Status","publicId":"LibTmux.Server#v:Status","name":"Status","qualifiedName":"LibTmux.Server.Status","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:Status","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"Status"}],"params":[],"raw":"Status"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scheduler.hs","line":82,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"slug":"libtmux-server-v-status"},{"id":"LibTmux.Server#v:Status.stage","publicId":"LibTmux.Server#v:Status.stage","name":"stage","qualifiedName":"LibTmux.Server.stage","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:Status","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"stage"},{"text":" :: !"},{"href":"LibTmux-Server.html#t:Stage","target":"LibTmux.Server#t:Stage","text":"Stage"}],"params":[],"raw":"stage :: !Stage"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scheduler.hs","line":83,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Last proven progress."},"references":[{"target":"LibTmux.Server#t:Stage","kind":"type"}],"slug":"libtmux-server-v-status-stage"},{"id":"LibTmux.Server#v:Status.outcome","publicId":"LibTmux.Server#v:Status.outcome","name":"outcome","qualifiedName":"LibTmux.Server.outcome","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:Status","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"outcome"},{"text":" :: !("},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe","text":"Maybe"},{"text":" "},{"href":"LibTmux-Server.html#t:Outcome","target":"LibTmux.Server#t:Outcome","text":"Outcome"},{"text":")"}],"params":[],"raw":"outcome :: !(Maybe Outcome)"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scheduler.hs","line":84,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"First published caller result, when available."},"references":[{"target":"LibTmux.Server#t:Outcome","kind":"type"}],"slug":"libtmux-server-v-status-outcome"},{"id":"LibTmux.Server#v:Status.retained","publicId":"LibTmux.Server#v:Status.retained","name":"retained","qualifiedName":"LibTmux.Server.retained","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:Status","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"retained"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool","text":"Bool"}],"params":[],"raw":"retained :: !Bool"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scheduler.hs","line":85,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Whether the scope still retains logical responsibility."},"slug":"libtmux-server-v-status-retained"},{"id":"LibTmux.Server#t:Stage","publicId":"LibTmux.Server#t:Stage","name":"Stage","qualifiedName":"LibTmux.Server.Stage","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"Stage"}],"params":[],"raw":"data Stage"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scheduler.hs","line":67,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Last observed progress. Publishing an uncertain :obj:`Outcome ` does not\n advance this stage or establish :obj:`OperationComplete `.","body":"## Instances\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Stage ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Scheduler.hs#L68))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Stage ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Scheduler.hs#L68))"},"references":[{"target":"LibTmux.Server#t:Stage","kind":"type"}],"slug":"libtmux-server-t-stage"},{"id":"LibTmux.Server#v:Queued","publicId":"LibTmux.Server#v:Queued","name":"Queued","qualifiedName":"LibTmux.Server.Queued","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:Stage","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"Queued"}],"params":[],"raw":"Queued"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scheduler.hs","line":67,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"slug":"libtmux-server-v-queued"},{"id":"LibTmux.Server#v:Dispatching","publicId":"LibTmux.Server#v:Dispatching","name":"Dispatching","qualifiedName":"LibTmux.Server.Dispatching","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:Stage","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"Dispatching"}],"params":[],"raw":"Dispatching"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scheduler.hs","line":67,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"slug":"libtmux-server-v-dispatching"},{"id":"LibTmux.Server#v:Dispatched","publicId":"LibTmux.Server#v:Dispatched","name":"Dispatched","qualifiedName":"LibTmux.Server.Dispatched","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:Stage","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"Dispatched"}],"params":[],"raw":"Dispatched"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scheduler.hs","line":67,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"slug":"libtmux-server-v-dispatched"},{"id":"LibTmux.Server#v:ResponseClosed","publicId":"LibTmux.Server#v:ResponseClosed","name":"ResponseClosed","qualifiedName":"LibTmux.Server.ResponseClosed","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:Stage","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"ResponseClosed"}],"params":[],"raw":"ResponseClosed"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scheduler.hs","line":67,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"slug":"libtmux-server-v-responseclosed"},{"id":"LibTmux.Server#v:OperationComplete","publicId":"LibTmux.Server#v:OperationComplete","name":"OperationComplete","qualifiedName":"LibTmux.Server.OperationComplete","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:Stage","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"OperationComplete"}],"params":[],"raw":"OperationComplete"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scheduler.hs","line":67,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"slug":"libtmux-server-v-operationcomplete"},{"id":"LibTmux.Server#t:Outcome","publicId":"LibTmux.Server#t:Outcome","name":"Outcome","qualifiedName":"LibTmux.Server.Outcome","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"Outcome"}],"params":[],"raw":"data Outcome"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scheduler.hs","line":72,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"First caller result. Later evidence can retire responsibility without\n rewriting :obj:`OutcomeUnknown ` or :obj:`ConnectionRetired `.","body":"## Instances\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Outcome ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Scheduler.hs#L78))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Outcome ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Scheduler.hs#L78))"},"references":[{"target":"LibTmux.Server#t:Outcome","kind":"type"}],"slug":"libtmux-server-t-outcome"},{"id":"LibTmux.Server#v:Succeeded","publicId":"LibTmux.Server#v:Succeeded","name":"Succeeded","qualifiedName":"LibTmux.Server.Succeeded","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:Outcome","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"Succeeded"}],"params":[],"raw":"Succeeded"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scheduler.hs","line":73,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Validated successful response and completion proof."},"slug":"libtmux-server-v-succeeded"},{"id":"LibTmux.Server#v:Failed","publicId":"LibTmux.Server#v:Failed","name":"Failed","qualifiedName":"LibTmux.Server.Failed","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:Outcome","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"Failed"}],"params":[],"raw":"Failed"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scheduler.hs","line":74,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Validated command failure."},"slug":"libtmux-server-v-failed"},{"id":"LibTmux.Server#v:NotDispatched","publicId":"LibTmux.Server#v:NotDispatched","name":"NotDispatched","qualifiedName":"LibTmux.Server.NotDispatched","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:Outcome","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"NotDispatched"}],"params":[],"raw":"NotDispatched"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scheduler.hs","line":75,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Proof that the operation was never dispatched."},"slug":"libtmux-server-v-notdispatched"},{"id":"LibTmux.Server#v:OutcomeUnknown","publicId":"LibTmux.Server#v:OutcomeUnknown","name":"OutcomeUnknown","qualifiedName":"LibTmux.Server.OutcomeUnknown","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:Outcome","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"OutcomeUnknown"}],"params":[],"raw":"OutcomeUnknown"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scheduler.hs","line":76,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Dispatch may have happened; completion remains uncertain."},"slug":"libtmux-server-v-outcomeunknown"},{"id":"LibTmux.Server#v:ConnectionRetired","publicId":"LibTmux.Server#v:ConnectionRetired","name":"ConnectionRetired","qualifiedName":"LibTmux.Server.ConnectionRetired","namespace":"LibTmux.Server","parent":"LibTmux.Server#t:Outcome","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"ConnectionRetired"}],"params":[],"raw":"ConnectionRetired"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Scheduler.hs","line":77,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"The connection retired while responsibility remained."},"slug":"libtmux-server-v-connectionretired"},{"id":"LibTmux.Server#v:operationStatus","publicId":"LibTmux.Server#v:operationStatus","name":"operationStatus","qualifiedName":"LibTmux.Server.operationStatus","namespace":"LibTmux.Server","parent":"LibTmux.Server","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"operationStatus"},{"text":" :: "},{"href":"LibTmux-Server.html#t:Operation","target":"LibTmux.Server#t:Operation","text":"Operation"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:IO","text":"IO"},{"text":" "},{"href":"LibTmux-Server.html#t:Status","target":"LibTmux.Server#t:Status","text":"Status"}],"params":[],"raw":"operationStatus :: Operation -> IO Status"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Server.hs","line":214,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Read retained operation metadata, including after its physical cleanup."},"references":[{"target":"LibTmux.Server#t:Operation","kind":"type"},{"target":"LibTmux.Server#t:Status","kind":"type"}],"slug":"libtmux-server-v-operationstatus"},{"id":"LibTmux.Snapshot#t:Snapshot","publicId":"LibTmux.Snapshot#t:Snapshot","name":"Snapshot","qualifiedName":"LibTmux.Snapshot.Snapshot","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"Snapshot"}],"params":[],"raw":"data Snapshot"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":188,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Validated metadata, physical graph and attached-client observations.\n Construction checks every join and forces owned values. List processing\n and indexed lookup remain pure after the operational Server closes.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`Snapshot ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L190))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Snapshot ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L189))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Snapshot ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L189))"},"references":[{"target":"LibTmux.Snapshot#t:Snapshot","kind":"type"}],"slug":"libtmux-snapshot-t-snapshot"},{"id":"LibTmux.Snapshot#t:ServerInfo","publicId":"LibTmux.Snapshot#t:ServerInfo","name":"ServerInfo","qualifiedName":"LibTmux.Snapshot.ServerInfo","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"ServerInfo"}],"params":[],"raw":"data ServerInfo"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":138,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Reported daemon metadata within one adopted generation. PID and start\n time are observations; they do not grant signal authority or durable identity.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`ServerInfo ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L146))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`ServerInfo ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L145))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`ServerInfo ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L145))"},"references":[{"target":"LibTmux.Snapshot#t:ServerInfo","kind":"type"}],"slug":"libtmux-snapshot-t-serverinfo"},{"id":"LibTmux.Snapshot#v:ServerInfo","publicId":"LibTmux.Snapshot#v:ServerInfo","name":"ServerInfo","qualifiedName":"LibTmux.Snapshot.ServerInfo","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:ServerInfo","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"ServerInfo"}],"params":[],"raw":"ServerInfo"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":138,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"slug":"libtmux-snapshot-v-serverinfo-1eu6"},{"id":"LibTmux.Snapshot#v:ServerInfo.generation","publicId":"LibTmux.Snapshot#v:ServerInfo.generation","name":"generation","qualifiedName":"LibTmux.Snapshot.generation","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:ServerInfo","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"generation"},{"text":" :: !"},{"href":"LibTmux-Snapshot.html#t:Generation","target":"LibTmux.Snapshot#t:Generation","text":"Generation"}],"params":[],"raw":"generation :: !Generation"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Connection identity shared by all references in this snapshot."},"references":[{"target":"LibTmux.Snapshot#t:Generation","kind":"type"}],"slug":"libtmux-snapshot-v-serverinfo-generation"},{"id":"LibTmux.Snapshot#v:ServerInfo.pid","publicId":"LibTmux.Snapshot#v:ServerInfo.pid","name":"pid","qualifiedName":"LibTmux.Snapshot.pid","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:ServerInfo","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"pid"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"pid :: !Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Positive daemon process ID reported by tmux."},"slug":"libtmux-snapshot-v-serverinfo-pid"},{"id":"LibTmux.Snapshot#v:ServerInfo.startedAt","publicId":"LibTmux.Snapshot#v:ServerInfo.startedAt","name":"startedAt","qualifiedName":"LibTmux.Snapshot.startedAt","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:ServerInfo","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"startedAt"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"startedAt :: !Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":141,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Daemon start time in whole seconds since the Unix epoch."},"slug":"libtmux-snapshot-v-serverinfo-startedat"},{"id":"LibTmux.Snapshot#v:ServerInfo.version","publicId":"LibTmux.Snapshot#v:ServerInfo.version","name":"version","qualifiedName":"LibTmux.Snapshot.version","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:ServerInfo","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"version"},{"text":" :: !"},{"href":"LibTmux-Version.html#t:TmuxVersion","target":"LibTmux.Version#t:TmuxVersion","text":"TmuxVersion"}],"params":[],"raw":"version :: !TmuxVersion"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":142,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Stable release admitted by :obj:`LibTmux.Version `."},"references":[{"target":"LibTmux.Version#t:TmuxVersion","kind":"type"}],"slug":"libtmux-snapshot-v-serverinfo-version"},{"id":"LibTmux.Snapshot#v:ServerInfo.socketPath","publicId":"LibTmux.Snapshot#v:ServerInfo.socketPath","name":"socketPath","qualifiedName":"LibTmux.Snapshot.socketPath","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:ServerInfo","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"socketPath"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath","text":"PosixPath"}],"params":[],"raw":"socketPath :: !PosixPath"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":143,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Reported endpoint path, preserved as POSIX bytes."},"slug":"libtmux-snapshot-v-serverinfo-socketpath"},{"id":"LibTmux.Snapshot#t:SnapshotOrigin","publicId":"LibTmux.Snapshot#t:SnapshotOrigin","name":"SnapshotOrigin","qualifiedName":"LibTmux.Snapshot.SnapshotOrigin","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"SnapshotOrigin"}],"params":[],"raw":"data SnapshotOrigin"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":57,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Where the validated values were obtained. A server capture does not\n establish current liveness. Offline namespaces carry no targeting authority.","body":"## Instances\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`SnapshotOrigin ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Snapshot.hs#L60))\n\n- instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`SnapshotOrigin ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Snapshot.hs#L60))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`SnapshotOrigin ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Snapshot.hs#L60))"},"references":[{"target":"LibTmux.Snapshot#t:SnapshotOrigin","kind":"type"}],"slug":"libtmux-snapshot-t-snapshotorigin"},{"id":"LibTmux.Snapshot#v:AcquiredFromTmux","publicId":"LibTmux.Snapshot#v:AcquiredFromTmux","name":"AcquiredFromTmux","qualifiedName":"LibTmux.Snapshot.AcquiredFromTmux","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:SnapshotOrigin","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"AcquiredFromTmux"}],"params":[],"raw":"AcquiredFromTmux"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":58,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Acquired through an operational Server handle."},"slug":"libtmux-snapshot-v-acquiredfromtmux"},{"id":"LibTmux.Snapshot#v:DefinedOffline","publicId":"LibTmux.Snapshot#v:DefinedOffline","name":"DefinedOffline","qualifiedName":"LibTmux.Snapshot.DefinedOffline","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:SnapshotOrigin","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"DefinedOffline"},{"text":" !"},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"DefinedOffline !Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":59,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Constructed and validated in a named fixture namespace."},"slug":"libtmux-snapshot-v-definedoffline"},{"id":"LibTmux.Snapshot#v:snapshotOrigin","publicId":"LibTmux.Snapshot#v:snapshotOrigin","name":"snapshotOrigin","qualifiedName":"LibTmux.Snapshot.snapshotOrigin","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"snapshotOrigin"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:Snapshot","target":"LibTmux.Snapshot#t:Snapshot","text":"Snapshot"},{"text":" -> "},{"href":"LibTmux-Snapshot.html#t:SnapshotOrigin","target":"LibTmux.Snapshot#t:SnapshotOrigin","text":"SnapshotOrigin"}],"params":[],"raw":"snapshotOrigin :: Snapshot -> SnapshotOrigin"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":65,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Inspect provenance without contacting tmux. See\n :obj:`LibTmux.Snapshot.Fixture ` for validated offline construction."},"references":[{"target":"LibTmux.Snapshot#t:Snapshot","kind":"type"},{"target":"LibTmux.Snapshot#t:SnapshotOrigin","kind":"type"}],"slug":"libtmux-snapshot-v-snapshotorigin"},{"id":"LibTmux.Snapshot#v:serverInfo","publicId":"LibTmux.Snapshot#v:serverInfo","name":"serverInfo","qualifiedName":"LibTmux.Snapshot.serverInfo","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"serverInfo"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:Snapshot","target":"LibTmux.Snapshot#t:Snapshot","text":"Snapshot"},{"text":" -> "},{"href":"LibTmux-Snapshot.html#t:ServerInfo","target":"LibTmux.Snapshot#t:ServerInfo","text":"ServerInfo"}],"params":[],"raw":"serverInfo :: Snapshot -> ServerInfo"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":195,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Daemon metadata captured with this graph."},"references":[{"target":"LibTmux.Snapshot#t:Snapshot","kind":"type"},{"target":"LibTmux.Snapshot#t:ServerInfo","kind":"type"}],"slug":"libtmux-snapshot-v-serverinfo-om0z"},{"id":"LibTmux.Snapshot#v:captureInterval","publicId":"LibTmux.Snapshot#v:captureInterval","name":"captureInterval","qualifiedName":"LibTmux.Snapshot.captureInterval","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"captureInterval"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:Snapshot","target":"LibTmux.Snapshot#t:Snapshot","text":"Snapshot"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe","text":"Maybe"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:CaptureInterval","target":"LibTmux.Snapshot#t:CaptureInterval","text":"CaptureInterval"}],"params":[],"raw":"captureInterval :: Snapshot -> Maybe CaptureInterval"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":217,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Acquisition bounds attached to a live capture. An unstamped decoded\n profile stays private; an offline fixture has no external capture interval."},"references":[{"target":"LibTmux.Snapshot#t:Snapshot","kind":"type"},{"target":"LibTmux.Snapshot#t:CaptureInterval","kind":"type"}],"slug":"libtmux-snapshot-v-captureinterval-190g"},{"id":"LibTmux.Snapshot#t:CaptureInterval","publicId":"LibTmux.Snapshot#t:CaptureInterval","name":"CaptureInterval","qualifiedName":"LibTmux.Snapshot.CaptureInterval","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"CaptureInterval"}],"params":[],"raw":"data CaptureInterval"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":206,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Monotonic process-clock bounds around acquisition. These values describe\n an interval and do not promise an atomic observation or a wall-clock epoch.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`CaptureInterval ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L211))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`CaptureInterval ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L210))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`CaptureInterval ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L210))"},"references":[{"target":"LibTmux.Snapshot#t:CaptureInterval","kind":"type"}],"slug":"libtmux-snapshot-t-captureinterval"},{"id":"LibTmux.Snapshot#v:CaptureInterval","publicId":"LibTmux.Snapshot#v:CaptureInterval","name":"CaptureInterval","qualifiedName":"LibTmux.Snapshot.CaptureInterval","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:CaptureInterval","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"CaptureInterval"}],"params":[],"raw":"CaptureInterval"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":206,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"slug":"libtmux-snapshot-v-captureinterval-103j"},{"id":"LibTmux.Snapshot#v:CaptureInterval.startedNanoseconds","publicId":"LibTmux.Snapshot#v:CaptureInterval.startedNanoseconds","name":"startedNanoseconds","qualifiedName":"LibTmux.Snapshot.startedNanoseconds","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:CaptureInterval","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"startedNanoseconds"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Word.html#t:Word64","text":"Word64"}],"params":[],"raw":"startedNanoseconds :: !Word64"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":207,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Monotonic time sampled before acquisition."},"slug":"libtmux-snapshot-v-captureinterval-startednanoseconds"},{"id":"LibTmux.Snapshot#v:CaptureInterval.finishedNanoseconds","publicId":"LibTmux.Snapshot#v:CaptureInterval.finishedNanoseconds","name":"finishedNanoseconds","qualifiedName":"LibTmux.Snapshot.finishedNanoseconds","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:CaptureInterval","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"finishedNanoseconds"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Word.html#t:Word64","text":"Word64"}],"params":[],"raw":"finishedNanoseconds :: !Word64"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":208,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Monotonic time after decoding and forcing."},"slug":"libtmux-snapshot-v-captureinterval-finishednanoseconds"},{"id":"LibTmux.Snapshot#t:Session","publicId":"LibTmux.Snapshot#t:Session","name":"Session","qualifiedName":"LibTmux.Snapshot.Session","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"Session"}],"params":[],"raw":"data Session"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":76,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Detached physical session. Navigate its appearances through :obj:`WindowLink `.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`Session ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L82))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Session ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L81))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Session ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L81))"},"references":[{"target":"LibTmux.Snapshot#t:Session","kind":"type"}],"slug":"libtmux-snapshot-t-session"},{"id":"LibTmux.Snapshot#v:Session","publicId":"LibTmux.Snapshot#v:Session","name":"Session","qualifiedName":"LibTmux.Snapshot.Session","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Session","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"Session"}],"params":[],"raw":"Session"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":76,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"slug":"libtmux-snapshot-v-session"},{"id":"LibTmux.Snapshot#v:Session.ref","publicId":"LibTmux.Snapshot#v:Session.ref","name":"ref","qualifiedName":"LibTmux.Snapshot.ref","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Session","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"ref"},{"text":" :: !"},{"href":"LibTmux-Snapshot.html#t:SessionRef","target":"LibTmux.Snapshot#t:SessionRef","text":"SessionRef"}],"params":[],"raw":"ref :: !SessionRef"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Target identity in the observation's generation."},"references":[{"target":"LibTmux.Snapshot#t:SessionRef","kind":"type"}],"slug":"libtmux-snapshot-v-session-ref"},{"id":"LibTmux.Snapshot#v:Session.name","publicId":"LibTmux.Snapshot#v:Session.name","name":"name","qualifiedName":"LibTmux.Snapshot.name","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Session","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"name"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"name :: !Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Session name as reported and decoded by tmux."},"slug":"libtmux-snapshot-v-session-name"},{"id":"LibTmux.Snapshot#v:Session.attached","publicId":"LibTmux.Snapshot#v:Session.attached","name":"attached","qualifiedName":"LibTmux.Snapshot.attached","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Session","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"attached"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"attached :: !Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":79,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Nonnegative reported count, independent of the captured client listing."},"slug":"libtmux-snapshot-v-session-attached"},{"id":"LibTmux.Snapshot#t:Window","publicId":"LibTmux.Snapshot#t:Window","name":"Window","qualifiedName":"LibTmux.Snapshot.Window","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"Window"}],"params":[],"raw":"data Window"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":86,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Detached physical window, independent of its session and index appearances.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`Window ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L93))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Window ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L92))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Window ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L92))"},"references":[{"target":"LibTmux.Snapshot#t:Window","kind":"type"}],"slug":"libtmux-snapshot-t-window"},{"id":"LibTmux.Snapshot#v:Window","publicId":"LibTmux.Snapshot#v:Window","name":"Window","qualifiedName":"LibTmux.Snapshot.Window","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Window","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"Window"}],"params":[],"raw":"Window"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":86,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"slug":"libtmux-snapshot-v-window"},{"id":"LibTmux.Snapshot#v:Window.ref","publicId":"LibTmux.Snapshot#v:Window.ref","name":"ref","qualifiedName":"LibTmux.Snapshot.ref","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Window","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"ref"},{"text":" :: !"},{"href":"LibTmux-Snapshot.html#t:WindowRef","target":"LibTmux.Snapshot#t:WindowRef","text":"WindowRef"}],"params":[],"raw":"ref :: !WindowRef"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Shared identity across this snapshot's window links."},"references":[{"target":"LibTmux.Snapshot#t:WindowRef","kind":"type"}],"slug":"libtmux-snapshot-v-window-ref"},{"id":"LibTmux.Snapshot#v:Window.name","publicId":"LibTmux.Snapshot#v:Window.name","name":"name","qualifiedName":"LibTmux.Snapshot.name","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Window","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"name"},{"text":" :: !"},{"href":"LibTmux-Snapshot.html#t:TmuxText","target":"LibTmux.Snapshot#t:TmuxText","text":"TmuxText"}],"params":[],"raw":"name :: !TmuxText"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Reported bytes, including non-text names on older tmux."},"references":[{"target":"LibTmux.Snapshot#t:TmuxText","kind":"type"}],"slug":"libtmux-snapshot-v-window-name"},{"id":"LibTmux.Snapshot#v:Window.width","publicId":"LibTmux.Snapshot#v:Window.width","name":"width","qualifiedName":"LibTmux.Snapshot.width","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Window","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"width"},{"text":" :: !"},{"href":"LibTmux-Value.html#t:Dimension","target":"LibTmux.Value#t:Dimension","text":"Dimension"}],"params":[],"raw":"width :: !Dimension"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Positive terminal width in cells."},"references":[{"target":"LibTmux.Value#t:Dimension","kind":"type"}],"slug":"libtmux-snapshot-v-window-width"},{"id":"LibTmux.Snapshot#v:Window.height","publicId":"LibTmux.Snapshot#v:Window.height","name":"height","qualifiedName":"LibTmux.Snapshot.height","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Window","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"height"},{"text":" :: !"},{"href":"LibTmux-Value.html#t:Dimension","target":"LibTmux.Value#t:Dimension","text":"Dimension"}],"params":[],"raw":"height :: !Dimension"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Positive terminal height in cells."},"references":[{"target":"LibTmux.Value#t:Dimension","kind":"type"}],"slug":"libtmux-snapshot-v-window-height"},{"id":"LibTmux.Snapshot#t:Pane","publicId":"LibTmux.Snapshot#t:Pane","name":"Pane","qualifiedName":"LibTmux.Snapshot.Pane","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"Pane"}],"params":[],"raw":"data Pane"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":98,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Detached physical pane. Its window can appear in several session contexts;\n :obj:`PaneOccurrence ` preserves an appearance without duplicating physical identity.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`Pane ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L111))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Pane ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L110))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Pane ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L110))"},"references":[{"target":"LibTmux.Snapshot#t:Pane","kind":"type"}],"slug":"libtmux-snapshot-t-pane"},{"id":"LibTmux.Snapshot#v:Pane","publicId":"LibTmux.Snapshot#v:Pane","name":"Pane","qualifiedName":"LibTmux.Snapshot.Pane","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Pane","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"Pane"}],"params":[],"raw":"Pane"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":98,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"slug":"libtmux-snapshot-v-pane"},{"id":"LibTmux.Snapshot#v:Pane.ref","publicId":"LibTmux.Snapshot#v:Pane.ref","name":"ref","qualifiedName":"LibTmux.Snapshot.ref","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Pane","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"ref"},{"text":" :: !"},{"href":"LibTmux-Snapshot.html#t:PaneRef","target":"LibTmux.Snapshot#t:PaneRef","text":"PaneRef"}],"params":[],"raw":"ref :: !PaneRef"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Pane identity in the observation's generation."},"references":[{"target":"LibTmux.Snapshot#t:PaneRef","kind":"type"}],"slug":"libtmux-snapshot-v-pane-ref"},{"id":"LibTmux.Snapshot#v:Pane.window","publicId":"LibTmux.Snapshot#v:Pane.window","name":"window","qualifiedName":"LibTmux.Snapshot.window","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Pane","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"window"},{"text":" :: !"},{"href":"LibTmux-Snapshot.html#t:WindowRef","target":"LibTmux.Snapshot#t:WindowRef","text":"WindowRef"}],"params":[],"raw":"window :: !WindowRef"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Containing physical window, resolved against a snapshot."},"references":[{"target":"LibTmux.Snapshot#t:WindowRef","kind":"type"}],"slug":"libtmux-snapshot-v-pane-window"},{"id":"LibTmux.Snapshot#v:Pane.index","publicId":"LibTmux.Snapshot#v:Pane.index","name":"index","qualifiedName":"LibTmux.Snapshot.index","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Pane","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"index"},{"text":" :: !"},{"href":"LibTmux-Value.html#t:PaneIndex","target":"LibTmux.Value#t:PaneIndex","text":"PaneIndex"}],"params":[],"raw":"index :: !PaneIndex"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Nonnegative pane index within that window."},"references":[{"target":"LibTmux.Value#t:PaneIndex","kind":"type"}],"slug":"libtmux-snapshot-v-pane-index"},{"id":"LibTmux.Snapshot#v:Pane.width","publicId":"LibTmux.Snapshot#v:Pane.width","name":"width","qualifiedName":"LibTmux.Snapshot.width","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Pane","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"width"},{"text":" :: !"},{"href":"LibTmux-Value.html#t:Dimension","target":"LibTmux.Value#t:Dimension","text":"Dimension"}],"params":[],"raw":"width :: !Dimension"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Positive terminal width in cells."},"references":[{"target":"LibTmux.Value#t:Dimension","kind":"type"}],"slug":"libtmux-snapshot-v-pane-width"},{"id":"LibTmux.Snapshot#v:Pane.height","publicId":"LibTmux.Snapshot#v:Pane.height","name":"height","qualifiedName":"LibTmux.Snapshot.height","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Pane","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"height"},{"text":" :: !"},{"href":"LibTmux-Value.html#t:Dimension","target":"LibTmux.Value#t:Dimension","text":"Dimension"}],"params":[],"raw":"height :: !Dimension"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Positive terminal height in cells."},"references":[{"target":"LibTmux.Value#t:Dimension","kind":"type"}],"slug":"libtmux-snapshot-v-pane-height"},{"id":"LibTmux.Snapshot#v:Pane.active","publicId":"LibTmux.Snapshot#v:Pane.active","name":"active","qualifiedName":"LibTmux.Snapshot.active","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Pane","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"active"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool","text":"Bool"}],"params":[],"raw":"active :: !Bool"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"The window's active pane, rather than a separate client focus."},"slug":"libtmux-snapshot-v-pane-active"},{"id":"LibTmux.Snapshot#v:Pane.dead","publicId":"LibTmux.Snapshot#v:Pane.dead","name":"dead","qualifiedName":"LibTmux.Snapshot.dead","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Pane","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"dead"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool","text":"Bool"}],"params":[],"raw":"dead :: !Bool"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":105,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Whether tmux reports the pane process as dead."},"slug":"libtmux-snapshot-v-pane-dead"},{"id":"LibTmux.Snapshot#v:Pane.title","publicId":"LibTmux.Snapshot#v:Pane.title","name":"title","qualifiedName":"LibTmux.Snapshot.title","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Pane","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"title"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"title :: !Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":106,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Valid UTF-8 pane title reported by tmux."},"slug":"libtmux-snapshot-v-pane-title"},{"id":"LibTmux.Snapshot#v:Pane.currentCommand","publicId":"LibTmux.Snapshot#v:Pane.currentCommand","name":"currentCommand","qualifiedName":"LibTmux.Snapshot.currentCommand","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Pane","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"currentCommand"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixString","text":"PosixString"}],"params":[],"raw":"currentCommand :: !PosixString"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":107,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Reported process name; tmux may normalize it."},"slug":"libtmux-snapshot-v-pane-currentcommand"},{"id":"LibTmux.Snapshot#v:Pane.currentPath","publicId":"LibTmux.Snapshot#v:Pane.currentPath","name":"currentPath","qualifiedName":"LibTmux.Snapshot.currentPath","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Pane","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"currentPath"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath","text":"PosixPath"}],"params":[],"raw":"currentPath :: !PosixPath"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":108,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Endpoint data, without local path interpretation."},"slug":"libtmux-snapshot-v-pane-currentpath"},{"id":"LibTmux.Snapshot#t:WindowLink","publicId":"LibTmux.Snapshot#t:WindowLink","name":"WindowLink","qualifiedName":"LibTmux.Snapshot.WindowLink","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"WindowLink"}],"params":[],"raw":"data WindowLink"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":117,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"One observed session*index*window binding. Indices are reusable positions;\n this value describes captured context. The same window may appear repeatedly.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`WindowLink ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L124))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`WindowLink ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L123))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`WindowLink ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L123))"},"references":[{"target":"LibTmux.Snapshot#t:WindowLink","kind":"type"}],"slug":"libtmux-snapshot-t-windowlink"},{"id":"LibTmux.Snapshot#v:WindowLink","publicId":"LibTmux.Snapshot#v:WindowLink","name":"WindowLink","qualifiedName":"LibTmux.Snapshot.WindowLink","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:WindowLink","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"WindowLink"}],"params":[],"raw":"WindowLink"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":117,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"slug":"libtmux-snapshot-v-windowlink"},{"id":"LibTmux.Snapshot#v:WindowLink.session","publicId":"LibTmux.Snapshot#v:WindowLink.session","name":"session","qualifiedName":"LibTmux.Snapshot.session","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:WindowLink","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"session"},{"text":" :: !"},{"href":"LibTmux-Snapshot.html#t:SessionRef","target":"LibTmux.Snapshot#t:SessionRef","text":"SessionRef"}],"params":[],"raw":"session :: !SessionRef"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Session containing this appearance."},"references":[{"target":"LibTmux.Snapshot#t:SessionRef","kind":"type"}],"slug":"libtmux-snapshot-v-windowlink-session"},{"id":"LibTmux.Snapshot#v:WindowLink.index","publicId":"LibTmux.Snapshot#v:WindowLink.index","name":"index","qualifiedName":"LibTmux.Snapshot.index","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:WindowLink","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"index"},{"text":" :: !"},{"href":"LibTmux-Value.html#t:WindowIndex","target":"LibTmux.Value#t:WindowIndex","text":"WindowIndex"}],"params":[],"raw":"index :: !WindowIndex"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Position of this link within the session."},"references":[{"target":"LibTmux.Value#t:WindowIndex","kind":"type"}],"slug":"libtmux-snapshot-v-windowlink-index"},{"id":"LibTmux.Snapshot#v:WindowLink.window","publicId":"LibTmux.Snapshot#v:WindowLink.window","name":"window","qualifiedName":"LibTmux.Snapshot.window","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:WindowLink","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"window"},{"text":" :: !"},{"href":"LibTmux-Snapshot.html#t:WindowRef","target":"LibTmux.Snapshot#t:WindowRef","text":"WindowRef"}],"params":[],"raw":"window :: !WindowRef"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Physical window shared by its appearances."},"references":[{"target":"LibTmux.Snapshot#t:WindowRef","kind":"type"}],"slug":"libtmux-snapshot-v-windowlink-window"},{"id":"LibTmux.Snapshot#v:WindowLink.active","publicId":"LibTmux.Snapshot#v:WindowLink.active","name":"active","qualifiedName":"LibTmux.Snapshot.active","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:WindowLink","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"active"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Bool.html#t:Bool","text":"Bool"}],"params":[],"raw":"active :: !Bool"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Whether this is the session's selected window link."},"slug":"libtmux-snapshot-v-windowlink-active"},{"id":"LibTmux.Snapshot#t:PaneOccurrence","publicId":"LibTmux.Snapshot#t:PaneOccurrence","name":"PaneOccurrence","qualifiedName":"LibTmux.Snapshot.PaneOccurrence","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"PaneOccurrence"}],"params":[],"raw":"data PaneOccurrence"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":128,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A physical pane together with one contextual window appearance.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`PaneOccurrence ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L133))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`PaneOccurrence ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L132))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`PaneOccurrence ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L132))"},"references":[{"target":"LibTmux.Snapshot#t:PaneOccurrence","kind":"type"}],"slug":"libtmux-snapshot-t-paneoccurrence"},{"id":"LibTmux.Snapshot#v:PaneOccurrence","publicId":"LibTmux.Snapshot#v:PaneOccurrence","name":"PaneOccurrence","qualifiedName":"LibTmux.Snapshot.PaneOccurrence","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:PaneOccurrence","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"PaneOccurrence"}],"params":[],"raw":"PaneOccurrence"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":128,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"slug":"libtmux-snapshot-v-paneoccurrence"},{"id":"LibTmux.Snapshot#v:PaneOccurrence.pane","publicId":"LibTmux.Snapshot#v:PaneOccurrence.pane","name":"pane","qualifiedName":"LibTmux.Snapshot.pane","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:PaneOccurrence","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"pane"},{"text":" :: !"},{"href":"LibTmux-Snapshot.html#t:Pane","target":"LibTmux.Snapshot#t:Pane","text":"Pane"}],"params":[],"raw":"pane :: !Pane"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Captured physical pane value."},"references":[{"target":"LibTmux.Snapshot#t:Pane","kind":"type"}],"slug":"libtmux-snapshot-v-paneoccurrence-pane"},{"id":"LibTmux.Snapshot#v:PaneOccurrence.link","publicId":"LibTmux.Snapshot#v:PaneOccurrence.link","name":"link","qualifiedName":"LibTmux.Snapshot.link","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:PaneOccurrence","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"link"},{"text":" :: !"},{"href":"LibTmux-Snapshot.html#t:WindowLink","target":"LibTmux.Snapshot#t:WindowLink","text":"WindowLink"}],"params":[],"raw":"link :: !WindowLink"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":130,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Session and index context through which it appears."},"references":[{"target":"LibTmux.Snapshot#t:WindowLink","kind":"type"}],"slug":"libtmux-snapshot-v-paneoccurrence-link"},{"id":"LibTmux.Snapshot#t:Client","publicId":"LibTmux.Snapshot#t:Client","name":"Client","qualifiedName":"LibTmux.Snapshot.Client","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"Client"}],"params":[],"raw":"data Client"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":164,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A detached client observation, not an operational connection or live ref.\n The live profile lists attached clients; an offline value may be unattached.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`Client ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L171))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Client ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L170))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Client ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L170))"},"references":[{"target":"LibTmux.Snapshot#t:Client","kind":"type"}],"slug":"libtmux-snapshot-t-client"},{"id":"LibTmux.Snapshot#v:Client","publicId":"LibTmux.Snapshot#v:Client","name":"Client","qualifiedName":"LibTmux.Snapshot.Client","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Client","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"Client"}],"params":[],"raw":"Client"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":164,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"slug":"libtmux-snapshot-v-client"},{"id":"LibTmux.Snapshot#v:Client.name","publicId":"LibTmux.Snapshot#v:Client.name","name":"name","qualifiedName":"LibTmux.Snapshot.name","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Client","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"name"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixString","text":"PosixString"}],"params":[],"raw":"name :: !PosixString"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Reported client-name bytes; names may be reused."},"slug":"libtmux-snapshot-v-client-name"},{"id":"LibTmux.Snapshot#v:Client.pid","publicId":"LibTmux.Snapshot#v:Client.pid","name":"pid","qualifiedName":"LibTmux.Snapshot.pid","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Client","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"pid"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"pid :: !Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Reported positive client process ID."},"slug":"libtmux-snapshot-v-client-pid"},{"id":"LibTmux.Snapshot#v:Client.tty","publicId":"LibTmux.Snapshot#v:Client.tty","name":"tty","qualifiedName":"LibTmux.Snapshot.tty","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Client","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"tty"},{"text":" :: !("},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe","text":"Maybe"},{"text":" "},{"href":"https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath","text":"PosixPath"},{"text":")"}],"params":[],"raw":"tty :: !(Maybe PosixPath)"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Reported terminal path, when present."},"slug":"libtmux-snapshot-v-client-tty"},{"id":"LibTmux.Snapshot#v:Client.attachment","publicId":"LibTmux.Snapshot#v:Client.attachment","name":"attachment","qualifiedName":"LibTmux.Snapshot.attachment","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:Client","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"attachment"},{"text":" :: !("},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe","text":"Maybe"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:ClientAttachment","target":"LibTmux.Snapshot#t:ClientAttachment","text":"ClientAttachment"},{"text":")"}],"params":[],"raw":"attachment :: !(Maybe ClientAttachment)"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":168,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Attachment values resolved within this capture."},"references":[{"target":"LibTmux.Snapshot#t:ClientAttachment","kind":"type"}],"slug":"libtmux-snapshot-v-client-attachment"},{"id":"LibTmux.Snapshot#t:ClientAttachment","publicId":"LibTmux.Snapshot#t:ClientAttachment","name":"ClientAttachment","qualifiedName":"LibTmux.Snapshot.ClientAttachment","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"ClientAttachment"}],"params":[],"raw":"data ClientAttachment"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":153,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"An attachment contains this capture's values. It never resolves a retained\n client name against a later capture. The pane is the session window's global\n active pane, not an independent client focus; its link retains session context.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`ClientAttachment ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L159))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`ClientAttachment ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L158))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`ClientAttachment ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L158))"},"references":[{"target":"LibTmux.Snapshot#t:ClientAttachment","kind":"type"}],"slug":"libtmux-snapshot-t-clientattachment"},{"id":"LibTmux.Snapshot#v:ClientAttachment","publicId":"LibTmux.Snapshot#v:ClientAttachment","name":"ClientAttachment","qualifiedName":"LibTmux.Snapshot.ClientAttachment","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:ClientAttachment","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"ClientAttachment"}],"params":[],"raw":"ClientAttachment"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":153,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"slug":"libtmux-snapshot-v-clientattachment"},{"id":"LibTmux.Snapshot#v:ClientAttachment.session","publicId":"LibTmux.Snapshot#v:ClientAttachment.session","name":"session","qualifiedName":"LibTmux.Snapshot.session","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:ClientAttachment","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"session"},{"text":" :: !"},{"href":"LibTmux-Snapshot.html#t:Session","target":"LibTmux.Snapshot#t:Session","text":"Session"}],"params":[],"raw":"session :: !Session"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Captured attachment session."},"references":[{"target":"LibTmux.Snapshot#t:Session","kind":"type"}],"slug":"libtmux-snapshot-v-clientattachment-session"},{"id":"LibTmux.Snapshot#v:ClientAttachment.window","publicId":"LibTmux.Snapshot#v:ClientAttachment.window","name":"window","qualifiedName":"LibTmux.Snapshot.window","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:ClientAttachment","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"window"},{"text":" :: !"},{"href":"LibTmux-Snapshot.html#t:Window","target":"LibTmux.Snapshot#t:Window","text":"Window"}],"params":[],"raw":"window :: !Window"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Captured physical selected window."},"references":[{"target":"LibTmux.Snapshot#t:Window","kind":"type"}],"slug":"libtmux-snapshot-v-clientattachment-window"},{"id":"LibTmux.Snapshot#v:ClientAttachment.pane","publicId":"LibTmux.Snapshot#v:ClientAttachment.pane","name":"pane","qualifiedName":"LibTmux.Snapshot.pane","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:ClientAttachment","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"pane"},{"text":" :: !"},{"href":"LibTmux-Snapshot.html#t:PaneOccurrence","target":"LibTmux.Snapshot#t:PaneOccurrence","text":"PaneOccurrence"}],"params":[],"raw":"pane :: !PaneOccurrence"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Selected pane with its session/window-link context."},"references":[{"target":"LibTmux.Snapshot#t:PaneOccurrence","kind":"type"}],"slug":"libtmux-snapshot-v-clientattachment-pane"},{"id":"LibTmux.Snapshot#t:Generation","publicId":"LibTmux.Snapshot#t:Generation","name":"Generation","qualifiedName":"LibTmux.Snapshot.Generation","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"Generation"}],"params":[],"raw":"data Generation"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":47,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Opaque connection or offline-fixture identity. Independent Server handles\n receive distinct tokens; named fixtures never equal an adopted endpoint.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`Generation ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L50))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Generation ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L49))\n\n- instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`Generation ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L49))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Generation ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L49))"},"references":[{"target":"LibTmux.Snapshot#t:Generation","kind":"type"}],"slug":"libtmux-snapshot-t-generation"},{"id":"LibTmux.Snapshot#t:SessionRef","publicId":"LibTmux.Snapshot#t:SessionRef","name":"SessionRef","qualifiedName":"LibTmux.Snapshot.SessionRef","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"SessionRef"}],"params":[],"raw":"data SessionRef"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":56,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Session targeting identity within a :obj:`Generation `. Compare observations\n separately when their captured field values matter.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`SessionRef ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L58))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`SessionRef ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L57))\n\n- instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`SessionRef ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L57))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`SessionRef ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L57))"},"references":[{"target":"LibTmux.Snapshot#t:SessionRef","kind":"type"}],"slug":"libtmux-snapshot-t-sessionref"},{"id":"LibTmux.Snapshot#t:WindowRef","publicId":"LibTmux.Snapshot#t:WindowRef","name":"WindowRef","qualifiedName":"LibTmux.Snapshot.WindowRef","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"WindowRef"}],"params":[],"raw":"data WindowRef"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":63,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Physical window targeting identity within a :obj:`Generation `. A window can\n have several :obj:`WindowLink ` appearances.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`WindowRef ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L65))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`WindowRef ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L64))\n\n- instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`WindowRef ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L64))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`WindowRef ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L64))"},"references":[{"target":"LibTmux.Snapshot#t:WindowRef","kind":"type"}],"slug":"libtmux-snapshot-t-windowref"},{"id":"LibTmux.Snapshot#t:PaneRef","publicId":"LibTmux.Snapshot#t:PaneRef","name":"PaneRef","qualifiedName":"LibTmux.Snapshot.PaneRef","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"PaneRef"}],"params":[],"raw":"data PaneRef"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":70,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Physical pane targeting identity within a :obj:`Generation `. This carries\n identity, while the supplied :obj:`Snapshot ` determines the observed values.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`PaneRef ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L72))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`PaneRef ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L71))\n\n- instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`PaneRef ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L71))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`PaneRef ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L71))"},"references":[{"target":"LibTmux.Snapshot#t:PaneRef","kind":"type"}],"slug":"libtmux-snapshot-t-paneref"},{"id":"LibTmux.Snapshot#v:sessionId","publicId":"LibTmux.Snapshot#v:sessionId","name":"sessionId","qualifiedName":"LibTmux.Snapshot.sessionId","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"sessionId"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:SessionRef","target":"LibTmux.Snapshot#t:SessionRef","text":"SessionRef"},{"text":" -> "},{"href":"LibTmux-Id.html#t:SessionId","target":"LibTmux.Id#t:SessionId","text":"SessionId"}],"params":[],"raw":"sessionId :: SessionRef -> SessionId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":71,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Native session ID, without the reference's generation guarantee."},"references":[{"target":"LibTmux.Snapshot#t:SessionRef","kind":"type"},{"target":"LibTmux.Id#t:SessionId","kind":"type"}],"slug":"libtmux-snapshot-v-sessionid"},{"id":"LibTmux.Snapshot#v:windowId","publicId":"LibTmux.Snapshot#v:windowId","name":"windowId","qualifiedName":"LibTmux.Snapshot.windowId","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"windowId"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:WindowRef","target":"LibTmux.Snapshot#t:WindowRef","text":"WindowRef"},{"text":" -> "},{"href":"LibTmux-Id.html#t:WindowId","target":"LibTmux.Id#t:WindowId","text":"WindowId"}],"params":[],"raw":"windowId :: WindowRef -> WindowId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":75,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Native physical window ID. Window-link indices are separate values."},"references":[{"target":"LibTmux.Snapshot#t:WindowRef","kind":"type"},{"target":"LibTmux.Id#t:WindowId","kind":"type"}],"slug":"libtmux-snapshot-v-windowid"},{"id":"LibTmux.Snapshot#v:paneId","publicId":"LibTmux.Snapshot#v:paneId","name":"paneId","qualifiedName":"LibTmux.Snapshot.paneId","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"paneId"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:PaneRef","target":"LibTmux.Snapshot#t:PaneRef","text":"PaneRef"},{"text":" -> "},{"href":"LibTmux-Id.html#t:PaneId","target":"LibTmux.Id#t:PaneId","text":"PaneId"}],"params":[],"raw":"paneId :: PaneRef -> PaneId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":79,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Native pane ID. Comparing IDs alone does not compare Server identity."},"references":[{"target":"LibTmux.Snapshot#t:PaneRef","kind":"type"},{"target":"LibTmux.Id#t:PaneId","kind":"type"}],"slug":"libtmux-snapshot-v-paneid"},{"id":"LibTmux.Snapshot#v:sessions","publicId":"LibTmux.Snapshot#v:sessions","name":"sessions","qualifiedName":"LibTmux.Snapshot.sessions","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"sessions"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:Snapshot","target":"LibTmux.Snapshot#t:Snapshot","text":"Snapshot"},{"text":" -> ["},{"href":"LibTmux-Snapshot.html#t:Session","target":"LibTmux.Snapshot#t:Session","text":"Session"},{"text":"]"}],"params":[],"raw":"sessions :: Snapshot -> [Session]"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":83,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Physical sessions in numeric ID order."},"references":[{"target":"LibTmux.Snapshot#t:Snapshot","kind":"type"},{"target":"LibTmux.Snapshot#t:Session","kind":"type"}],"slug":"libtmux-snapshot-v-sessions"},{"id":"LibTmux.Snapshot#v:windows","publicId":"LibTmux.Snapshot#v:windows","name":"windows","qualifiedName":"LibTmux.Snapshot.windows","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"windows"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:Snapshot","target":"LibTmux.Snapshot#t:Snapshot","text":"Snapshot"},{"text":" -> ["},{"href":"LibTmux-Snapshot.html#t:Window","target":"LibTmux.Snapshot#t:Window","text":"Window"},{"text":"]"}],"params":[],"raw":"windows :: Snapshot -> [Window]"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":87,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Physical windows in numeric ID order, independent of their links."},"references":[{"target":"LibTmux.Snapshot#t:Snapshot","kind":"type"},{"target":"LibTmux.Snapshot#t:Window","kind":"type"}],"slug":"libtmux-snapshot-v-windows"},{"id":"LibTmux.Snapshot#v:panes","publicId":"LibTmux.Snapshot#v:panes","name":"panes","qualifiedName":"LibTmux.Snapshot.panes","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"panes"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:Snapshot","target":"LibTmux.Snapshot#t:Snapshot","text":"Snapshot"},{"text":" -> ["},{"href":"LibTmux-Snapshot.html#t:Pane","target":"LibTmux.Snapshot#t:Pane","text":"Pane"},{"text":"]"}],"params":[],"raw":"panes :: Snapshot -> [Pane]"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":91,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Physical panes in numeric ID order. Use :obj:`paneOccurrences ` for link context."},"references":[{"target":"LibTmux.Snapshot#t:Snapshot","kind":"type"},{"target":"LibTmux.Snapshot#t:Pane","kind":"type"}],"slug":"libtmux-snapshot-v-panes"},{"id":"LibTmux.Snapshot#v:windowLinks","publicId":"LibTmux.Snapshot#v:windowLinks","name":"windowLinks","qualifiedName":"LibTmux.Snapshot.windowLinks","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"windowLinks"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:Snapshot","target":"LibTmux.Snapshot#t:Snapshot","text":"Snapshot"},{"text":" -> ["},{"href":"LibTmux-Snapshot.html#t:WindowLink","target":"LibTmux.Snapshot#t:WindowLink","text":"WindowLink"},{"text":"]"}],"params":[],"raw":"windowLinks :: Snapshot -> [WindowLink]"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":95,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Window appearances in session ID and window-index order."},"references":[{"target":"LibTmux.Snapshot#t:Snapshot","kind":"type"},{"target":"LibTmux.Snapshot#t:WindowLink","kind":"type"}],"slug":"libtmux-snapshot-v-windowlinks"},{"id":"LibTmux.Snapshot#v:paneOccurrences","publicId":"LibTmux.Snapshot#v:paneOccurrences","name":"paneOccurrences","qualifiedName":"LibTmux.Snapshot.paneOccurrences","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"paneOccurrences"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:Snapshot","target":"LibTmux.Snapshot#t:Snapshot","text":"Snapshot"},{"text":" -> ["},{"href":"LibTmux-Snapshot.html#t:PaneOccurrence","target":"LibTmux.Snapshot#t:PaneOccurrence","text":"PaneOccurrence"},{"text":"]"}],"params":[],"raw":"paneOccurrences :: Snapshot -> [PaneOccurrence]"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":99,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Every pane appearance, ordered by link and then pane index."},"references":[{"target":"LibTmux.Snapshot#t:Snapshot","kind":"type"},{"target":"LibTmux.Snapshot#t:PaneOccurrence","kind":"type"}],"slug":"libtmux-snapshot-v-paneoccurrences"},{"id":"LibTmux.Snapshot#v:clients","publicId":"LibTmux.Snapshot#v:clients","name":"clients","qualifiedName":"LibTmux.Snapshot.clients","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"clients"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:Snapshot","target":"LibTmux.Snapshot#t:Snapshot","text":"Snapshot"},{"text":" -> ["},{"href":"LibTmux-Snapshot.html#t:Client","target":"LibTmux.Snapshot#t:Client","text":"Client"},{"text":"]"}],"params":[],"raw":"clients :: Snapshot -> [Client]"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":202,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Captured attached clients in reported-name and PID order. Names may repeat."},"references":[{"target":"LibTmux.Snapshot#t:Snapshot","kind":"type"},{"target":"LibTmux.Snapshot#t:Client","kind":"type"}],"slug":"libtmux-snapshot-v-clients"},{"id":"LibTmux.Snapshot#t:LookupError","publicId":"LibTmux.Snapshot#t:LookupError","name":"LookupError","qualifiedName":"LibTmux.Snapshot.LookupError","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"LookupError"}],"params":[],"raw":"data LookupError"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":243,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A reference that cannot resolve in the supplied immutable snapshot.\n Missing entities are distinct from a successfully observed empty relation.","body":"## Instances\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`LookupError ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L248))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`LookupError ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/Graph.hs#L248))"},"references":[{"target":"LibTmux.Snapshot#t:LookupError","kind":"type"}],"slug":"libtmux-snapshot-t-lookuperror"},{"id":"LibTmux.Snapshot#v:ForeignGeneration","publicId":"LibTmux.Snapshot#v:ForeignGeneration","name":"ForeignGeneration","qualifiedName":"LibTmux.Snapshot.ForeignGeneration","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:LookupError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"ForeignGeneration"}],"params":[],"raw":"ForeignGeneration"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":244,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"The reference belongs to another connection generation."},"slug":"libtmux-snapshot-v-foreigngeneration"},{"id":"LibTmux.Snapshot#v:MissingSession","publicId":"LibTmux.Snapshot#v:MissingSession","name":"MissingSession","qualifiedName":"LibTmux.Snapshot.MissingSession","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:LookupError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"MissingSession"},{"text":" !"},{"href":"LibTmux-Snapshot.html#t:SessionRef","target":"LibTmux.Snapshot#t:SessionRef","text":"SessionRef"}],"params":[],"raw":"MissingSession !SessionRef"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":245,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"No session with this identity was captured."},"references":[{"target":"LibTmux.Snapshot#t:SessionRef","kind":"type"}],"slug":"libtmux-snapshot-v-missingsession"},{"id":"LibTmux.Snapshot#v:MissingWindow","publicId":"LibTmux.Snapshot#v:MissingWindow","name":"MissingWindow","qualifiedName":"LibTmux.Snapshot.MissingWindow","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:LookupError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"MissingWindow"},{"text":" !"},{"href":"LibTmux-Snapshot.html#t:WindowRef","target":"LibTmux.Snapshot#t:WindowRef","text":"WindowRef"}],"params":[],"raw":"MissingWindow !WindowRef"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":246,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"No physical window with this identity was captured."},"references":[{"target":"LibTmux.Snapshot#t:WindowRef","kind":"type"}],"slug":"libtmux-snapshot-v-missingwindow"},{"id":"LibTmux.Snapshot#v:MissingPane","publicId":"LibTmux.Snapshot#v:MissingPane","name":"MissingPane","qualifiedName":"LibTmux.Snapshot.MissingPane","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot#t:LookupError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"MissingPane"},{"text":" !"},{"href":"LibTmux-Snapshot.html#t:PaneRef","target":"LibTmux.Snapshot#t:PaneRef","text":"PaneRef"}],"params":[],"raw":"MissingPane !PaneRef"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/Graph.hs","line":247,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"No physical pane with this identity was captured."},"references":[{"target":"LibTmux.Snapshot#t:PaneRef","kind":"type"}],"slug":"libtmux-snapshot-v-missingpane"},{"id":"LibTmux.Snapshot#v:lookupSession","publicId":"LibTmux.Snapshot#v:lookupSession","name":"lookupSession","qualifiedName":"LibTmux.Snapshot.lookupSession","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"lookupSession"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:Snapshot","target":"LibTmux.Snapshot#t:Snapshot","text":"Snapshot"},{"text":" -> "},{"href":"LibTmux-Snapshot.html#t:SessionRef","target":"LibTmux.Snapshot#t:SessionRef","text":"SessionRef"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:LookupError","target":"LibTmux.Snapshot#t:LookupError","text":"LookupError"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Session","target":"LibTmux.Snapshot#t:Session","text":"Session"}],"params":[],"raw":"lookupSession :: Snapshot -> SessionRef -> Either LookupError Session"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":103,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Resolve a session in this snapshot. Missing and foreign refs are errors."},"references":[{"target":"LibTmux.Snapshot#t:Snapshot","kind":"type"},{"target":"LibTmux.Snapshot#t:SessionRef","kind":"type"},{"target":"LibTmux.Snapshot#t:LookupError","kind":"type"},{"target":"LibTmux.Snapshot#t:Session","kind":"type"}],"slug":"libtmux-snapshot-v-lookupsession"},{"id":"LibTmux.Snapshot#v:lookupWindow","publicId":"LibTmux.Snapshot#v:lookupWindow","name":"lookupWindow","qualifiedName":"LibTmux.Snapshot.lookupWindow","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"lookupWindow"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:Snapshot","target":"LibTmux.Snapshot#t:Snapshot","text":"Snapshot"},{"text":" -> "},{"href":"LibTmux-Snapshot.html#t:WindowRef","target":"LibTmux.Snapshot#t:WindowRef","text":"WindowRef"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:LookupError","target":"LibTmux.Snapshot#t:LookupError","text":"LookupError"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Window","target":"LibTmux.Snapshot#t:Window","text":"Window"}],"params":[],"raw":"lookupWindow :: Snapshot -> WindowRef -> Either LookupError Window"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":107,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Resolve the supplied generation's physical window in this snapshot."},"references":[{"target":"LibTmux.Snapshot#t:Snapshot","kind":"type"},{"target":"LibTmux.Snapshot#t:WindowRef","kind":"type"},{"target":"LibTmux.Snapshot#t:LookupError","kind":"type"},{"target":"LibTmux.Snapshot#t:Window","kind":"type"}],"slug":"libtmux-snapshot-v-lookupwindow"},{"id":"LibTmux.Snapshot#v:lookupPane","publicId":"LibTmux.Snapshot#v:lookupPane","name":"lookupPane","qualifiedName":"LibTmux.Snapshot.lookupPane","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"lookupPane"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:Snapshot","target":"LibTmux.Snapshot#t:Snapshot","text":"Snapshot"},{"text":" -> "},{"href":"LibTmux-Snapshot.html#t:PaneRef","target":"LibTmux.Snapshot#t:PaneRef","text":"PaneRef"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:LookupError","target":"LibTmux.Snapshot#t:LookupError","text":"LookupError"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Pane","target":"LibTmux.Snapshot#t:Pane","text":"Pane"}],"params":[],"raw":"lookupPane :: Snapshot -> PaneRef -> Either LookupError Pane"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":111,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Resolve the supplied generation's physical pane in this snapshot."},"references":[{"target":"LibTmux.Snapshot#t:Snapshot","kind":"type"},{"target":"LibTmux.Snapshot#t:PaneRef","kind":"type"},{"target":"LibTmux.Snapshot#t:LookupError","kind":"type"},{"target":"LibTmux.Snapshot#t:Pane","kind":"type"}],"slug":"libtmux-snapshot-v-lookuppane"},{"id":"LibTmux.Snapshot#v:linksForSession","publicId":"LibTmux.Snapshot#v:linksForSession","name":"linksForSession","qualifiedName":"LibTmux.Snapshot.linksForSession","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"linksForSession"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:Snapshot","target":"LibTmux.Snapshot#t:Snapshot","text":"Snapshot"},{"text":" -> "},{"href":"LibTmux-Snapshot.html#t:SessionRef","target":"LibTmux.Snapshot#t:SessionRef","text":"SessionRef"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:LookupError","target":"LibTmux.Snapshot#t:LookupError","text":"LookupError"},{"text":" ["},{"href":"LibTmux-Snapshot.html#t:WindowLink","target":"LibTmux.Snapshot#t:WindowLink","text":"WindowLink"},{"text":"]"}],"params":[],"raw":"linksForSession :: Snapshot -> SessionRef -> Either LookupError [WindowLink]"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":115,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A session's window links in window-index order, preserving repeated windows."},"references":[{"target":"LibTmux.Snapshot#t:Snapshot","kind":"type"},{"target":"LibTmux.Snapshot#t:SessionRef","kind":"type"},{"target":"LibTmux.Snapshot#t:LookupError","kind":"type"},{"target":"LibTmux.Snapshot#t:WindowLink","kind":"type"}],"slug":"libtmux-snapshot-v-linksforsession"},{"id":"LibTmux.Snapshot#v:panesForWindow","publicId":"LibTmux.Snapshot#v:panesForWindow","name":"panesForWindow","qualifiedName":"LibTmux.Snapshot.panesForWindow","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"panesForWindow"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:Snapshot","target":"LibTmux.Snapshot#t:Snapshot","text":"Snapshot"},{"text":" -> "},{"href":"LibTmux-Snapshot.html#t:WindowRef","target":"LibTmux.Snapshot#t:WindowRef","text":"WindowRef"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:LookupError","target":"LibTmux.Snapshot#t:LookupError","text":"LookupError"},{"text":" ["},{"href":"LibTmux-Snapshot.html#t:Pane","target":"LibTmux.Snapshot#t:Pane","text":"Pane"},{"text":"]"}],"params":[],"raw":"panesForWindow :: Snapshot -> WindowRef -> Either LookupError [Pane]"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":119,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A physical window's panes in pane-index order, then numeric ID order."},"references":[{"target":"LibTmux.Snapshot#t:Snapshot","kind":"type"},{"target":"LibTmux.Snapshot#t:WindowRef","kind":"type"},{"target":"LibTmux.Snapshot#t:LookupError","kind":"type"},{"target":"LibTmux.Snapshot#t:Pane","kind":"type"}],"slug":"libtmux-snapshot-v-panesforwindow"},{"id":"LibTmux.Snapshot#v:lookupSessionId","publicId":"LibTmux.Snapshot#v:lookupSessionId","name":"lookupSessionId","qualifiedName":"LibTmux.Snapshot.lookupSessionId","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"lookupSessionId"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:Snapshot","target":"LibTmux.Snapshot#t:Snapshot","text":"Snapshot"},{"text":" -> "},{"href":"LibTmux-Id.html#t:SessionId","target":"LibTmux.Id#t:SessionId","text":"SessionId"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:LookupError","target":"LibTmux.Snapshot#t:LookupError","text":"LookupError"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Session","target":"LibTmux.Snapshot#t:Session","text":"Session"}],"params":[],"raw":"lookupSessionId :: Snapshot -> SessionId -> Either LookupError Session"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":124,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Select the session currently observed under an ID in this snapshot.\n This creates no continuity guarantee with a previously opened Server."},"references":[{"target":"LibTmux.Snapshot#t:Snapshot","kind":"type"},{"target":"LibTmux.Id#t:SessionId","kind":"type"},{"target":"LibTmux.Snapshot#t:LookupError","kind":"type"},{"target":"LibTmux.Snapshot#t:Session","kind":"type"}],"slug":"libtmux-snapshot-v-lookupsessionid"},{"id":"LibTmux.Snapshot#v:lookupWindowId","publicId":"LibTmux.Snapshot#v:lookupWindowId","name":"lookupWindowId","qualifiedName":"LibTmux.Snapshot.lookupWindowId","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"lookupWindowId"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:Snapshot","target":"LibTmux.Snapshot#t:Snapshot","text":"Snapshot"},{"text":" -> "},{"href":"LibTmux-Id.html#t:WindowId","target":"LibTmux.Id#t:WindowId","text":"WindowId"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:LookupError","target":"LibTmux.Snapshot#t:LookupError","text":"LookupError"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Window","target":"LibTmux.Snapshot#t:Window","text":"Window"}],"params":[],"raw":"lookupWindowId :: Snapshot -> WindowId -> Either LookupError Window"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":128,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Select the physical window observed under an ID in this snapshot."},"references":[{"target":"LibTmux.Snapshot#t:Snapshot","kind":"type"},{"target":"LibTmux.Id#t:WindowId","kind":"type"},{"target":"LibTmux.Snapshot#t:LookupError","kind":"type"},{"target":"LibTmux.Snapshot#t:Window","kind":"type"}],"slug":"libtmux-snapshot-v-lookupwindowid"},{"id":"LibTmux.Snapshot#v:lookupPaneId","publicId":"LibTmux.Snapshot#v:lookupPaneId","name":"lookupPaneId","qualifiedName":"LibTmux.Snapshot.lookupPaneId","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"lookupPaneId"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:Snapshot","target":"LibTmux.Snapshot#t:Snapshot","text":"Snapshot"},{"text":" -> "},{"href":"LibTmux-Id.html#t:PaneId","target":"LibTmux.Id#t:PaneId","text":"PaneId"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:LookupError","target":"LibTmux.Snapshot#t:LookupError","text":"LookupError"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Pane","target":"LibTmux.Snapshot#t:Pane","text":"Pane"}],"params":[],"raw":"lookupPaneId :: Snapshot -> PaneId -> Either LookupError Pane"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":132,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Select the pane observed under an ID in this snapshot."},"references":[{"target":"LibTmux.Snapshot#t:Snapshot","kind":"type"},{"target":"LibTmux.Id#t:PaneId","kind":"type"},{"target":"LibTmux.Snapshot#t:LookupError","kind":"type"},{"target":"LibTmux.Snapshot#t:Pane","kind":"type"}],"slug":"libtmux-snapshot-v-lookuppaneid"},{"id":"LibTmux.Snapshot#t:TmuxText","publicId":"LibTmux.Snapshot#t:TmuxText","name":"TmuxText","qualifiedName":"LibTmux.Snapshot.TmuxText","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"TmuxText"}],"params":[],"raw":"data TmuxText"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"internal/LibTmux/Internal/TmuxText.hs","line":21,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A lossless reported label. Equality and ordering compare bytes.\n String literals use UTF-8; byte constructors also admit non-text data.\n Conversion functions are exposed in :obj:`LibTmux.Snapshot `.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`TmuxText ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/TmuxText.hs#L24))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`TmuxText ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/TmuxText.hs#L22))\n\n- instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`TmuxText ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/TmuxText.hs#L22))\n\n- instance [IsString](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-String.html#t:IsString) :obj:`TmuxText ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/TmuxText.hs#L27))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`TmuxText ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/internal/LibTmux/Internal/TmuxText.hs#L22))"},"references":[{"target":"LibTmux.Snapshot#t:TmuxText","kind":"type"}],"slug":"libtmux-snapshot-t-tmuxtext"},{"id":"LibTmux.Snapshot#v:labelFromBytes","publicId":"LibTmux.Snapshot#v:labelFromBytes","name":"labelFromBytes","qualifiedName":"LibTmux.Snapshot.labelFromBytes","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"labelFromBytes"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/bytestring-0.12.2.0/docs/Data-ByteString.html#t:ByteString","text":"ByteString"},{"text":" -> "},{"href":"LibTmux-Snapshot.html#t:TmuxText","target":"LibTmux.Snapshot#t:TmuxText","text":"TmuxText"}],"params":[],"raw":"labelFromBytes :: ByteString -> TmuxText"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":136,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Copy bytes into an owned label. This performs no encoding replacement."},"references":[{"target":"LibTmux.Snapshot#t:TmuxText","kind":"type"}],"slug":"libtmux-snapshot-v-labelfrombytes"},{"id":"LibTmux.Snapshot#v:labelBytes","publicId":"LibTmux.Snapshot#v:labelBytes","name":"labelBytes","qualifiedName":"LibTmux.Snapshot.labelBytes","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"labelBytes"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:TmuxText","target":"LibTmux.Snapshot#t:TmuxText","text":"TmuxText"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/bytestring-0.12.2.0/docs/Data-ByteString.html#t:ByteString","text":"ByteString"}],"params":[],"raw":"labelBytes :: TmuxText -> ByteString"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":140,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Exact bytes reported by tmux, after transport decoding."},"references":[{"target":"LibTmux.Snapshot#t:TmuxText","kind":"type"}],"slug":"libtmux-snapshot-v-labelbytes"},{"id":"LibTmux.Snapshot#v:labelText","publicId":"LibTmux.Snapshot#v:labelText","name":"labelText","qualifiedName":"LibTmux.Snapshot.labelText","namespace":"LibTmux.Snapshot","parent":"LibTmux.Snapshot","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"labelText"},{"text":" :: "},{"href":"LibTmux-Snapshot.html#t:TmuxText","target":"LibTmux.Snapshot#t:TmuxText","text":"TmuxText"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text-Encoding-Error.html#t:UnicodeException","text":"UnicodeException"},{"text":" "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"labelText :: TmuxText -> Either UnicodeException Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot.hs","line":144,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Decode a label as UTF-8, retaining byte access on failure."},"references":[{"target":"LibTmux.Snapshot#t:TmuxText","kind":"type"}],"slug":"libtmux-snapshot-v-labeltext"},{"id":"LibTmux.Snapshot.Fixture#t:FixtureOrigin","publicId":"LibTmux.Snapshot.Fixture#t:FixtureOrigin","name":"FixtureOrigin","qualifiedName":"LibTmux.Snapshot.Fixture.FixtureOrigin","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"FixtureOrigin"}],"params":[],"raw":"data FixtureOrigin"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":37,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A named offline namespace. Equal names deliberately compare equal, so\n tests can model successive observations. This cannot represent a Server.","body":"## Instances\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`FixtureOrigin ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Snapshot/Fixture.hs#L38))\n\n- instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`FixtureOrigin ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Snapshot/Fixture.hs#L38))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`FixtureOrigin ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Snapshot/Fixture.hs#L38))"},"references":[{"target":"LibTmux.Snapshot.Fixture#t:FixtureOrigin","kind":"type"}],"slug":"libtmux-snapshot-fixture-t-fixtureorigin"},{"id":"LibTmux.Snapshot.Fixture#v:fixtureOrigin","publicId":"LibTmux.Snapshot.Fixture#v:fixtureOrigin","name":"fixtureOrigin","qualifiedName":"LibTmux.Snapshot.Fixture.fixtureOrigin","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"fixtureOrigin"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"},{"text":" -> "},{"href":"LibTmux-Snapshot-Fixture.html#t:FixtureOrigin","target":"LibTmux.Snapshot.Fixture#t:FixtureOrigin","text":"FixtureOrigin"}],"params":[],"raw":"fixtureOrigin :: Text -> FixtureOrigin"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":42,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Select a pure fixture namespace. No endpoint lookup or random IO occurs."},"references":[{"target":"LibTmux.Snapshot.Fixture#t:FixtureOrigin","kind":"type"}],"slug":"libtmux-snapshot-fixture-v-fixtureorigin"},{"id":"LibTmux.Snapshot.Fixture#v:fixtureGeneration","publicId":"LibTmux.Snapshot.Fixture#v:fixtureGeneration","name":"fixtureGeneration","qualifiedName":"LibTmux.Snapshot.Fixture.fixtureGeneration","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"fixtureGeneration"},{"text":" :: "},{"href":"LibTmux-Snapshot-Fixture.html#t:FixtureOrigin","target":"LibTmux.Snapshot.Fixture#t:FixtureOrigin","text":"FixtureOrigin"},{"text":" -> "},{"href":"LibTmux-Snapshot.html#t:Generation","target":"LibTmux.Snapshot#t:Generation","text":"Generation"}],"params":[],"raw":"fixtureGeneration :: FixtureOrigin -> Generation"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":47,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"The offline generation for :obj:`Fixture ` metadata. Replacing it with a connection\n generation causes :obj:`validateFixture ` to reject the metadata."},"references":[{"target":"LibTmux.Snapshot.Fixture#t:FixtureOrigin","kind":"type"},{"target":"LibTmux.Snapshot#t:Generation","kind":"type"}],"slug":"libtmux-snapshot-fixture-v-fixturegeneration"},{"id":"LibTmux.Snapshot.Fixture#v:sessionRef","publicId":"LibTmux.Snapshot.Fixture#v:sessionRef","name":"sessionRef","qualifiedName":"LibTmux.Snapshot.Fixture.sessionRef","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"sessionRef"},{"text":" :: "},{"href":"LibTmux-Snapshot-Fixture.html#t:FixtureOrigin","target":"LibTmux.Snapshot.Fixture#t:FixtureOrigin","text":"FixtureOrigin"},{"text":" -> "},{"href":"LibTmux-Id.html#t:SessionId","target":"LibTmux.Id#t:SessionId","text":"SessionId"},{"text":" -> "},{"href":"LibTmux-Snapshot.html#t:SessionRef","target":"LibTmux.Snapshot#t:SessionRef","text":"SessionRef"}],"params":[],"raw":"sessionRef :: FixtureOrigin -> SessionId -> SessionRef"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":51,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Construct a session reference that belongs only to this offline origin."},"references":[{"target":"LibTmux.Snapshot.Fixture#t:FixtureOrigin","kind":"type"},{"target":"LibTmux.Id#t:SessionId","kind":"type"},{"target":"LibTmux.Snapshot#t:SessionRef","kind":"type"}],"slug":"libtmux-snapshot-fixture-v-sessionref"},{"id":"LibTmux.Snapshot.Fixture#v:windowRef","publicId":"LibTmux.Snapshot.Fixture#v:windowRef","name":"windowRef","qualifiedName":"LibTmux.Snapshot.Fixture.windowRef","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"windowRef"},{"text":" :: "},{"href":"LibTmux-Snapshot-Fixture.html#t:FixtureOrigin","target":"LibTmux.Snapshot.Fixture#t:FixtureOrigin","text":"FixtureOrigin"},{"text":" -> "},{"href":"LibTmux-Id.html#t:WindowId","target":"LibTmux.Id#t:WindowId","text":"WindowId"},{"text":" -> "},{"href":"LibTmux-Snapshot.html#t:WindowRef","target":"LibTmux.Snapshot#t:WindowRef","text":"WindowRef"}],"params":[],"raw":"windowRef :: FixtureOrigin -> WindowId -> WindowRef"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":55,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Construct a physical window reference without granting live authority."},"references":[{"target":"LibTmux.Snapshot.Fixture#t:FixtureOrigin","kind":"type"},{"target":"LibTmux.Id#t:WindowId","kind":"type"},{"target":"LibTmux.Snapshot#t:WindowRef","kind":"type"}],"slug":"libtmux-snapshot-fixture-v-windowref"},{"id":"LibTmux.Snapshot.Fixture#v:paneRef","publicId":"LibTmux.Snapshot.Fixture#v:paneRef","name":"paneRef","qualifiedName":"LibTmux.Snapshot.Fixture.paneRef","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"paneRef"},{"text":" :: "},{"href":"LibTmux-Snapshot-Fixture.html#t:FixtureOrigin","target":"LibTmux.Snapshot.Fixture#t:FixtureOrigin","text":"FixtureOrigin"},{"text":" -> "},{"href":"LibTmux-Id.html#t:PaneId","target":"LibTmux.Id#t:PaneId","text":"PaneId"},{"text":" -> "},{"href":"LibTmux-Snapshot.html#t:PaneRef","target":"LibTmux.Snapshot#t:PaneRef","text":"PaneRef"}],"params":[],"raw":"paneRef :: FixtureOrigin -> PaneId -> PaneRef"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":59,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Construct a pane reference without consulting or targeting a daemon."},"references":[{"target":"LibTmux.Snapshot.Fixture#t:FixtureOrigin","kind":"type"},{"target":"LibTmux.Id#t:PaneId","kind":"type"},{"target":"LibTmux.Snapshot#t:PaneRef","kind":"type"}],"slug":"libtmux-snapshot-fixture-v-paneref"},{"id":"LibTmux.Snapshot.Fixture#t:Fixture","publicId":"LibTmux.Snapshot.Fixture#t:Fixture","name":"Fixture","qualifiedName":"LibTmux.Snapshot.Fixture.Fixture","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"Fixture"}],"params":[],"raw":"data Fixture"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":63,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Ordinary finite inputs. Validation applies the captured graph's laws;\n record construction or updates alone do not establish those laws.","body":"## Instances\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Fixture ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Snapshot/Fixture.hs#L71))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Fixture ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Snapshot/Fixture.hs#L71))"},"references":[{"target":"LibTmux.Snapshot.Fixture#t:Fixture","kind":"type"}],"slug":"libtmux-snapshot-fixture-t-fixture"},{"id":"LibTmux.Snapshot.Fixture#v:Fixture","publicId":"LibTmux.Snapshot.Fixture#v:Fixture","name":"Fixture","qualifiedName":"LibTmux.Snapshot.Fixture.Fixture","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture#t:Fixture","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"Fixture"}],"params":[],"raw":"Fixture"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":63,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"slug":"libtmux-snapshot-fixture-v-fixture"},{"id":"LibTmux.Snapshot.Fixture#v:Fixture.info","publicId":"LibTmux.Snapshot.Fixture#v:Fixture.info","name":"info","qualifiedName":"LibTmux.Snapshot.Fixture.info","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture#t:Fixture","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"info"},{"text":" :: !"},{"href":"LibTmux-Snapshot.html#t:ServerInfo","target":"LibTmux.Snapshot#t:ServerInfo","text":"ServerInfo"}],"params":[],"raw":"info :: !ServerInfo"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":64,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Synthetic metadata in the supplied offline generation."},"references":[{"target":"LibTmux.Snapshot#t:ServerInfo","kind":"type"}],"slug":"libtmux-snapshot-fixture-v-fixture-info"},{"id":"LibTmux.Snapshot.Fixture#v:Fixture.sessions","publicId":"LibTmux.Snapshot.Fixture#v:Fixture.sessions","name":"sessions","qualifiedName":"LibTmux.Snapshot.Fixture.sessions","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture#t:Fixture","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"sessions"},{"text":" :: !["},{"href":"LibTmux-Snapshot.html#t:Session","target":"LibTmux.Snapshot#t:Session","text":"Session"},{"text":"]"}],"params":[],"raw":"sessions :: ![Session]"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":65,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Physical sessions, with references from this origin."},"references":[{"target":"LibTmux.Snapshot#t:Session","kind":"type"}],"slug":"libtmux-snapshot-fixture-v-fixture-sessions"},{"id":"LibTmux.Snapshot.Fixture#v:Fixture.windows","publicId":"LibTmux.Snapshot.Fixture#v:Fixture.windows","name":"windows","qualifiedName":"LibTmux.Snapshot.Fixture.windows","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture#t:Fixture","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"windows"},{"text":" :: !["},{"href":"LibTmux-Snapshot.html#t:Window","target":"LibTmux.Snapshot#t:Window","text":"Window"},{"text":"]"}],"params":[],"raw":"windows :: ![Window]"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":66,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Physical windows, independent of contextual appearances."},"references":[{"target":"LibTmux.Snapshot#t:Window","kind":"type"}],"slug":"libtmux-snapshot-fixture-v-fixture-windows"},{"id":"LibTmux.Snapshot.Fixture#v:Fixture.panes","publicId":"LibTmux.Snapshot.Fixture#v:Fixture.panes","name":"panes","qualifiedName":"LibTmux.Snapshot.Fixture.panes","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture#t:Fixture","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"panes"},{"text":" :: !["},{"href":"LibTmux-Snapshot.html#t:Pane","target":"LibTmux.Snapshot#t:Pane","text":"Pane"},{"text":"]"}],"params":[],"raw":"panes :: ![Pane]"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":67,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Physical panes with their containing window references."},"references":[{"target":"LibTmux.Snapshot#t:Pane","kind":"type"}],"slug":"libtmux-snapshot-fixture-v-fixture-panes"},{"id":"LibTmux.Snapshot.Fixture#v:Fixture.windowLinks","publicId":"LibTmux.Snapshot.Fixture#v:Fixture.windowLinks","name":"windowLinks","qualifiedName":"LibTmux.Snapshot.Fixture.windowLinks","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture#t:Fixture","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"windowLinks"},{"text":" :: !["},{"href":"LibTmux-Snapshot.html#t:WindowLink","target":"LibTmux.Snapshot#t:WindowLink","text":"WindowLink"},{"text":"]"}],"params":[],"raw":"windowLinks :: ![WindowLink]"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":68,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Session*index*window appearances, including active selections."},"references":[{"target":"LibTmux.Snapshot#t:WindowLink","kind":"type"}],"slug":"libtmux-snapshot-fixture-v-fixture-windowlinks"},{"id":"LibTmux.Snapshot.Fixture#v:Fixture.clients","publicId":"LibTmux.Snapshot.Fixture#v:Fixture.clients","name":"clients","qualifiedName":"LibTmux.Snapshot.Fixture.clients","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture#t:Fixture","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"clients"},{"text":" :: !["},{"href":"LibTmux-Snapshot-Fixture.html#t:AttachedClient","target":"LibTmux.Snapshot.Fixture#t:AttachedClient","text":"AttachedClient"},{"text":"]"}],"params":[],"raw":"clients :: ![AttachedClient]"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":69,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Complete attached-client listing for this fixture."},"references":[{"target":"LibTmux.Snapshot.Fixture#t:AttachedClient","kind":"type"}],"slug":"libtmux-snapshot-fixture-v-fixture-clients"},{"id":"LibTmux.Snapshot.Fixture#t:AttachedClient","publicId":"LibTmux.Snapshot.Fixture#t:AttachedClient","name":"AttachedClient","qualifiedName":"LibTmux.Snapshot.Fixture.AttachedClient","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"AttachedClient"}],"params":[],"raw":"data AttachedClient"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":76,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"An attached client's native identity and context before graph validation.\n Validation resolves its values from the same snapshot; it never trusts a\n caller-supplied nested attachment record.","body":"## Instances\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`AttachedClient ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Snapshot/Fixture.hs#L85))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`AttachedClient ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Snapshot/Fixture.hs#L85))"},"references":[{"target":"LibTmux.Snapshot.Fixture#t:AttachedClient","kind":"type"}],"slug":"libtmux-snapshot-fixture-t-attachedclient"},{"id":"LibTmux.Snapshot.Fixture#v:AttachedClient","publicId":"LibTmux.Snapshot.Fixture#v:AttachedClient","name":"AttachedClient","qualifiedName":"LibTmux.Snapshot.Fixture.AttachedClient","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture#t:AttachedClient","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"AttachedClient"}],"params":[],"raw":"AttachedClient"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":76,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"slug":"libtmux-snapshot-fixture-v-attachedclient"},{"id":"LibTmux.Snapshot.Fixture#v:AttachedClient.name","publicId":"LibTmux.Snapshot.Fixture#v:AttachedClient.name","name":"name","qualifiedName":"LibTmux.Snapshot.Fixture.name","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture#t:AttachedClient","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"name"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixString","text":"PosixString"}],"params":[],"raw":"name :: !PosixString"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":77,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Nonempty reported client-name bytes."},"slug":"libtmux-snapshot-fixture-v-attachedclient-name"},{"id":"LibTmux.Snapshot.Fixture#v:AttachedClient.pid","publicId":"LibTmux.Snapshot.Fixture#v:AttachedClient.pid","name":"pid","qualifiedName":"LibTmux.Snapshot.Fixture.pid","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture#t:AttachedClient","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"pid"},{"text":" :: !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"pid :: !Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":78,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Positive synthetic client PID in the native PID range."},"slug":"libtmux-snapshot-fixture-v-attachedclient-pid"},{"id":"LibTmux.Snapshot.Fixture#v:AttachedClient.tty","publicId":"LibTmux.Snapshot.Fixture#v:AttachedClient.tty","name":"tty","qualifiedName":"LibTmux.Snapshot.Fixture.tty","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture#t:AttachedClient","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"tty"},{"text":" :: !("},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe","text":"Maybe"},{"text":" "},{"href":"https://hackage.haskell.org/package/filepath-1.5.4.0/docs/System-OsPath-Types.html#t:PosixPath","text":"PosixPath"},{"text":")"}],"params":[],"raw":"tty :: !(Maybe PosixPath)"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":79,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Nonempty terminal path when provided."},"slug":"libtmux-snapshot-fixture-v-attachedclient-tty"},{"id":"LibTmux.Snapshot.Fixture#v:AttachedClient.session","publicId":"LibTmux.Snapshot.Fixture#v:AttachedClient.session","name":"session","qualifiedName":"LibTmux.Snapshot.Fixture.session","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture#t:AttachedClient","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"session"},{"text":" :: !"},{"href":"LibTmux-Id.html#t:SessionId","target":"LibTmux.Id#t:SessionId","text":"SessionId"}],"params":[],"raw":"session :: !SessionId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":80,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Attachment session ID."},"references":[{"target":"LibTmux.Id#t:SessionId","kind":"type"}],"slug":"libtmux-snapshot-fixture-v-attachedclient-session"},{"id":"LibTmux.Snapshot.Fixture#v:AttachedClient.window","publicId":"LibTmux.Snapshot.Fixture#v:AttachedClient.window","name":"window","qualifiedName":"LibTmux.Snapshot.Fixture.window","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture#t:AttachedClient","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"window"},{"text":" :: !"},{"href":"LibTmux-Id.html#t:WindowId","target":"LibTmux.Id#t:WindowId","text":"WindowId"}],"params":[],"raw":"window :: !WindowId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":81,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Selected physical window ID."},"references":[{"target":"LibTmux.Id#t:WindowId","kind":"type"}],"slug":"libtmux-snapshot-fixture-v-attachedclient-window"},{"id":"LibTmux.Snapshot.Fixture#v:AttachedClient.index","publicId":"LibTmux.Snapshot.Fixture#v:AttachedClient.index","name":"index","qualifiedName":"LibTmux.Snapshot.Fixture.index","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture#t:AttachedClient","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"index"},{"text":" :: !"},{"href":"LibTmux-Value.html#t:WindowIndex","target":"LibTmux.Value#t:WindowIndex","text":"WindowIndex"}],"params":[],"raw":"index :: !WindowIndex"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":82,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Selected window-link index in the attachment session."},"references":[{"target":"LibTmux.Value#t:WindowIndex","kind":"type"}],"slug":"libtmux-snapshot-fixture-v-attachedclient-index"},{"id":"LibTmux.Snapshot.Fixture#v:AttachedClient.pane","publicId":"LibTmux.Snapshot.Fixture#v:AttachedClient.pane","name":"pane","qualifiedName":"LibTmux.Snapshot.Fixture.pane","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture#t:AttachedClient","kind":"property","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"pane"},{"text":" :: !"},{"href":"LibTmux-Id.html#t:PaneId","target":"LibTmux.Id#t:PaneId","text":"PaneId"}],"params":[],"raw":"pane :: !PaneId"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":83,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"The selected physical pane, not an independent client focus."},"references":[{"target":"LibTmux.Id#t:PaneId","kind":"type"}],"slug":"libtmux-snapshot-fixture-v-attachedclient-pane"},{"id":"LibTmux.Snapshot.Fixture#v:emptyFixture","publicId":"LibTmux.Snapshot.Fixture#v:emptyFixture","name":"emptyFixture","qualifiedName":"LibTmux.Snapshot.Fixture.emptyFixture","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"emptyFixture"},{"text":" :: "},{"href":"LibTmux-Snapshot-Fixture.html#t:FixtureOrigin","target":"LibTmux.Snapshot.Fixture#t:FixtureOrigin","text":"FixtureOrigin"},{"text":" -> "},{"href":"LibTmux-Version.html#t:TmuxVersion","target":"LibTmux.Version#t:TmuxVersion","text":"TmuxVersion"},{"text":" -> "},{"href":"LibTmux-Snapshot-Fixture.html#t:Fixture","target":"LibTmux.Snapshot.Fixture#t:Fixture","text":"Fixture"}],"params":[],"raw":"emptyFixture :: FixtureOrigin -> TmuxVersion -> Fixture"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":91,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Empty complete inputs with explicit synthetic metadata: PID 1, epoch 0\n and path `fixture:offline`. No process or socket exists by implication.\n The version and every edited field are checked by :obj:`validateFixture `."},"references":[{"target":"LibTmux.Snapshot.Fixture#t:FixtureOrigin","kind":"type"},{"target":"LibTmux.Version#t:TmuxVersion","kind":"type"},{"target":"LibTmux.Snapshot.Fixture#t:Fixture","kind":"type"}],"slug":"libtmux-snapshot-fixture-v-emptyfixture"},{"id":"LibTmux.Snapshot.Fixture#t:FixtureError","publicId":"LibTmux.Snapshot.Fixture#t:FixtureError","name":"FixtureError","qualifiedName":"LibTmux.Snapshot.Fixture.FixtureError","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"FixtureError"}],"params":[],"raw":"data FixtureError"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":97,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A failed graph or complete-snapshot validation, with domain\n context from the validator. Failed input never becomes an empty snapshot.","body":"## Instances\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`FixtureError ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Snapshot/Fixture.hs#L100))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`FixtureError ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Snapshot/Fixture.hs#L100))"},"references":[{"target":"LibTmux.Snapshot.Fixture#t:FixtureError","kind":"type"}],"slug":"libtmux-snapshot-fixture-t-fixtureerror"},{"id":"LibTmux.Snapshot.Fixture#v:InvalidGraph","publicId":"LibTmux.Snapshot.Fixture#v:InvalidGraph","name":"InvalidGraph","qualifiedName":"LibTmux.Snapshot.Fixture.InvalidGraph","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture#t:FixtureError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"InvalidGraph"},{"text":" !"},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"InvalidGraph !Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":98,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Invalid references, multiplicity, attachment counts or selections."},"slug":"libtmux-snapshot-fixture-v-invalidgraph"},{"id":"LibTmux.Snapshot.Fixture#v:InvalidSnapshot","publicId":"LibTmux.Snapshot.Fixture#v:InvalidSnapshot","name":"InvalidSnapshot","qualifiedName":"LibTmux.Snapshot.Fixture.InvalidSnapshot","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture#t:FixtureError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"InvalidSnapshot"},{"text":" !"},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"InvalidSnapshot !Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":99,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Invalid metadata or attached-client context."},"slug":"libtmux-snapshot-fixture-v-invalidsnapshot"},{"id":"LibTmux.Snapshot.Fixture#v:validateFixture","publicId":"LibTmux.Snapshot.Fixture#v:validateFixture","name":"validateFixture","qualifiedName":"LibTmux.Snapshot.Fixture.validateFixture","namespace":"LibTmux.Snapshot.Fixture","parent":"LibTmux.Snapshot.Fixture","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"validateFixture"},{"text":" :: "},{"href":"LibTmux-Snapshot-Fixture.html#t:FixtureOrigin","target":"LibTmux.Snapshot.Fixture#t:FixtureOrigin","text":"FixtureOrigin"},{"text":" -> "},{"href":"LibTmux-Snapshot-Fixture.html#t:Fixture","target":"LibTmux.Snapshot.Fixture#t:Fixture","text":"Fixture"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Snapshot-Fixture.html#t:FixtureError","target":"LibTmux.Snapshot.Fixture#t:FixtureError","text":"FixtureError"},{"text":" "},{"href":"LibTmux-Snapshot.html#t:Snapshot","target":"LibTmux.Snapshot#t:Snapshot","text":"Snapshot"}],"params":[],"raw":"validateFixture :: FixtureOrigin -> Fixture -> Either FixtureError Snapshot"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Snapshot/Fixture.hs","line":106,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Validate and force owned values using the capture graph's invariants.\n Successful fixtures have no acquisition interval and carry offline\n provenance. Their references cannot equal references from a Server scope."},"references":[{"target":"LibTmux.Snapshot.Fixture#t:FixtureOrigin","kind":"type"},{"target":"LibTmux.Snapshot.Fixture#t:Fixture","kind":"type"},{"target":"LibTmux.Snapshot.Fixture#t:FixtureError","kind":"type"},{"target":"LibTmux.Snapshot#t:Snapshot","kind":"type"}],"slug":"libtmux-snapshot-fixture-v-validatefixture"},{"id":"LibTmux.Value#t:Dimension","publicId":"LibTmux.Value#t:Dimension","name":"Dimension","qualifiedName":"LibTmux.Value.Dimension","namespace":"LibTmux.Value","parent":"LibTmux.Value","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"Dimension"}],"params":[],"raw":"data Dimension"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":35,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Positive cells, constructed with :obj:`mkDimension `. Command and field limits\n are checked separately. Compare dimensions directly or use :obj:`dimensionValue `\n with an integer literal.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`Dimension ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Value.hs#L37))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`Dimension ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Value.hs#L36))\n\n- instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`Dimension ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Value.hs#L36))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`Dimension ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Value.hs#L36))"},"references":[{"target":"LibTmux.Value#t:Dimension","kind":"type"}],"slug":"libtmux-value-t-dimension"},{"id":"LibTmux.Value#t:WindowIndex","publicId":"LibTmux.Value#t:WindowIndex","name":"WindowIndex","qualifiedName":"LibTmux.Value.WindowIndex","namespace":"LibTmux.Value","parent":"LibTmux.Value","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"WindowIndex"}],"params":[],"raw":"data WindowIndex"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":41,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Nonnegative index of a window link within a session, not a physical window ID.\n Construct with :obj:`mkWindowIndex `; read with :obj:`windowIndexValue `.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`WindowIndex ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Value.hs#L43))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`WindowIndex ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Value.hs#L42))\n\n- instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`WindowIndex ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Value.hs#L42))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`WindowIndex ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Value.hs#L42))"},"references":[{"target":"LibTmux.Value#t:WindowIndex","kind":"type"}],"slug":"libtmux-value-t-windowindex"},{"id":"LibTmux.Value#t:PaneIndex","publicId":"LibTmux.Value#t:PaneIndex","name":"PaneIndex","qualifiedName":"LibTmux.Value.PaneIndex","namespace":"LibTmux.Value","parent":"LibTmux.Value","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"PaneIndex"}],"params":[],"raw":"data PaneIndex"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":47,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Nonnegative pane index within a window, not a pane ID.\n Construct with :obj:`mkPaneIndex `; read with :obj:`paneIndexValue `.","body":"## Instances\n\n- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) :obj:`PaneIndex ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Value.hs#L49))\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`PaneIndex ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Value.hs#L48))\n\n- instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`PaneIndex ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Value.hs#L48))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`PaneIndex ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Value.hs#L48))"},"references":[{"target":"LibTmux.Value#t:PaneIndex","kind":"type"}],"slug":"libtmux-value-t-paneindex"},{"id":"LibTmux.Value#t:ValueError","publicId":"LibTmux.Value#t:ValueError","name":"ValueError","qualifiedName":"LibTmux.Value.ValueError","namespace":"LibTmux.Value","parent":"LibTmux.Value","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"ValueError"}],"params":[],"raw":"data ValueError"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":52,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A scalar outside its mathematical domain.","body":"## Instances\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`ValueError ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Value.hs#L55))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`ValueError ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Value.hs#L55))"},"references":[{"target":"LibTmux.Value#t:ValueError","kind":"type"}],"slug":"libtmux-value-t-valueerror"},{"id":"LibTmux.Value#v:NonPositiveDimension","publicId":"LibTmux.Value#v:NonPositiveDimension","name":"NonPositiveDimension","qualifiedName":"LibTmux.Value.NonPositiveDimension","namespace":"LibTmux.Value","parent":"LibTmux.Value#t:ValueError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"NonPositiveDimension"},{"text":" !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"NonPositiveDimension !Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":53,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"The supplied dimension was zero or negative."},"slug":"libtmux-value-v-nonpositivedimension"},{"id":"LibTmux.Value#v:NegativeIndex","publicId":"LibTmux.Value#v:NegativeIndex","name":"NegativeIndex","qualifiedName":"LibTmux.Value.NegativeIndex","namespace":"LibTmux.Value","parent":"LibTmux.Value#t:ValueError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"NegativeIndex"},{"text":" !"},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"NegativeIndex !Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":54,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"The supplied contextual index was negative."},"slug":"libtmux-value-v-negativeindex"},{"id":"LibTmux.Value#v:mkDimension","publicId":"LibTmux.Value#v:mkDimension","name":"mkDimension","qualifiedName":"LibTmux.Value.mkDimension","namespace":"LibTmux.Value","parent":"LibTmux.Value","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"mkDimension"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Value.html#t:ValueError","target":"LibTmux.Value#t:ValueError","text":"ValueError"},{"text":" "},{"href":"LibTmux-Value.html#t:Dimension","target":"LibTmux.Value#t:Dimension","text":"Dimension"}],"params":[],"raw":"mkDimension :: Integer -> Either ValueError Dimension"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":59,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Construct a positive dimension without applying a command-specific maximum."},"references":[{"target":"LibTmux.Value#t:ValueError","kind":"type"},{"target":"LibTmux.Value#t:Dimension","kind":"type"}],"slug":"libtmux-value-v-mkdimension"},{"id":"LibTmux.Value#v:mkWindowIndex","publicId":"LibTmux.Value#v:mkWindowIndex","name":"mkWindowIndex","qualifiedName":"LibTmux.Value.mkWindowIndex","namespace":"LibTmux.Value","parent":"LibTmux.Value","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"mkWindowIndex"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Value.html#t:ValueError","target":"LibTmux.Value#t:ValueError","text":"ValueError"},{"text":" "},{"href":"LibTmux-Value.html#t:WindowIndex","target":"LibTmux.Value#t:WindowIndex","text":"WindowIndex"}],"params":[],"raw":"mkWindowIndex :: Integer -> Either ValueError WindowIndex"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":65,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Construct a nonnegative window-link index."},"references":[{"target":"LibTmux.Value#t:ValueError","kind":"type"},{"target":"LibTmux.Value#t:WindowIndex","kind":"type"}],"slug":"libtmux-value-v-mkwindowindex"},{"id":"LibTmux.Value#v:mkPaneIndex","publicId":"LibTmux.Value#v:mkPaneIndex","name":"mkPaneIndex","qualifiedName":"LibTmux.Value.mkPaneIndex","namespace":"LibTmux.Value","parent":"LibTmux.Value","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"mkPaneIndex"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Value.html#t:ValueError","target":"LibTmux.Value#t:ValueError","text":"ValueError"},{"text":" "},{"href":"LibTmux-Value.html#t:PaneIndex","target":"LibTmux.Value#t:PaneIndex","text":"PaneIndex"}],"params":[],"raw":"mkPaneIndex :: Integer -> Either ValueError PaneIndex"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":71,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Construct a nonnegative pane index."},"references":[{"target":"LibTmux.Value#t:ValueError","kind":"type"},{"target":"LibTmux.Value#t:PaneIndex","kind":"type"}],"slug":"libtmux-value-v-mkpaneindex"},{"id":"LibTmux.Value#v:dimensionValue","publicId":"LibTmux.Value#v:dimensionValue","name":"dimensionValue","qualifiedName":"LibTmux.Value.dimensionValue","namespace":"LibTmux.Value","parent":"LibTmux.Value","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"dimensionValue"},{"text":" :: "},{"href":"LibTmux-Value.html#t:Dimension","target":"LibTmux.Value#t:Dimension","text":"Dimension"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"dimensionValue :: Dimension -> Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":77,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Read a dimension as a mathematical integer, without narrowing conversion."},"references":[{"target":"LibTmux.Value#t:Dimension","kind":"type"}],"slug":"libtmux-value-v-dimensionvalue"},{"id":"LibTmux.Value#v:windowIndexValue","publicId":"LibTmux.Value#v:windowIndexValue","name":"windowIndexValue","qualifiedName":"LibTmux.Value.windowIndexValue","namespace":"LibTmux.Value","parent":"LibTmux.Value","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"windowIndexValue"},{"text":" :: "},{"href":"LibTmux-Value.html#t:WindowIndex","target":"LibTmux.Value#t:WindowIndex","text":"WindowIndex"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"windowIndexValue :: WindowIndex -> Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":81,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Read a window-link index as a mathematical integer."},"references":[{"target":"LibTmux.Value#t:WindowIndex","kind":"type"}],"slug":"libtmux-value-v-windowindexvalue"},{"id":"LibTmux.Value#v:paneIndexValue","publicId":"LibTmux.Value#v:paneIndexValue","name":"paneIndexValue","qualifiedName":"LibTmux.Value.paneIndexValue","namespace":"LibTmux.Value","parent":"LibTmux.Value","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"paneIndexValue"},{"text":" :: "},{"href":"LibTmux-Value.html#t:PaneIndex","target":"LibTmux.Value#t:PaneIndex","text":"PaneIndex"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Integer","text":"Integer"}],"params":[],"raw":"paneIndexValue :: PaneIndex -> Integer"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Value.hs","line":85,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Read a pane index as a mathematical integer."},"references":[{"target":"LibTmux.Value#t:PaneIndex","kind":"type"}],"slug":"libtmux-value-v-paneindexvalue"},{"id":"LibTmux.Version#t:TmuxVersion","publicId":"LibTmux.Version#t:TmuxVersion","name":"TmuxVersion","qualifiedName":"LibTmux.Version.TmuxVersion","namespace":"LibTmux.Version","parent":"LibTmux.Version","kind":"typealias","modifiers":["opaque"],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"TmuxVersion"}],"params":[],"raw":"data TmuxVersion"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Version.hs","line":31,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A stable release, constructed by :obj:`parseVersion ` and rendered by\n :obj:`renderVersion `. Ordering compares numeric components before the patch letter.","body":"## Instances\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`TmuxVersion ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Version.hs#L32))\n\n- instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) :obj:`TmuxVersion ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Version.hs#L32))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`TmuxVersion ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Version.hs#L32))"},"references":[{"target":"LibTmux.Version#t:TmuxVersion","kind":"type"}],"slug":"libtmux-version-t-tmuxversion"},{"id":"LibTmux.Version#t:VersionError","publicId":"LibTmux.Version#t:VersionError","name":"VersionError","qualifiedName":"LibTmux.Version.VersionError","namespace":"LibTmux.Version","parent":"LibTmux.Version","kind":"typealias","modifiers":[],"signatures":[{"nativeSpans":[{"keyword":true,"text":"data"},{"text":" "},{"declaration":true,"text":"VersionError"}],"params":[],"raw":"data VersionError"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Version.hs","line":35,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Invalid release syntax or a release outside the supported range.","body":"## Instances\n\n- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) :obj:`VersionError ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Version.hs#L38))\n\n- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) :obj:`VersionError ` ([Source](https://github.com/libtmux/libtmux-haskell/blob/fb86b60139795746e8964643a4f048fcd8a63d14/src/LibTmux/Version.hs#L38))"},"references":[{"target":"LibTmux.Version#t:VersionError","kind":"type"}],"slug":"libtmux-version-t-versionerror"},{"id":"LibTmux.Version#v:MalformedVersion","publicId":"LibTmux.Version#v:MalformedVersion","name":"MalformedVersion","qualifiedName":"LibTmux.Version.MalformedVersion","namespace":"LibTmux.Version","parent":"LibTmux.Version#t:VersionError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"MalformedVersion"},{"text":" !"},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"MalformedVersion !Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Version.hs","line":36,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Bounded copy of input that is not a stable release."},"slug":"libtmux-version-v-malformedversion"},{"id":"LibTmux.Version#v:UnsupportedVersion","publicId":"LibTmux.Version#v:UnsupportedVersion","name":"UnsupportedVersion","qualifiedName":"LibTmux.Version.UnsupportedVersion","namespace":"LibTmux.Version","parent":"LibTmux.Version#t:VersionError","kind":"function","modifiers":[],"signatures":[{"methodKind":"constructor","nativeSpans":[{"declaration":true,"text":"UnsupportedVersion"},{"text":" !"},{"href":"LibTmux-Version.html#t:TmuxVersion","target":"LibTmux.Version#t:TmuxVersion","text":"TmuxVersion"}],"params":[],"raw":"UnsupportedVersion !TmuxVersion"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Version.hs","line":37,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"A stable release outside 3.3a through 3.8."},"references":[{"target":"LibTmux.Version#t:TmuxVersion","kind":"type"}],"slug":"libtmux-version-v-unsupportedversion"},{"id":"LibTmux.Version#v:parseVersion","publicId":"LibTmux.Version#v:parseVersion","name":"parseVersion","qualifiedName":"LibTmux.Version.parseVersion","namespace":"LibTmux.Version","parent":"LibTmux.Version","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"parseVersion"},{"text":" :: "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Version.html#t:VersionError","target":"LibTmux.Version#t:VersionError","text":"VersionError"},{"text":" "},{"href":"LibTmux-Version.html#t:TmuxVersion","target":"LibTmux.Version#t:TmuxVersion","text":"TmuxVersion"}],"params":[],"raw":"parseVersion :: Text -> Either VersionError TmuxVersion"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Version.hs","line":44,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Parse a stable release or the output of `tmux -V`, allowing one final LF.\n Development builds and trailing data are rejected rather than assigned\n capabilities from a guessed stable version. Diagnostics retain at most 64 chars."},"references":[{"target":"LibTmux.Version#t:VersionError","kind":"type"},{"target":"LibTmux.Version#t:TmuxVersion","kind":"type"}],"slug":"libtmux-version-v-parseversion"},{"id":"LibTmux.Version#v:renderVersion","publicId":"LibTmux.Version#v:renderVersion","name":"renderVersion","qualifiedName":"LibTmux.Version.renderVersion","namespace":"LibTmux.Version","parent":"LibTmux.Version","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"renderVersion"},{"text":" :: "},{"href":"LibTmux-Version.html#t:TmuxVersion","target":"LibTmux.Version#t:TmuxVersion","text":"TmuxVersion"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/text-2.1.3/docs/Data-Text.html#t:Text","text":"Text"}],"params":[],"raw":"renderVersion :: TmuxVersion -> Text"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Version.hs","line":73,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Render the canonical release without the executable name or newline."},"references":[{"target":"LibTmux.Version#t:TmuxVersion","kind":"type"}],"slug":"libtmux-version-v-renderversion"},{"id":"LibTmux.Version#v:requireSupported","publicId":"LibTmux.Version#v:requireSupported","name":"requireSupported","qualifiedName":"LibTmux.Version.requireSupported","namespace":"LibTmux.Version","parent":"LibTmux.Version","kind":"function","modifiers":[],"signatures":[{"nativeSpans":[{"declaration":true,"text":"requireSupported"},{"text":" :: "},{"href":"LibTmux-Version.html#t:TmuxVersion","target":"LibTmux.Version#t:TmuxVersion","text":"TmuxVersion"},{"text":" -> "},{"href":"https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either","text":"Either"},{"text":" "},{"href":"LibTmux-Version.html#t:VersionError","target":"LibTmux.Version#t:VersionError","text":"VersionError"},{"text":" "},{"href":"LibTmux-Version.html#t:TmuxVersion","target":"LibTmux.Version#t:TmuxVersion","text":"TmuxVersion"}],"params":[],"raw":"requireSupported :: TmuxVersion -> Either VersionError TmuxVersion"}],"package":"libtmux-haskell","product":"core","apiScope":"exported","source":{"file":"src/LibTmux/Version.hs","line":80,"revision":"fb86b60139795746e8964643a4f048fcd8a63d14","repo":"libtmux/libtmux-haskell","extractedRevision":"fb86b60139795746e8964643a4f048fcd8a63d14"},"doc":{"summary":"Admit every stable release from 3.3a through 3.8, including intermediate\n releases. Versions outside that range fail. Individual features need their own\n capability checks; passing this check does not qualify an entire release."},"references":[{"target":"LibTmux.Version#t:TmuxVersion","kind":"type"},{"target":"LibTmux.Version#t:VersionError","kind":"type"}],"slug":"libtmux-version-v-requiresupported"}]} diff --git a/site/src/data/api/haskell.nav.json b/site/src/data/api/haskell.nav.json index 152a7d746..83c2463eb 100644 --- a/site/src/data/api/haskell.nav.json +++ b/site/src/data/api/haskell.nav.json @@ -1 +1 @@ -{"port":"haskell","buckets":[{"id":"exports:LibTmux.Id","label":"LibTmux.Id","collapsed":false,"target":{"id":"LibTmux.Id","name":"LibTmux.Id","slug":"libtmux-id","kind":"module"},"children":[{"id":"exports:LibTmux.Id:0","label":"Entity identities","collapsed":false,"target":{"id":"LibTmux.Id#t:SessionId","name":"SessionId","slug":"libtmux-id-t-sessionid","kind":"typealias"}},{"id":"exports:LibTmux.Id:1","label":"Parse external values","collapsed":false,"target":{"id":"LibTmux.Id#t:IdError","name":"IdError","slug":"libtmux-id-t-iderror","kind":"typealias"}},{"id":"exports:LibTmux.Id:2","label":"Render target text","collapsed":false,"target":{"id":"LibTmux.Id#v:renderSessionId","name":"renderSessionId","slug":"libtmux-id-v-rendersessionid","kind":"function"}},{"id":"exports:LibTmux.Id:3","label":"Read numeric values","collapsed":false,"target":{"id":"LibTmux.Id#v:sessionIdValue","name":"sessionIdValue","slug":"libtmux-id-v-sessionidvalue","kind":"function"}}]},{"id":"exports:LibTmux.Value","label":"LibTmux.Value","collapsed":false,"target":{"id":"LibTmux.Value","name":"LibTmux.Value","slug":"libtmux-value","kind":"module"},"children":[{"id":"exports:LibTmux.Value:0","label":"Checked types","collapsed":false,"target":{"id":"LibTmux.Value#t:Dimension","name":"Dimension","slug":"libtmux-value-t-dimension","kind":"typealias"}},{"id":"exports:LibTmux.Value:1","label":"Validate input","collapsed":false,"target":{"id":"LibTmux.Value#t:ValueError","name":"ValueError","slug":"libtmux-value-t-valueerror","kind":"typealias"}},{"id":"exports:LibTmux.Value:2","label":"Read numeric values","collapsed":false,"target":{"id":"LibTmux.Value#v:dimensionValue","name":"dimensionValue","slug":"libtmux-value-v-dimensionvalue","kind":"function"}}]},{"id":"exports:LibTmux.Version","label":"LibTmux.Version","collapsed":false,"target":{"id":"LibTmux.Version","name":"LibTmux.Version","slug":"libtmux-version","kind":"module"},"children":[{"id":"exports:LibTmux.Version:0","label":"Release identity and errors","collapsed":false,"target":{"id":"LibTmux.Version#t:TmuxVersion","name":"TmuxVersion","slug":"libtmux-version-t-tmuxversion","kind":"typealias"}},{"id":"exports:LibTmux.Version:1","label":"Parse and render","collapsed":false,"target":{"id":"LibTmux.Version#v:parseVersion","name":"parseVersion","slug":"libtmux-version-v-parseversion","kind":"function"}},{"id":"exports:LibTmux.Version:2","label":"Admit a release","collapsed":false,"target":{"id":"LibTmux.Version#v:requireSupported","name":"requireSupported","slug":"libtmux-version-v-requiresupported","kind":"function"}}]}],"assignments":{"exports:LibTmux.Id":[{"id":"LibTmux.Id","name":"LibTmux.Id","slug":"libtmux-id","kind":"module"}],"exports:LibTmux.Id:0":[{"id":"LibTmux.Id#t:SessionId","name":"SessionId","slug":"libtmux-id-t-sessionid","kind":"typealias"},{"id":"LibTmux.Id#t:WindowId","name":"WindowId","slug":"libtmux-id-t-windowid","kind":"typealias"},{"id":"LibTmux.Id#t:PaneId","name":"PaneId","slug":"libtmux-id-t-paneid","kind":"typealias"}],"exports:LibTmux.Id:1":[{"id":"LibTmux.Id#t:IdError","name":"IdError","slug":"libtmux-id-t-iderror","kind":"typealias"},{"id":"LibTmux.Id#v:parseSessionId","name":"parseSessionId","slug":"libtmux-id-v-parsesessionid","kind":"function"},{"id":"LibTmux.Id#v:parseWindowId","name":"parseWindowId","slug":"libtmux-id-v-parsewindowid","kind":"function"},{"id":"LibTmux.Id#v:parsePaneId","name":"parsePaneId","slug":"libtmux-id-v-parsepaneid","kind":"function"}],"exports:LibTmux.Id:2":[{"id":"LibTmux.Id#v:renderSessionId","name":"renderSessionId","slug":"libtmux-id-v-rendersessionid","kind":"function"},{"id":"LibTmux.Id#v:renderWindowId","name":"renderWindowId","slug":"libtmux-id-v-renderwindowid","kind":"function"},{"id":"LibTmux.Id#v:renderPaneId","name":"renderPaneId","slug":"libtmux-id-v-renderpaneid","kind":"function"}],"exports:LibTmux.Id:3":[{"id":"LibTmux.Id#v:sessionIdValue","name":"sessionIdValue","slug":"libtmux-id-v-sessionidvalue","kind":"function"},{"id":"LibTmux.Id#v:windowIdValue","name":"windowIdValue","slug":"libtmux-id-v-windowidvalue","kind":"function"},{"id":"LibTmux.Id#v:paneIdValue","name":"paneIdValue","slug":"libtmux-id-v-paneidvalue","kind":"function"}],"exports:LibTmux.Value":[{"id":"LibTmux.Value","name":"LibTmux.Value","slug":"libtmux-value","kind":"module"}],"exports:LibTmux.Value:0":[{"id":"LibTmux.Value#t:Dimension","name":"Dimension","slug":"libtmux-value-t-dimension","kind":"typealias"},{"id":"LibTmux.Value#t:WindowIndex","name":"WindowIndex","slug":"libtmux-value-t-windowindex","kind":"typealias"},{"id":"LibTmux.Value#t:PaneIndex","name":"PaneIndex","slug":"libtmux-value-t-paneindex","kind":"typealias"}],"exports:LibTmux.Value:1":[{"id":"LibTmux.Value#t:ValueError","name":"ValueError","slug":"libtmux-value-t-valueerror","kind":"typealias"},{"id":"LibTmux.Value#v:mkDimension","name":"mkDimension","slug":"libtmux-value-v-mkdimension","kind":"function"},{"id":"LibTmux.Value#v:mkWindowIndex","name":"mkWindowIndex","slug":"libtmux-value-v-mkwindowindex","kind":"function"},{"id":"LibTmux.Value#v:mkPaneIndex","name":"mkPaneIndex","slug":"libtmux-value-v-mkpaneindex","kind":"function"}],"exports:LibTmux.Value:2":[{"id":"LibTmux.Value#v:dimensionValue","name":"dimensionValue","slug":"libtmux-value-v-dimensionvalue","kind":"function"},{"id":"LibTmux.Value#v:windowIndexValue","name":"windowIndexValue","slug":"libtmux-value-v-windowindexvalue","kind":"function"},{"id":"LibTmux.Value#v:paneIndexValue","name":"paneIndexValue","slug":"libtmux-value-v-paneindexvalue","kind":"function"}],"exports:LibTmux.Version":[{"id":"LibTmux.Version","name":"LibTmux.Version","slug":"libtmux-version","kind":"module"}],"exports:LibTmux.Version:0":[{"id":"LibTmux.Version#t:TmuxVersion","name":"TmuxVersion","slug":"libtmux-version-t-tmuxversion","kind":"typealias"},{"id":"LibTmux.Version#t:VersionError","name":"VersionError","slug":"libtmux-version-t-versionerror","kind":"typealias"}],"exports:LibTmux.Version:1":[{"id":"LibTmux.Version#v:parseVersion","name":"parseVersion","slug":"libtmux-version-v-parseversion","kind":"function"},{"id":"LibTmux.Version#v:renderVersion","name":"renderVersion","slug":"libtmux-version-v-renderversion","kind":"function"}],"exports:LibTmux.Version:2":[{"id":"LibTmux.Version#v:requireSupported","name":"requireSupported","slug":"libtmux-version-v-requiresupported","kind":"function"}]},"placement":{"LibTmux.Id":"exports:LibTmux.Id","LibTmux.Id#t:SessionId":"exports:LibTmux.Id:0","LibTmux.Id#t:WindowId":"exports:LibTmux.Id:0","LibTmux.Id#t:PaneId":"exports:LibTmux.Id:0","LibTmux.Id#t:IdError":"exports:LibTmux.Id:1","LibTmux.Id#v:parseSessionId":"exports:LibTmux.Id:1","LibTmux.Id#v:parseWindowId":"exports:LibTmux.Id:1","LibTmux.Id#v:parsePaneId":"exports:LibTmux.Id:1","LibTmux.Id#v:renderSessionId":"exports:LibTmux.Id:2","LibTmux.Id#v:renderWindowId":"exports:LibTmux.Id:2","LibTmux.Id#v:renderPaneId":"exports:LibTmux.Id:2","LibTmux.Id#v:sessionIdValue":"exports:LibTmux.Id:3","LibTmux.Id#v:windowIdValue":"exports:LibTmux.Id:3","LibTmux.Id#v:paneIdValue":"exports:LibTmux.Id:3","LibTmux.Value":"exports:LibTmux.Value","LibTmux.Value#t:Dimension":"exports:LibTmux.Value:0","LibTmux.Value#t:WindowIndex":"exports:LibTmux.Value:0","LibTmux.Value#t:PaneIndex":"exports:LibTmux.Value:0","LibTmux.Value#t:ValueError":"exports:LibTmux.Value:1","LibTmux.Value#v:mkDimension":"exports:LibTmux.Value:1","LibTmux.Value#v:mkWindowIndex":"exports:LibTmux.Value:1","LibTmux.Value#v:mkPaneIndex":"exports:LibTmux.Value:1","LibTmux.Value#v:dimensionValue":"exports:LibTmux.Value:2","LibTmux.Value#v:windowIndexValue":"exports:LibTmux.Value:2","LibTmux.Value#v:paneIndexValue":"exports:LibTmux.Value:2","LibTmux.Version":"exports:LibTmux.Version","LibTmux.Version#t:TmuxVersion":"exports:LibTmux.Version:0","LibTmux.Version#t:VersionError":"exports:LibTmux.Version:0","LibTmux.Version#v:parseVersion":"exports:LibTmux.Version:1","LibTmux.Version#v:renderVersion":"exports:LibTmux.Version:1","LibTmux.Version#v:requireSupported":"exports:LibTmux.Version:2"},"unplaced":[],"diagnostics":{"unmatched":[],"deadBuckets":[],"ambiguous":[],"staleUnsettled":[]}} +{"port":"haskell","buckets":[{"id":"exports:LibTmux","label":"LibTmux","collapsed":false,"target":{"id":"LibTmux","name":"LibTmux","slug":"libtmux","kind":"module"},"children":[]},{"id":"exports:LibTmux.Id","label":"LibTmux.Id","collapsed":false,"target":{"id":"LibTmux.Id","name":"LibTmux.Id","slug":"libtmux-id","kind":"module"},"children":[{"id":"exports:LibTmux.Id:0","label":"Entity identities","collapsed":false,"target":{"id":"LibTmux.Id#t:SessionId","name":"SessionId","slug":"libtmux-id-t-sessionid","kind":"typealias"}},{"id":"exports:LibTmux.Id:1","label":"Parse external values","collapsed":false,"target":{"id":"LibTmux.Id#t:IdError","name":"IdError","slug":"libtmux-id-t-iderror","kind":"typealias"}},{"id":"exports:LibTmux.Id:2","label":"Render target text","collapsed":false,"target":{"id":"LibTmux.Id#v:renderSessionId","name":"renderSessionId","slug":"libtmux-id-v-rendersessionid","kind":"function"}},{"id":"exports:LibTmux.Id:3","label":"Read numeric values","collapsed":false,"target":{"id":"LibTmux.Id#v:sessionIdValue","name":"sessionIdValue","slug":"libtmux-id-v-sessionidvalue","kind":"function"}}]},{"id":"exports:LibTmux.Query","label":"LibTmux.Query","collapsed":false,"target":{"id":"LibTmux.Query","name":"LibTmux.Query","slug":"libtmux-query","kind":"module"},"children":[{"id":"exports:LibTmux.Query:0","label":"Descriptions","collapsed":false,"target":{"id":"LibTmux.Query#t:Field","name":"Field","slug":"libtmux-query-t-field","kind":"typealias"}},{"id":"exports:LibTmux.Query:1","label":"Ordered sources","collapsed":false,"target":{"id":"LibTmux.Query#v:sessions","name":"sessions","slug":"libtmux-query-v-sessions","kind":"function"}},{"id":"exports:LibTmux.Query:2","label":"Scalar predicates","collapsed":false,"target":{"id":"LibTmux.Query#v:eq","name":"eq","slug":"libtmux-query-v-eq","kind":"function"}},{"id":"exports:LibTmux.Query:3","label":"Logic and relationships","collapsed":false,"target":{"id":"LibTmux.Query#v:allOf","name":"allOf","slug":"libtmux-query-v-allof","kind":"function"}},{"id":"exports:LibTmux.Query:4","label":"Selection and ordering","collapsed":false,"target":{"id":"LibTmux.Query#v:matching","name":"matching","slug":"libtmux-query-v-matching","kind":"function"}},{"id":"exports:LibTmux.Query:5","label":"Inspect and evaluate","collapsed":false,"target":{"id":"LibTmux.Query#t:QueryRequirements","name":"QueryRequirements","slug":"libtmux-query-t-queryrequirements","kind":"typealias"}},{"id":"exports:LibTmux.Query:6","label":"Cardinality","collapsed":false,"target":{"id":"LibTmux.Query#t:CardinalityError","name":"CardinalityError","slug":"libtmux-query-t-cardinalityerror","kind":"typealias"}}]},{"id":"exports:LibTmux.Query.Client","label":"LibTmux.Query.Client","collapsed":false,"target":{"id":"LibTmux.Query.Client","name":"LibTmux.Query.Client","slug":"libtmux-query-client","kind":"module"},"children":[{"id":"exports:LibTmux.Query.Client:0","label":"Documentation","collapsed":false,"target":{"id":"LibTmux.Query.Client#v:name","name":"name","slug":"libtmux-query-client-v-name","kind":"function"}}]},{"id":"exports:LibTmux.Query.ClientAttachment","label":"LibTmux.Query.ClientAttachment","collapsed":false,"target":{"id":"LibTmux.Query.ClientAttachment","name":"LibTmux.Query.ClientAttachment","slug":"libtmux-query-clientattachment","kind":"module"},"children":[{"id":"exports:LibTmux.Query.ClientAttachment:0","label":"Documentation","collapsed":false,"target":{"id":"LibTmux.Query.ClientAttachment#v:sessionId","name":"sessionId","slug":"libtmux-query-clientattachment-v-sessionid","kind":"function"}}]},{"id":"exports:LibTmux.Query.Link","label":"LibTmux.Query.Link","collapsed":false,"target":{"id":"LibTmux.Query.Link","name":"LibTmux.Query.Link","slug":"libtmux-query-link","kind":"module"},"children":[{"id":"exports:LibTmux.Query.Link:0","label":"Documentation","collapsed":false,"target":{"id":"LibTmux.Query.Link#v:sessionId","name":"sessionId","slug":"libtmux-query-link-v-sessionid","kind":"function"}}]},{"id":"exports:LibTmux.Query.Occurrence","label":"LibTmux.Query.Occurrence","collapsed":false,"target":{"id":"LibTmux.Query.Occurrence","name":"LibTmux.Query.Occurrence","slug":"libtmux-query-occurrence","kind":"module"},"children":[{"id":"exports:LibTmux.Query.Occurrence:0","label":"Documentation","collapsed":false,"target":{"id":"LibTmux.Query.Occurrence#v:pane","name":"pane","slug":"libtmux-query-occurrence-v-pane","kind":"function"}}]},{"id":"exports:LibTmux.Query.Pane","label":"LibTmux.Query.Pane","collapsed":false,"target":{"id":"LibTmux.Query.Pane","name":"LibTmux.Query.Pane","slug":"libtmux-query-pane","kind":"module"},"children":[{"id":"exports:LibTmux.Query.Pane:0","label":"Documentation","collapsed":false,"target":{"id":"LibTmux.Query.Pane#v:id","name":"id","slug":"libtmux-query-pane-v-id","kind":"function"}}]},{"id":"exports:LibTmux.Query.ServerInfo","label":"LibTmux.Query.ServerInfo","collapsed":false,"target":{"id":"LibTmux.Query.ServerInfo","name":"LibTmux.Query.ServerInfo","slug":"libtmux-query-serverinfo","kind":"module"},"children":[{"id":"exports:LibTmux.Query.ServerInfo:0","label":"Documentation","collapsed":false,"target":{"id":"LibTmux.Query.ServerInfo#v:pid","name":"pid","slug":"libtmux-query-serverinfo-v-pid","kind":"function"}}]},{"id":"exports:LibTmux.Query.Session","label":"LibTmux.Query.Session","collapsed":false,"target":{"id":"LibTmux.Query.Session","name":"LibTmux.Query.Session","slug":"libtmux-query-session","kind":"module"},"children":[{"id":"exports:LibTmux.Query.Session:0","label":"Documentation","collapsed":false,"target":{"id":"LibTmux.Query.Session#v:id","name":"id","slug":"libtmux-query-session-v-id","kind":"function"}}]},{"id":"exports:LibTmux.Query.Window","label":"LibTmux.Query.Window","collapsed":false,"target":{"id":"LibTmux.Query.Window","name":"LibTmux.Query.Window","slug":"libtmux-query-window","kind":"module"},"children":[{"id":"exports:LibTmux.Query.Window:0","label":"Documentation","collapsed":false,"target":{"id":"LibTmux.Query.Window#v:id","name":"id","slug":"libtmux-query-window-v-id","kind":"function"}}]},{"id":"exports:LibTmux.Server","label":"LibTmux.Server","collapsed":false,"target":{"id":"LibTmux.Server","name":"LibTmux.Server","slug":"libtmux-server","kind":"module"},"children":[{"id":"exports:LibTmux.Server:0","label":"Open and observe","collapsed":false,"target":{"id":"LibTmux.Server#t:Server","name":"Server","slug":"libtmux-server-t-server","kind":"typealias"}},{"id":"exports:LibTmux.Server:1","label":"Shared ownership","collapsed":false,"target":{"id":"LibTmux.Server#t:Runtime","name":"Runtime","slug":"libtmux-server-t-runtime","kind":"typealias"}},{"id":"exports:LibTmux.Server:2","label":"Operational failures","collapsed":false,"target":{"id":"LibTmux.Server#t:TmuxException","name":"TmuxException","slug":"libtmux-server-t-tmuxexception","kind":"typealias"}},{"id":"exports:LibTmux.Server:3","label":"Scope cleanup","collapsed":false,"target":{"id":"LibTmux.Server#t:CleanupRecovery","name":"CleanupRecovery","slug":"libtmux-server-t-cleanuprecovery","kind":"typealias"}},{"id":"exports:LibTmux.Server:4","label":"Correlated capture recovery","collapsed":false,"target":{"id":"LibTmux.Server#t:CaptureRecovery","name":"CaptureRecovery","slug":"libtmux-server-t-capturerecovery","kind":"typealias"}}]},{"id":"exports:LibTmux.Snapshot","label":"LibTmux.Snapshot","collapsed":false,"target":{"id":"LibTmux.Snapshot","name":"LibTmux.Snapshot","slug":"libtmux-snapshot","kind":"module"},"children":[{"id":"exports:LibTmux.Snapshot:0","label":"Complete observations","collapsed":false,"target":{"id":"LibTmux.Snapshot#t:Snapshot","name":"Snapshot","slug":"libtmux-snapshot-t-snapshot","kind":"typealias"}},{"id":"exports:LibTmux.Snapshot:1","label":"Physical and contextual values","collapsed":false,"target":{"id":"LibTmux.Snapshot#t:Session","name":"Session","slug":"libtmux-snapshot-t-session","kind":"typealias"}},{"id":"exports:LibTmux.Snapshot:2","label":"Target identity","collapsed":false,"target":{"id":"LibTmux.Snapshot#t:Generation","name":"Generation","slug":"libtmux-snapshot-t-generation","kind":"typealias"}},{"id":"exports:LibTmux.Snapshot:3","label":"Ordered sources","collapsed":false,"target":{"id":"LibTmux.Snapshot#v:sessions","name":"sessions","slug":"libtmux-snapshot-v-sessions","kind":"function"}},{"id":"exports:LibTmux.Snapshot:4","label":"Indexed navigation","collapsed":false,"target":{"id":"LibTmux.Snapshot#t:LookupError","name":"LookupError","slug":"libtmux-snapshot-t-lookuperror","kind":"typealias"}},{"id":"exports:LibTmux.Snapshot:5","label":"Lossless labels","collapsed":false,"target":{"id":"LibTmux.Snapshot#t:TmuxText","name":"TmuxText","slug":"libtmux-snapshot-t-tmuxtext","kind":"typealias"}}]},{"id":"exports:LibTmux.Snapshot.Fixture","label":"LibTmux.Snapshot.Fixture","collapsed":false,"target":{"id":"LibTmux.Snapshot.Fixture","name":"LibTmux.Snapshot.Fixture","slug":"libtmux-snapshot-fixture","kind":"module"},"children":[{"id":"exports:LibTmux.Snapshot.Fixture:0","label":"Offline identity","collapsed":false,"target":{"id":"LibTmux.Snapshot.Fixture#t:FixtureOrigin","name":"FixtureOrigin","slug":"libtmux-snapshot-fixture-t-fixtureorigin","kind":"typealias"}},{"id":"exports:LibTmux.Snapshot.Fixture:1","label":"Complete fixture inputs","collapsed":false,"target":{"id":"LibTmux.Snapshot.Fixture#t:Fixture","name":"Fixture","slug":"libtmux-snapshot-fixture-t-fixture","kind":"typealias"}},{"id":"exports:LibTmux.Snapshot.Fixture:2","label":"Validation","collapsed":false,"target":{"id":"LibTmux.Snapshot.Fixture#t:FixtureError","name":"FixtureError","slug":"libtmux-snapshot-fixture-t-fixtureerror","kind":"typealias"}}]},{"id":"exports:LibTmux.Value","label":"LibTmux.Value","collapsed":false,"target":{"id":"LibTmux.Value","name":"LibTmux.Value","slug":"libtmux-value","kind":"module"},"children":[{"id":"exports:LibTmux.Value:0","label":"Checked types","collapsed":false,"target":{"id":"LibTmux.Value#t:Dimension","name":"Dimension","slug":"libtmux-value-t-dimension","kind":"typealias"}},{"id":"exports:LibTmux.Value:1","label":"Validate input","collapsed":false,"target":{"id":"LibTmux.Value#t:ValueError","name":"ValueError","slug":"libtmux-value-t-valueerror","kind":"typealias"}},{"id":"exports:LibTmux.Value:2","label":"Read numeric values","collapsed":false,"target":{"id":"LibTmux.Value#v:dimensionValue","name":"dimensionValue","slug":"libtmux-value-v-dimensionvalue","kind":"function"}}]},{"id":"exports:LibTmux.Version","label":"LibTmux.Version","collapsed":false,"target":{"id":"LibTmux.Version","name":"LibTmux.Version","slug":"libtmux-version","kind":"module"},"children":[{"id":"exports:LibTmux.Version:0","label":"Release identity and errors","collapsed":false,"target":{"id":"LibTmux.Version#t:TmuxVersion","name":"TmuxVersion","slug":"libtmux-version-t-tmuxversion","kind":"typealias"}},{"id":"exports:LibTmux.Version:1","label":"Parse and render","collapsed":false,"target":{"id":"LibTmux.Version#v:parseVersion","name":"parseVersion","slug":"libtmux-version-v-parseversion","kind":"function"}},{"id":"exports:LibTmux.Version:2","label":"Admit a release","collapsed":false,"target":{"id":"LibTmux.Version#v:requireSupported","name":"requireSupported","slug":"libtmux-version-v-requiresupported","kind":"function"}}]}],"assignments":{"exports:LibTmux":[{"id":"LibTmux","name":"LibTmux","slug":"libtmux","kind":"module"}],"exports:LibTmux.Id":[{"id":"LibTmux.Id","name":"LibTmux.Id","slug":"libtmux-id","kind":"module"}],"exports:LibTmux.Id:0":[{"id":"LibTmux.Id#t:SessionId","name":"SessionId","slug":"libtmux-id-t-sessionid","kind":"typealias"},{"id":"LibTmux.Id#t:WindowId","name":"WindowId","slug":"libtmux-id-t-windowid","kind":"typealias"},{"id":"LibTmux.Id#t:PaneId","name":"PaneId","slug":"libtmux-id-t-paneid","kind":"typealias"}],"exports:LibTmux.Id:1":[{"id":"LibTmux.Id#t:IdError","name":"IdError","slug":"libtmux-id-t-iderror","kind":"typealias"},{"id":"LibTmux.Id#v:parseSessionId","name":"parseSessionId","slug":"libtmux-id-v-parsesessionid","kind":"function"},{"id":"LibTmux.Id#v:parseWindowId","name":"parseWindowId","slug":"libtmux-id-v-parsewindowid","kind":"function"},{"id":"LibTmux.Id#v:parsePaneId","name":"parsePaneId","slug":"libtmux-id-v-parsepaneid","kind":"function"}],"exports:LibTmux.Id:2":[{"id":"LibTmux.Id#v:renderSessionId","name":"renderSessionId","slug":"libtmux-id-v-rendersessionid","kind":"function"},{"id":"LibTmux.Id#v:renderWindowId","name":"renderWindowId","slug":"libtmux-id-v-renderwindowid","kind":"function"},{"id":"LibTmux.Id#v:renderPaneId","name":"renderPaneId","slug":"libtmux-id-v-renderpaneid","kind":"function"}],"exports:LibTmux.Id:3":[{"id":"LibTmux.Id#v:sessionIdValue","name":"sessionIdValue","slug":"libtmux-id-v-sessionidvalue","kind":"function"},{"id":"LibTmux.Id#v:windowIdValue","name":"windowIdValue","slug":"libtmux-id-v-windowidvalue","kind":"function"},{"id":"LibTmux.Id#v:paneIdValue","name":"paneIdValue","slug":"libtmux-id-v-paneidvalue","kind":"function"}],"exports:LibTmux.Query":[{"id":"LibTmux.Query","name":"LibTmux.Query","slug":"libtmux-query","kind":"module"}],"exports:LibTmux.Query:0":[{"id":"LibTmux.Query#t:Field","name":"Field","slug":"libtmux-query-t-field","kind":"typealias"},{"id":"LibTmux.Query#t:Expr","name":"Expr","slug":"libtmux-query-t-expr","kind":"typealias"},{"id":"LibTmux.Query#t:Query","name":"Query","slug":"libtmux-query-t-query","kind":"typealias"},{"id":"LibTmux.Query#t:Order","name":"Order","slug":"libtmux-query-t-order","kind":"typealias"},{"id":"LibTmux.Query#t:ToMany","name":"ToMany","slug":"libtmux-query-t-tomany","kind":"typealias"},{"id":"LibTmux.Query#t:ToOne","name":"ToOne","slug":"libtmux-query-t-toone","kind":"typealias"},{"id":"LibTmux.Query#t:ToOptional","name":"ToOptional","slug":"libtmux-query-t-tooptional","kind":"typealias"}],"exports:LibTmux.Query:1":[{"id":"LibTmux.Query#v:sessions","name":"sessions","slug":"libtmux-query-v-sessions","kind":"function"},{"id":"LibTmux.Query#v:windows","name":"windows","slug":"libtmux-query-v-windows","kind":"function"},{"id":"LibTmux.Query#v:panes","name":"panes","slug":"libtmux-query-v-panes","kind":"function"},{"id":"LibTmux.Query#v:windowLinks","name":"windowLinks","slug":"libtmux-query-v-windowlinks","kind":"function"},{"id":"LibTmux.Query#v:paneOccurrences","name":"paneOccurrences","slug":"libtmux-query-v-paneoccurrences","kind":"function"},{"id":"LibTmux.Query#v:clients","name":"clients","slug":"libtmux-query-v-clients","kind":"function"},{"id":"LibTmux.Query#v:serverInfo","name":"serverInfo","slug":"libtmux-query-v-serverinfo","kind":"function"}],"exports:LibTmux.Query:2":[{"id":"LibTmux.Query#v:eq","name":"eq","slug":"libtmux-query-v-eq","kind":"function"},{"id":"LibTmux.Query#v:oneOf","name":"oneOf","slug":"libtmux-query-v-oneof","kind":"function"},{"id":"LibTmux.Query#v:contains","name":"contains","slug":"libtmux-query-v-contains","kind":"function"},{"id":"LibTmux.Query#v:ge","name":"ge","slug":"libtmux-query-v-ge","kind":"function"},{"id":"LibTmux.Query#v:gt","name":"gt","slug":"libtmux-query-v-gt","kind":"function"},{"id":"LibTmux.Query#v:le","name":"le","slug":"libtmux-query-v-le","kind":"function"},{"id":"LibTmux.Query#v:lt","name":"lt","slug":"libtmux-query-v-lt","kind":"function"},{"id":"LibTmux.Query#v:dimensionAtLeast","name":"dimensionAtLeast","slug":"libtmux-query-v-dimensionatleast","kind":"function"},{"id":"LibTmux.Query#v:dimensionAtMost","name":"dimensionAtMost","slug":"libtmux-query-v-dimensionatmost","kind":"function"},{"id":"LibTmux.Query#v:paneIndexAtLeast","name":"paneIndexAtLeast","slug":"libtmux-query-v-paneindexatleast","kind":"function"},{"id":"LibTmux.Query#v:paneIndexAtMost","name":"paneIndexAtMost","slug":"libtmux-query-v-paneindexatmost","kind":"function"},{"id":"LibTmux.Query#v:windowIndexAtLeast","name":"windowIndexAtLeast","slug":"libtmux-query-v-windowindexatleast","kind":"function"},{"id":"LibTmux.Query#v:windowIndexAtMost","name":"windowIndexAtMost","slug":"libtmux-query-v-windowindexatmost","kind":"function"}],"exports:LibTmux.Query:3":[{"id":"LibTmux.Query#v:allOf","name":"allOf","slug":"libtmux-query-v-allof","kind":"function"},{"id":"LibTmux.Query#v:anyOf","name":"anyOf","slug":"libtmux-query-v-anyof","kind":"function"},{"id":"LibTmux.Query#v:not_","name":"not_","slug":"libtmux-query-v-not_","kind":"function"},{"id":"LibTmux.Query#v:some","name":"some","slug":"libtmux-query-v-some","kind":"function"},{"id":"LibTmux.Query#v:every","name":"every","slug":"libtmux-query-v-every","kind":"function"},{"id":"LibTmux.Query#v:none","name":"none","slug":"libtmux-query-v-none","kind":"function"},{"id":"LibTmux.Query#v:related","name":"related","slug":"libtmux-query-v-related","kind":"function"},{"id":"LibTmux.Query#v:optionalRelated","name":"optionalRelated","slug":"libtmux-query-v-optionalrelated","kind":"function"}],"exports:LibTmux.Query:4":[{"id":"LibTmux.Query#v:matching","name":"matching","slug":"libtmux-query-v-matching","kind":"function"},{"id":"LibTmux.Query#v:orderBy","name":"orderBy","slug":"libtmux-query-v-orderby","kind":"function"},{"id":"LibTmux.Query#v:ascending","name":"ascending","slug":"libtmux-query-v-ascending","kind":"function"},{"id":"LibTmux.Query#v:descending","name":"descending","slug":"libtmux-query-v-descending","kind":"function"},{"id":"LibTmux.Query#v:limit","name":"limit","slug":"libtmux-query-v-limit","kind":"function"}],"exports:LibTmux.Query:5":[{"id":"LibTmux.Query#t:QueryRequirements","name":"QueryRequirements","slug":"libtmux-query-t-queryrequirements","kind":"typealias"},{"id":"LibTmux.Query#v:requirements","name":"requirements","slug":"libtmux-query-v-requirements","kind":"function"},{"id":"LibTmux.Query#t:QueryError","name":"QueryError","slug":"libtmux-query-t-queryerror","kind":"typealias"},{"id":"LibTmux.Query#v:runQuery","name":"runQuery","slug":"libtmux-query-v-runquery","kind":"function"},{"id":"LibTmux.Query#v:fetch","name":"fetch","slug":"libtmux-query-v-fetch","kind":"function"}],"exports:LibTmux.Query:6":[{"id":"LibTmux.Query#t:CardinalityError","name":"CardinalityError","slug":"libtmux-query-t-cardinalityerror","kind":"typealias"},{"id":"LibTmux.Query#v:exactlyOne","name":"exactlyOne","slug":"libtmux-query-v-exactlyone","kind":"function"},{"id":"LibTmux.Query#v:atMostOne","name":"atMostOne","slug":"libtmux-query-v-atmostone","kind":"function"}],"exports:LibTmux.Query.Client":[{"id":"LibTmux.Query.Client","name":"LibTmux.Query.Client","slug":"libtmux-query-client","kind":"module"}],"exports:LibTmux.Query.Client:0":[{"id":"LibTmux.Query.Client#v:name","name":"name","slug":"libtmux-query-client-v-name","kind":"function"},{"id":"LibTmux.Query.Client#v:pid","name":"pid","slug":"libtmux-query-client-v-pid","kind":"function"},{"id":"LibTmux.Query.Client#v:tty","name":"tty","slug":"libtmux-query-client-v-tty","kind":"function"},{"id":"LibTmux.Query.Client#v:attachment","name":"attachment","slug":"libtmux-query-client-v-attachment","kind":"function"}],"exports:LibTmux.Query.ClientAttachment":[{"id":"LibTmux.Query.ClientAttachment","name":"LibTmux.Query.ClientAttachment","slug":"libtmux-query-clientattachment","kind":"module"}],"exports:LibTmux.Query.ClientAttachment:0":[{"id":"LibTmux.Query.ClientAttachment#v:sessionId","name":"sessionId","slug":"libtmux-query-clientattachment-v-sessionid","kind":"function"},{"id":"LibTmux.Query.ClientAttachment#v:windowId","name":"windowId","slug":"libtmux-query-clientattachment-v-windowid","kind":"function"},{"id":"LibTmux.Query.ClientAttachment#v:windowIndex","name":"windowIndex","slug":"libtmux-query-clientattachment-v-windowindex","kind":"function"},{"id":"LibTmux.Query.ClientAttachment#v:paneId","name":"paneId","slug":"libtmux-query-clientattachment-v-paneid","kind":"function"},{"id":"LibTmux.Query.ClientAttachment#v:session","name":"session","slug":"libtmux-query-clientattachment-v-session","kind":"function"},{"id":"LibTmux.Query.ClientAttachment#v:window","name":"window","slug":"libtmux-query-clientattachment-v-window","kind":"function"},{"id":"LibTmux.Query.ClientAttachment#v:pane","name":"pane","slug":"libtmux-query-clientattachment-v-pane","kind":"function"}],"exports:LibTmux.Query.Link":[{"id":"LibTmux.Query.Link","name":"LibTmux.Query.Link","slug":"libtmux-query-link","kind":"module"}],"exports:LibTmux.Query.Link:0":[{"id":"LibTmux.Query.Link#v:sessionId","name":"sessionId","slug":"libtmux-query-link-v-sessionid","kind":"function"},{"id":"LibTmux.Query.Link#v:windowId","name":"windowId","slug":"libtmux-query-link-v-windowid","kind":"function"},{"id":"LibTmux.Query.Link#v:index","name":"index","slug":"libtmux-query-link-v-index","kind":"function"},{"id":"LibTmux.Query.Link#v:active","name":"active","slug":"libtmux-query-link-v-active","kind":"function"},{"id":"LibTmux.Query.Link#v:session","name":"session","slug":"libtmux-query-link-v-session","kind":"function"},{"id":"LibTmux.Query.Link#v:window","name":"window","slug":"libtmux-query-link-v-window","kind":"function"},{"id":"LibTmux.Query.Link#v:panes","name":"panes","slug":"libtmux-query-link-v-panes","kind":"function"}],"exports:LibTmux.Query.Occurrence":[{"id":"LibTmux.Query.Occurrence","name":"LibTmux.Query.Occurrence","slug":"libtmux-query-occurrence","kind":"module"}],"exports:LibTmux.Query.Occurrence:0":[{"id":"LibTmux.Query.Occurrence#v:pane","name":"pane","slug":"libtmux-query-occurrence-v-pane","kind":"function"},{"id":"LibTmux.Query.Occurrence#v:link","name":"link","slug":"libtmux-query-occurrence-v-link","kind":"function"}],"exports:LibTmux.Query.Pane":[{"id":"LibTmux.Query.Pane","name":"LibTmux.Query.Pane","slug":"libtmux-query-pane","kind":"module"}],"exports:LibTmux.Query.Pane:0":[{"id":"LibTmux.Query.Pane#v:id","name":"id","slug":"libtmux-query-pane-v-id","kind":"function"},{"id":"LibTmux.Query.Pane#v:windowId","name":"windowId","slug":"libtmux-query-pane-v-windowid","kind":"function"},{"id":"LibTmux.Query.Pane#v:index","name":"index","slug":"libtmux-query-pane-v-index","kind":"function"},{"id":"LibTmux.Query.Pane#v:width","name":"width","slug":"libtmux-query-pane-v-width","kind":"function"},{"id":"LibTmux.Query.Pane#v:height","name":"height","slug":"libtmux-query-pane-v-height","kind":"function"},{"id":"LibTmux.Query.Pane#v:active","name":"active","slug":"libtmux-query-pane-v-active","kind":"function"},{"id":"LibTmux.Query.Pane#v:dead","name":"dead","slug":"libtmux-query-pane-v-dead","kind":"function"},{"id":"LibTmux.Query.Pane#v:title","name":"title","slug":"libtmux-query-pane-v-title","kind":"function"},{"id":"LibTmux.Query.Pane#v:currentCommand","name":"currentCommand","slug":"libtmux-query-pane-v-currentcommand","kind":"function"},{"id":"LibTmux.Query.Pane#v:currentPath","name":"currentPath","slug":"libtmux-query-pane-v-currentpath","kind":"function"},{"id":"LibTmux.Query.Pane#v:window","name":"window","slug":"libtmux-query-pane-v-window","kind":"function"}],"exports:LibTmux.Query.ServerInfo":[{"id":"LibTmux.Query.ServerInfo","name":"LibTmux.Query.ServerInfo","slug":"libtmux-query-serverinfo","kind":"module"}],"exports:LibTmux.Query.ServerInfo:0":[{"id":"LibTmux.Query.ServerInfo#v:pid","name":"pid","slug":"libtmux-query-serverinfo-v-pid","kind":"function"},{"id":"LibTmux.Query.ServerInfo#v:startedAt","name":"startedAt","slug":"libtmux-query-serverinfo-v-startedat","kind":"function"},{"id":"LibTmux.Query.ServerInfo#v:version","name":"version","slug":"libtmux-query-serverinfo-v-version","kind":"function"},{"id":"LibTmux.Query.ServerInfo#v:socketPath","name":"socketPath","slug":"libtmux-query-serverinfo-v-socketpath","kind":"function"}],"exports:LibTmux.Query.Session":[{"id":"LibTmux.Query.Session","name":"LibTmux.Query.Session","slug":"libtmux-query-session","kind":"module"}],"exports:LibTmux.Query.Session:0":[{"id":"LibTmux.Query.Session#v:id","name":"id","slug":"libtmux-query-session-v-id","kind":"function"},{"id":"LibTmux.Query.Session#v:name","name":"name","slug":"libtmux-query-session-v-name","kind":"function"},{"id":"LibTmux.Query.Session#v:attached","name":"attached","slug":"libtmux-query-session-v-attached","kind":"function"},{"id":"LibTmux.Query.Session#v:windowLinks","name":"windowLinks","slug":"libtmux-query-session-v-windowlinks","kind":"function"},{"id":"LibTmux.Query.Session#v:clients","name":"clients","slug":"libtmux-query-session-v-clients","kind":"function"}],"exports:LibTmux.Query.Window":[{"id":"LibTmux.Query.Window","name":"LibTmux.Query.Window","slug":"libtmux-query-window","kind":"module"}],"exports:LibTmux.Query.Window:0":[{"id":"LibTmux.Query.Window#v:id","name":"id","slug":"libtmux-query-window-v-id","kind":"function"},{"id":"LibTmux.Query.Window#v:name","name":"name","slug":"libtmux-query-window-v-name","kind":"function"},{"id":"LibTmux.Query.Window#v:width","name":"width","slug":"libtmux-query-window-v-width","kind":"function"},{"id":"LibTmux.Query.Window#v:height","name":"height","slug":"libtmux-query-window-v-height","kind":"function"},{"id":"LibTmux.Query.Window#v:panes","name":"panes","slug":"libtmux-query-window-v-panes","kind":"function"},{"id":"LibTmux.Query.Window#v:windowLinks","name":"windowLinks","slug":"libtmux-query-window-v-windowlinks","kind":"function"}],"exports:LibTmux.Server":[{"id":"LibTmux.Server","name":"LibTmux.Server","slug":"libtmux-server","kind":"module"}],"exports:LibTmux.Server:0":[{"id":"LibTmux.Server#t:Server","name":"Server","slug":"libtmux-server-t-server","kind":"typealias"},{"id":"LibTmux.Server#t:ServerConfig","name":"ServerConfig","slug":"libtmux-server-t-serverconfig","kind":"typealias"},{"id":"LibTmux.Server#v:serverConfig","name":"serverConfig","slug":"libtmux-server-v-serverconfig-dhie","kind":"function"},{"id":"LibTmux.Server#v:withServer","name":"withServer","slug":"libtmux-server-v-withserver","kind":"function"},{"id":"LibTmux.Server#v:capture","name":"capture","slug":"libtmux-server-v-capture","kind":"function"},{"id":"LibTmux.Server#v:serverGeneration","name":"serverGeneration","slug":"libtmux-server-v-servergeneration","kind":"function"}],"exports:LibTmux.Server:1":[{"id":"LibTmux.Server#t:Runtime","name":"Runtime","slug":"libtmux-server-t-runtime","kind":"typealias"},{"id":"LibTmux.Server#v:withRuntime","name":"withRuntime","slug":"libtmux-server-v-withruntime","kind":"function"},{"id":"LibTmux.Server#v:withServerIn","name":"withServerIn","slug":"libtmux-server-v-withserverin","kind":"function"}],"exports:LibTmux.Server:2":[{"id":"LibTmux.Server#t:TmuxException","name":"TmuxException","slug":"libtmux-server-t-tmuxexception","kind":"typealias"},{"id":"LibTmux.Server#v:tryTmux","name":"tryTmux","slug":"libtmux-server-v-trytmux","kind":"function"}],"exports:LibTmux.Server:3":[{"id":"LibTmux.Server#t:CleanupRecovery","name":"CleanupRecovery","slug":"libtmux-server-t-cleanuprecovery","kind":"typealias"},{"id":"LibTmux.Server#t:CleanupStatus","name":"CleanupStatus","slug":"libtmux-server-t-cleanupstatus","kind":"typealias"},{"id":"LibTmux.Server#v:cleanupRecoveries","name":"cleanupRecoveries","slug":"libtmux-server-v-cleanuprecoveries","kind":"function"},{"id":"LibTmux.Server#v:cleanupFailure","name":"cleanupFailure","slug":"libtmux-server-v-cleanupfailure","kind":"function"},{"id":"LibTmux.Server#v:cleanupObservation","name":"cleanupObservation","slug":"libtmux-server-v-cleanupobservation","kind":"function"},{"id":"LibTmux.Server#v:inspectCleanup","name":"inspectCleanup","slug":"libtmux-server-v-inspectcleanup","kind":"function"},{"id":"LibTmux.Server#v:resumeCleanup","name":"resumeCleanup","slug":"libtmux-server-v-resumecleanup","kind":"function"},{"id":"LibTmux.Server#v:awaitCleanup","name":"awaitCleanup","slug":"libtmux-server-v-awaitcleanup","kind":"function"},{"id":"LibTmux.Server#v:detachUnresolved","name":"detachUnresolved","slug":"libtmux-server-v-detachunresolved","kind":"function"}],"exports:LibTmux.Server:4":[{"id":"LibTmux.Server#t:CaptureRecovery","name":"CaptureRecovery","slug":"libtmux-server-t-capturerecovery","kind":"typealias"},{"id":"LibTmux.Server#v:captureRecoveries","name":"captureRecoveries","slug":"libtmux-server-v-capturerecoveries","kind":"function"},{"id":"LibTmux.Server#v:recoveryOperation","name":"recoveryOperation","slug":"libtmux-server-v-recoveryoperation","kind":"function"},{"id":"LibTmux.Server#v:recoveryGeneration","name":"recoveryGeneration","slug":"libtmux-server-v-recoverygeneration","kind":"function"},{"id":"LibTmux.Server#t:ReadRecovery","name":"ReadRecovery","slug":"libtmux-server-t-readrecovery","kind":"typealias"},{"id":"LibTmux.Server#v:inspectCaptureRecovery","name":"inspectCaptureRecovery","slug":"libtmux-server-v-inspectcapturerecovery","kind":"function"},{"id":"LibTmux.Server#v:resumeCaptureRecovery","name":"resumeCaptureRecovery","slug":"libtmux-server-v-resumecapturerecovery","kind":"function"},{"id":"LibTmux.Server#v:detachCaptureRecovery","name":"detachCaptureRecovery","slug":"libtmux-server-v-detachcapturerecovery","kind":"function"},{"id":"LibTmux.Server#t:Operation","name":"Operation","slug":"libtmux-server-t-operation","kind":"typealias"},{"id":"LibTmux.Server#t:Status","name":"Status","slug":"libtmux-server-t-status","kind":"typealias"},{"id":"LibTmux.Server#t:Stage","name":"Stage","slug":"libtmux-server-t-stage","kind":"typealias"},{"id":"LibTmux.Server#t:Outcome","name":"Outcome","slug":"libtmux-server-t-outcome","kind":"typealias"},{"id":"LibTmux.Server#v:operationStatus","name":"operationStatus","slug":"libtmux-server-v-operationstatus","kind":"function"}],"exports:LibTmux.Snapshot":[{"id":"LibTmux.Snapshot","name":"LibTmux.Snapshot","slug":"libtmux-snapshot","kind":"module"}],"exports:LibTmux.Snapshot:0":[{"id":"LibTmux.Snapshot#t:Snapshot","name":"Snapshot","slug":"libtmux-snapshot-t-snapshot","kind":"typealias"},{"id":"LibTmux.Snapshot#t:ServerInfo","name":"ServerInfo","slug":"libtmux-snapshot-t-serverinfo","kind":"typealias"},{"id":"LibTmux.Snapshot#t:SnapshotOrigin","name":"SnapshotOrigin","slug":"libtmux-snapshot-t-snapshotorigin","kind":"typealias"},{"id":"LibTmux.Snapshot#v:snapshotOrigin","name":"snapshotOrigin","slug":"libtmux-snapshot-v-snapshotorigin","kind":"function"},{"id":"LibTmux.Snapshot#v:serverInfo","name":"serverInfo","slug":"libtmux-snapshot-v-serverinfo-om0z","kind":"function"},{"id":"LibTmux.Snapshot#v:captureInterval","name":"captureInterval","slug":"libtmux-snapshot-v-captureinterval-190g","kind":"function"},{"id":"LibTmux.Snapshot#t:CaptureInterval","name":"CaptureInterval","slug":"libtmux-snapshot-t-captureinterval","kind":"typealias"}],"exports:LibTmux.Snapshot:1":[{"id":"LibTmux.Snapshot#t:Session","name":"Session","slug":"libtmux-snapshot-t-session","kind":"typealias"},{"id":"LibTmux.Snapshot#t:Window","name":"Window","slug":"libtmux-snapshot-t-window","kind":"typealias"},{"id":"LibTmux.Snapshot#t:Pane","name":"Pane","slug":"libtmux-snapshot-t-pane","kind":"typealias"},{"id":"LibTmux.Snapshot#t:WindowLink","name":"WindowLink","slug":"libtmux-snapshot-t-windowlink","kind":"typealias"},{"id":"LibTmux.Snapshot#t:PaneOccurrence","name":"PaneOccurrence","slug":"libtmux-snapshot-t-paneoccurrence","kind":"typealias"},{"id":"LibTmux.Snapshot#t:Client","name":"Client","slug":"libtmux-snapshot-t-client","kind":"typealias"},{"id":"LibTmux.Snapshot#t:ClientAttachment","name":"ClientAttachment","slug":"libtmux-snapshot-t-clientattachment","kind":"typealias"}],"exports:LibTmux.Snapshot:2":[{"id":"LibTmux.Snapshot#t:Generation","name":"Generation","slug":"libtmux-snapshot-t-generation","kind":"typealias"},{"id":"LibTmux.Snapshot#t:SessionRef","name":"SessionRef","slug":"libtmux-snapshot-t-sessionref","kind":"typealias"},{"id":"LibTmux.Snapshot#t:WindowRef","name":"WindowRef","slug":"libtmux-snapshot-t-windowref","kind":"typealias"},{"id":"LibTmux.Snapshot#t:PaneRef","name":"PaneRef","slug":"libtmux-snapshot-t-paneref","kind":"typealias"},{"id":"LibTmux.Snapshot#v:sessionId","name":"sessionId","slug":"libtmux-snapshot-v-sessionid","kind":"function"},{"id":"LibTmux.Snapshot#v:windowId","name":"windowId","slug":"libtmux-snapshot-v-windowid","kind":"function"},{"id":"LibTmux.Snapshot#v:paneId","name":"paneId","slug":"libtmux-snapshot-v-paneid","kind":"function"}],"exports:LibTmux.Snapshot:3":[{"id":"LibTmux.Snapshot#v:sessions","name":"sessions","slug":"libtmux-snapshot-v-sessions","kind":"function"},{"id":"LibTmux.Snapshot#v:windows","name":"windows","slug":"libtmux-snapshot-v-windows","kind":"function"},{"id":"LibTmux.Snapshot#v:panes","name":"panes","slug":"libtmux-snapshot-v-panes","kind":"function"},{"id":"LibTmux.Snapshot#v:windowLinks","name":"windowLinks","slug":"libtmux-snapshot-v-windowlinks","kind":"function"},{"id":"LibTmux.Snapshot#v:paneOccurrences","name":"paneOccurrences","slug":"libtmux-snapshot-v-paneoccurrences","kind":"function"},{"id":"LibTmux.Snapshot#v:clients","name":"clients","slug":"libtmux-snapshot-v-clients","kind":"function"}],"exports:LibTmux.Snapshot:4":[{"id":"LibTmux.Snapshot#t:LookupError","name":"LookupError","slug":"libtmux-snapshot-t-lookuperror","kind":"typealias"},{"id":"LibTmux.Snapshot#v:lookupSession","name":"lookupSession","slug":"libtmux-snapshot-v-lookupsession","kind":"function"},{"id":"LibTmux.Snapshot#v:lookupWindow","name":"lookupWindow","slug":"libtmux-snapshot-v-lookupwindow","kind":"function"},{"id":"LibTmux.Snapshot#v:lookupPane","name":"lookupPane","slug":"libtmux-snapshot-v-lookuppane","kind":"function"},{"id":"LibTmux.Snapshot#v:linksForSession","name":"linksForSession","slug":"libtmux-snapshot-v-linksforsession","kind":"function"},{"id":"LibTmux.Snapshot#v:panesForWindow","name":"panesForWindow","slug":"libtmux-snapshot-v-panesforwindow","kind":"function"},{"id":"LibTmux.Snapshot#v:lookupSessionId","name":"lookupSessionId","slug":"libtmux-snapshot-v-lookupsessionid","kind":"function"},{"id":"LibTmux.Snapshot#v:lookupWindowId","name":"lookupWindowId","slug":"libtmux-snapshot-v-lookupwindowid","kind":"function"},{"id":"LibTmux.Snapshot#v:lookupPaneId","name":"lookupPaneId","slug":"libtmux-snapshot-v-lookuppaneid","kind":"function"}],"exports:LibTmux.Snapshot:5":[{"id":"LibTmux.Snapshot#t:TmuxText","name":"TmuxText","slug":"libtmux-snapshot-t-tmuxtext","kind":"typealias"},{"id":"LibTmux.Snapshot#v:labelFromBytes","name":"labelFromBytes","slug":"libtmux-snapshot-v-labelfrombytes","kind":"function"},{"id":"LibTmux.Snapshot#v:labelBytes","name":"labelBytes","slug":"libtmux-snapshot-v-labelbytes","kind":"function"},{"id":"LibTmux.Snapshot#v:labelText","name":"labelText","slug":"libtmux-snapshot-v-labeltext","kind":"function"}],"exports:LibTmux.Snapshot.Fixture":[{"id":"LibTmux.Snapshot.Fixture","name":"LibTmux.Snapshot.Fixture","slug":"libtmux-snapshot-fixture","kind":"module"}],"exports:LibTmux.Snapshot.Fixture:0":[{"id":"LibTmux.Snapshot.Fixture#t:FixtureOrigin","name":"FixtureOrigin","slug":"libtmux-snapshot-fixture-t-fixtureorigin","kind":"typealias"},{"id":"LibTmux.Snapshot.Fixture#v:fixtureOrigin","name":"fixtureOrigin","slug":"libtmux-snapshot-fixture-v-fixtureorigin","kind":"function"},{"id":"LibTmux.Snapshot.Fixture#v:fixtureGeneration","name":"fixtureGeneration","slug":"libtmux-snapshot-fixture-v-fixturegeneration","kind":"function"},{"id":"LibTmux.Snapshot.Fixture#v:sessionRef","name":"sessionRef","slug":"libtmux-snapshot-fixture-v-sessionref","kind":"function"},{"id":"LibTmux.Snapshot.Fixture#v:windowRef","name":"windowRef","slug":"libtmux-snapshot-fixture-v-windowref","kind":"function"},{"id":"LibTmux.Snapshot.Fixture#v:paneRef","name":"paneRef","slug":"libtmux-snapshot-fixture-v-paneref","kind":"function"}],"exports:LibTmux.Snapshot.Fixture:1":[{"id":"LibTmux.Snapshot.Fixture#t:Fixture","name":"Fixture","slug":"libtmux-snapshot-fixture-t-fixture","kind":"typealias"},{"id":"LibTmux.Snapshot.Fixture#t:AttachedClient","name":"AttachedClient","slug":"libtmux-snapshot-fixture-t-attachedclient","kind":"typealias"},{"id":"LibTmux.Snapshot.Fixture#v:emptyFixture","name":"emptyFixture","slug":"libtmux-snapshot-fixture-v-emptyfixture","kind":"function"}],"exports:LibTmux.Snapshot.Fixture:2":[{"id":"LibTmux.Snapshot.Fixture#t:FixtureError","name":"FixtureError","slug":"libtmux-snapshot-fixture-t-fixtureerror","kind":"typealias"},{"id":"LibTmux.Snapshot.Fixture#v:validateFixture","name":"validateFixture","slug":"libtmux-snapshot-fixture-v-validatefixture","kind":"function"}],"exports:LibTmux.Value":[{"id":"LibTmux.Value","name":"LibTmux.Value","slug":"libtmux-value","kind":"module"}],"exports:LibTmux.Value:0":[{"id":"LibTmux.Value#t:Dimension","name":"Dimension","slug":"libtmux-value-t-dimension","kind":"typealias"},{"id":"LibTmux.Value#t:WindowIndex","name":"WindowIndex","slug":"libtmux-value-t-windowindex","kind":"typealias"},{"id":"LibTmux.Value#t:PaneIndex","name":"PaneIndex","slug":"libtmux-value-t-paneindex","kind":"typealias"}],"exports:LibTmux.Value:1":[{"id":"LibTmux.Value#t:ValueError","name":"ValueError","slug":"libtmux-value-t-valueerror","kind":"typealias"},{"id":"LibTmux.Value#v:mkDimension","name":"mkDimension","slug":"libtmux-value-v-mkdimension","kind":"function"},{"id":"LibTmux.Value#v:mkWindowIndex","name":"mkWindowIndex","slug":"libtmux-value-v-mkwindowindex","kind":"function"},{"id":"LibTmux.Value#v:mkPaneIndex","name":"mkPaneIndex","slug":"libtmux-value-v-mkpaneindex","kind":"function"}],"exports:LibTmux.Value:2":[{"id":"LibTmux.Value#v:dimensionValue","name":"dimensionValue","slug":"libtmux-value-v-dimensionvalue","kind":"function"},{"id":"LibTmux.Value#v:windowIndexValue","name":"windowIndexValue","slug":"libtmux-value-v-windowindexvalue","kind":"function"},{"id":"LibTmux.Value#v:paneIndexValue","name":"paneIndexValue","slug":"libtmux-value-v-paneindexvalue","kind":"function"}],"exports:LibTmux.Version":[{"id":"LibTmux.Version","name":"LibTmux.Version","slug":"libtmux-version","kind":"module"}],"exports:LibTmux.Version:0":[{"id":"LibTmux.Version#t:TmuxVersion","name":"TmuxVersion","slug":"libtmux-version-t-tmuxversion","kind":"typealias"},{"id":"LibTmux.Version#t:VersionError","name":"VersionError","slug":"libtmux-version-t-versionerror","kind":"typealias"}],"exports:LibTmux.Version:1":[{"id":"LibTmux.Version#v:parseVersion","name":"parseVersion","slug":"libtmux-version-v-parseversion","kind":"function"},{"id":"LibTmux.Version#v:renderVersion","name":"renderVersion","slug":"libtmux-version-v-renderversion","kind":"function"}],"exports:LibTmux.Version:2":[{"id":"LibTmux.Version#v:requireSupported","name":"requireSupported","slug":"libtmux-version-v-requiresupported","kind":"function"}]},"placement":{"LibTmux":"exports:LibTmux","LibTmux.Id":"exports:LibTmux.Id","LibTmux.Id#t:SessionId":"exports:LibTmux.Id:0","LibTmux.Id#t:WindowId":"exports:LibTmux.Id:0","LibTmux.Id#t:PaneId":"exports:LibTmux.Id:0","LibTmux.Id#t:IdError":"exports:LibTmux.Id:1","LibTmux.Id#v:parseSessionId":"exports:LibTmux.Id:1","LibTmux.Id#v:parseWindowId":"exports:LibTmux.Id:1","LibTmux.Id#v:parsePaneId":"exports:LibTmux.Id:1","LibTmux.Id#v:renderSessionId":"exports:LibTmux.Id:2","LibTmux.Id#v:renderWindowId":"exports:LibTmux.Id:2","LibTmux.Id#v:renderPaneId":"exports:LibTmux.Id:2","LibTmux.Id#v:sessionIdValue":"exports:LibTmux.Id:3","LibTmux.Id#v:windowIdValue":"exports:LibTmux.Id:3","LibTmux.Id#v:paneIdValue":"exports:LibTmux.Id:3","LibTmux.Query":"exports:LibTmux.Query","LibTmux.Query#t:Field":"exports:LibTmux.Query:0","LibTmux.Query#t:Expr":"exports:LibTmux.Query:0","LibTmux.Query#t:Query":"exports:LibTmux.Query:0","LibTmux.Query#t:Order":"exports:LibTmux.Query:0","LibTmux.Query#t:ToMany":"exports:LibTmux.Query:0","LibTmux.Query#t:ToOne":"exports:LibTmux.Query:0","LibTmux.Query#t:ToOptional":"exports:LibTmux.Query:0","LibTmux.Query#v:sessions":"exports:LibTmux.Query:1","LibTmux.Query#v:windows":"exports:LibTmux.Query:1","LibTmux.Query#v:panes":"exports:LibTmux.Query:1","LibTmux.Query#v:windowLinks":"exports:LibTmux.Query:1","LibTmux.Query#v:paneOccurrences":"exports:LibTmux.Query:1","LibTmux.Query#v:clients":"exports:LibTmux.Query:1","LibTmux.Query#v:serverInfo":"exports:LibTmux.Query:1","LibTmux.Query#v:eq":"exports:LibTmux.Query:2","LibTmux.Query#v:oneOf":"exports:LibTmux.Query:2","LibTmux.Query#v:contains":"exports:LibTmux.Query:2","LibTmux.Query#v:ge":"exports:LibTmux.Query:2","LibTmux.Query#v:gt":"exports:LibTmux.Query:2","LibTmux.Query#v:le":"exports:LibTmux.Query:2","LibTmux.Query#v:lt":"exports:LibTmux.Query:2","LibTmux.Query#v:dimensionAtLeast":"exports:LibTmux.Query:2","LibTmux.Query#v:dimensionAtMost":"exports:LibTmux.Query:2","LibTmux.Query#v:paneIndexAtLeast":"exports:LibTmux.Query:2","LibTmux.Query#v:paneIndexAtMost":"exports:LibTmux.Query:2","LibTmux.Query#v:windowIndexAtLeast":"exports:LibTmux.Query:2","LibTmux.Query#v:windowIndexAtMost":"exports:LibTmux.Query:2","LibTmux.Query#v:allOf":"exports:LibTmux.Query:3","LibTmux.Query#v:anyOf":"exports:LibTmux.Query:3","LibTmux.Query#v:not_":"exports:LibTmux.Query:3","LibTmux.Query#v:some":"exports:LibTmux.Query:3","LibTmux.Query#v:every":"exports:LibTmux.Query:3","LibTmux.Query#v:none":"exports:LibTmux.Query:3","LibTmux.Query#v:related":"exports:LibTmux.Query:3","LibTmux.Query#v:optionalRelated":"exports:LibTmux.Query:3","LibTmux.Query#v:matching":"exports:LibTmux.Query:4","LibTmux.Query#v:orderBy":"exports:LibTmux.Query:4","LibTmux.Query#v:ascending":"exports:LibTmux.Query:4","LibTmux.Query#v:descending":"exports:LibTmux.Query:4","LibTmux.Query#v:limit":"exports:LibTmux.Query:4","LibTmux.Query#t:QueryRequirements":"exports:LibTmux.Query:5","LibTmux.Query#v:requirements":"exports:LibTmux.Query:5","LibTmux.Query#t:QueryError":"exports:LibTmux.Query:5","LibTmux.Query#v:runQuery":"exports:LibTmux.Query:5","LibTmux.Query#v:fetch":"exports:LibTmux.Query:5","LibTmux.Query#t:CardinalityError":"exports:LibTmux.Query:6","LibTmux.Query#v:exactlyOne":"exports:LibTmux.Query:6","LibTmux.Query#v:atMostOne":"exports:LibTmux.Query:6","LibTmux.Query.Client":"exports:LibTmux.Query.Client","LibTmux.Query.Client#v:name":"exports:LibTmux.Query.Client:0","LibTmux.Query.Client#v:pid":"exports:LibTmux.Query.Client:0","LibTmux.Query.Client#v:tty":"exports:LibTmux.Query.Client:0","LibTmux.Query.Client#v:attachment":"exports:LibTmux.Query.Client:0","LibTmux.Query.ClientAttachment":"exports:LibTmux.Query.ClientAttachment","LibTmux.Query.ClientAttachment#v:sessionId":"exports:LibTmux.Query.ClientAttachment:0","LibTmux.Query.ClientAttachment#v:windowId":"exports:LibTmux.Query.ClientAttachment:0","LibTmux.Query.ClientAttachment#v:windowIndex":"exports:LibTmux.Query.ClientAttachment:0","LibTmux.Query.ClientAttachment#v:paneId":"exports:LibTmux.Query.ClientAttachment:0","LibTmux.Query.ClientAttachment#v:session":"exports:LibTmux.Query.ClientAttachment:0","LibTmux.Query.ClientAttachment#v:window":"exports:LibTmux.Query.ClientAttachment:0","LibTmux.Query.ClientAttachment#v:pane":"exports:LibTmux.Query.ClientAttachment:0","LibTmux.Query.Link":"exports:LibTmux.Query.Link","LibTmux.Query.Link#v:sessionId":"exports:LibTmux.Query.Link:0","LibTmux.Query.Link#v:windowId":"exports:LibTmux.Query.Link:0","LibTmux.Query.Link#v:index":"exports:LibTmux.Query.Link:0","LibTmux.Query.Link#v:active":"exports:LibTmux.Query.Link:0","LibTmux.Query.Link#v:session":"exports:LibTmux.Query.Link:0","LibTmux.Query.Link#v:window":"exports:LibTmux.Query.Link:0","LibTmux.Query.Link#v:panes":"exports:LibTmux.Query.Link:0","LibTmux.Query.Occurrence":"exports:LibTmux.Query.Occurrence","LibTmux.Query.Occurrence#v:pane":"exports:LibTmux.Query.Occurrence:0","LibTmux.Query.Occurrence#v:link":"exports:LibTmux.Query.Occurrence:0","LibTmux.Query.Pane":"exports:LibTmux.Query.Pane","LibTmux.Query.Pane#v:id":"exports:LibTmux.Query.Pane:0","LibTmux.Query.Pane#v:windowId":"exports:LibTmux.Query.Pane:0","LibTmux.Query.Pane#v:index":"exports:LibTmux.Query.Pane:0","LibTmux.Query.Pane#v:width":"exports:LibTmux.Query.Pane:0","LibTmux.Query.Pane#v:height":"exports:LibTmux.Query.Pane:0","LibTmux.Query.Pane#v:active":"exports:LibTmux.Query.Pane:0","LibTmux.Query.Pane#v:dead":"exports:LibTmux.Query.Pane:0","LibTmux.Query.Pane#v:title":"exports:LibTmux.Query.Pane:0","LibTmux.Query.Pane#v:currentCommand":"exports:LibTmux.Query.Pane:0","LibTmux.Query.Pane#v:currentPath":"exports:LibTmux.Query.Pane:0","LibTmux.Query.Pane#v:window":"exports:LibTmux.Query.Pane:0","LibTmux.Query.ServerInfo":"exports:LibTmux.Query.ServerInfo","LibTmux.Query.ServerInfo#v:pid":"exports:LibTmux.Query.ServerInfo:0","LibTmux.Query.ServerInfo#v:startedAt":"exports:LibTmux.Query.ServerInfo:0","LibTmux.Query.ServerInfo#v:version":"exports:LibTmux.Query.ServerInfo:0","LibTmux.Query.ServerInfo#v:socketPath":"exports:LibTmux.Query.ServerInfo:0","LibTmux.Query.Session":"exports:LibTmux.Query.Session","LibTmux.Query.Session#v:id":"exports:LibTmux.Query.Session:0","LibTmux.Query.Session#v:name":"exports:LibTmux.Query.Session:0","LibTmux.Query.Session#v:attached":"exports:LibTmux.Query.Session:0","LibTmux.Query.Session#v:windowLinks":"exports:LibTmux.Query.Session:0","LibTmux.Query.Session#v:clients":"exports:LibTmux.Query.Session:0","LibTmux.Query.Window":"exports:LibTmux.Query.Window","LibTmux.Query.Window#v:id":"exports:LibTmux.Query.Window:0","LibTmux.Query.Window#v:name":"exports:LibTmux.Query.Window:0","LibTmux.Query.Window#v:width":"exports:LibTmux.Query.Window:0","LibTmux.Query.Window#v:height":"exports:LibTmux.Query.Window:0","LibTmux.Query.Window#v:panes":"exports:LibTmux.Query.Window:0","LibTmux.Query.Window#v:windowLinks":"exports:LibTmux.Query.Window:0","LibTmux.Server":"exports:LibTmux.Server","LibTmux.Server#t:Server":"exports:LibTmux.Server:0","LibTmux.Server#t:ServerConfig":"exports:LibTmux.Server:0","LibTmux.Server#v:serverConfig":"exports:LibTmux.Server:0","LibTmux.Server#v:withServer":"exports:LibTmux.Server:0","LibTmux.Server#v:capture":"exports:LibTmux.Server:0","LibTmux.Server#v:serverGeneration":"exports:LibTmux.Server:0","LibTmux.Server#t:Runtime":"exports:LibTmux.Server:1","LibTmux.Server#v:withRuntime":"exports:LibTmux.Server:1","LibTmux.Server#v:withServerIn":"exports:LibTmux.Server:1","LibTmux.Server#t:TmuxException":"exports:LibTmux.Server:2","LibTmux.Server#v:tryTmux":"exports:LibTmux.Server:2","LibTmux.Server#t:CleanupRecovery":"exports:LibTmux.Server:3","LibTmux.Server#t:CleanupStatus":"exports:LibTmux.Server:3","LibTmux.Server#v:cleanupRecoveries":"exports:LibTmux.Server:3","LibTmux.Server#v:cleanupFailure":"exports:LibTmux.Server:3","LibTmux.Server#v:cleanupObservation":"exports:LibTmux.Server:3","LibTmux.Server#v:inspectCleanup":"exports:LibTmux.Server:3","LibTmux.Server#v:resumeCleanup":"exports:LibTmux.Server:3","LibTmux.Server#v:awaitCleanup":"exports:LibTmux.Server:3","LibTmux.Server#v:detachUnresolved":"exports:LibTmux.Server:3","LibTmux.Server#t:CaptureRecovery":"exports:LibTmux.Server:4","LibTmux.Server#v:captureRecoveries":"exports:LibTmux.Server:4","LibTmux.Server#v:recoveryOperation":"exports:LibTmux.Server:4","LibTmux.Server#v:recoveryGeneration":"exports:LibTmux.Server:4","LibTmux.Server#t:ReadRecovery":"exports:LibTmux.Server:4","LibTmux.Server#v:inspectCaptureRecovery":"exports:LibTmux.Server:4","LibTmux.Server#v:resumeCaptureRecovery":"exports:LibTmux.Server:4","LibTmux.Server#v:detachCaptureRecovery":"exports:LibTmux.Server:4","LibTmux.Server#t:Operation":"exports:LibTmux.Server:4","LibTmux.Server#t:Status":"exports:LibTmux.Server:4","LibTmux.Server#t:Stage":"exports:LibTmux.Server:4","LibTmux.Server#t:Outcome":"exports:LibTmux.Server:4","LibTmux.Server#v:operationStatus":"exports:LibTmux.Server:4","LibTmux.Snapshot":"exports:LibTmux.Snapshot","LibTmux.Snapshot#t:Snapshot":"exports:LibTmux.Snapshot:0","LibTmux.Snapshot#t:ServerInfo":"exports:LibTmux.Snapshot:0","LibTmux.Snapshot#t:SnapshotOrigin":"exports:LibTmux.Snapshot:0","LibTmux.Snapshot#v:snapshotOrigin":"exports:LibTmux.Snapshot:0","LibTmux.Snapshot#v:serverInfo":"exports:LibTmux.Snapshot:0","LibTmux.Snapshot#v:captureInterval":"exports:LibTmux.Snapshot:0","LibTmux.Snapshot#t:CaptureInterval":"exports:LibTmux.Snapshot:0","LibTmux.Snapshot#t:Session":"exports:LibTmux.Snapshot:1","LibTmux.Snapshot#t:Window":"exports:LibTmux.Snapshot:1","LibTmux.Snapshot#t:Pane":"exports:LibTmux.Snapshot:1","LibTmux.Snapshot#t:WindowLink":"exports:LibTmux.Snapshot:1","LibTmux.Snapshot#t:PaneOccurrence":"exports:LibTmux.Snapshot:1","LibTmux.Snapshot#t:Client":"exports:LibTmux.Snapshot:1","LibTmux.Snapshot#t:ClientAttachment":"exports:LibTmux.Snapshot:1","LibTmux.Snapshot#t:Generation":"exports:LibTmux.Snapshot:2","LibTmux.Snapshot#t:SessionRef":"exports:LibTmux.Snapshot:2","LibTmux.Snapshot#t:WindowRef":"exports:LibTmux.Snapshot:2","LibTmux.Snapshot#t:PaneRef":"exports:LibTmux.Snapshot:2","LibTmux.Snapshot#v:sessionId":"exports:LibTmux.Snapshot:2","LibTmux.Snapshot#v:windowId":"exports:LibTmux.Snapshot:2","LibTmux.Snapshot#v:paneId":"exports:LibTmux.Snapshot:2","LibTmux.Snapshot#v:sessions":"exports:LibTmux.Snapshot:3","LibTmux.Snapshot#v:windows":"exports:LibTmux.Snapshot:3","LibTmux.Snapshot#v:panes":"exports:LibTmux.Snapshot:3","LibTmux.Snapshot#v:windowLinks":"exports:LibTmux.Snapshot:3","LibTmux.Snapshot#v:paneOccurrences":"exports:LibTmux.Snapshot:3","LibTmux.Snapshot#v:clients":"exports:LibTmux.Snapshot:3","LibTmux.Snapshot#t:LookupError":"exports:LibTmux.Snapshot:4","LibTmux.Snapshot#v:lookupSession":"exports:LibTmux.Snapshot:4","LibTmux.Snapshot#v:lookupWindow":"exports:LibTmux.Snapshot:4","LibTmux.Snapshot#v:lookupPane":"exports:LibTmux.Snapshot:4","LibTmux.Snapshot#v:linksForSession":"exports:LibTmux.Snapshot:4","LibTmux.Snapshot#v:panesForWindow":"exports:LibTmux.Snapshot:4","LibTmux.Snapshot#v:lookupSessionId":"exports:LibTmux.Snapshot:4","LibTmux.Snapshot#v:lookupWindowId":"exports:LibTmux.Snapshot:4","LibTmux.Snapshot#v:lookupPaneId":"exports:LibTmux.Snapshot:4","LibTmux.Snapshot#t:TmuxText":"exports:LibTmux.Snapshot:5","LibTmux.Snapshot#v:labelFromBytes":"exports:LibTmux.Snapshot:5","LibTmux.Snapshot#v:labelBytes":"exports:LibTmux.Snapshot:5","LibTmux.Snapshot#v:labelText":"exports:LibTmux.Snapshot:5","LibTmux.Snapshot.Fixture":"exports:LibTmux.Snapshot.Fixture","LibTmux.Snapshot.Fixture#t:FixtureOrigin":"exports:LibTmux.Snapshot.Fixture:0","LibTmux.Snapshot.Fixture#v:fixtureOrigin":"exports:LibTmux.Snapshot.Fixture:0","LibTmux.Snapshot.Fixture#v:fixtureGeneration":"exports:LibTmux.Snapshot.Fixture:0","LibTmux.Snapshot.Fixture#v:sessionRef":"exports:LibTmux.Snapshot.Fixture:0","LibTmux.Snapshot.Fixture#v:windowRef":"exports:LibTmux.Snapshot.Fixture:0","LibTmux.Snapshot.Fixture#v:paneRef":"exports:LibTmux.Snapshot.Fixture:0","LibTmux.Snapshot.Fixture#t:Fixture":"exports:LibTmux.Snapshot.Fixture:1","LibTmux.Snapshot.Fixture#t:AttachedClient":"exports:LibTmux.Snapshot.Fixture:1","LibTmux.Snapshot.Fixture#v:emptyFixture":"exports:LibTmux.Snapshot.Fixture:1","LibTmux.Snapshot.Fixture#t:FixtureError":"exports:LibTmux.Snapshot.Fixture:2","LibTmux.Snapshot.Fixture#v:validateFixture":"exports:LibTmux.Snapshot.Fixture:2","LibTmux.Value":"exports:LibTmux.Value","LibTmux.Value#t:Dimension":"exports:LibTmux.Value:0","LibTmux.Value#t:WindowIndex":"exports:LibTmux.Value:0","LibTmux.Value#t:PaneIndex":"exports:LibTmux.Value:0","LibTmux.Value#t:ValueError":"exports:LibTmux.Value:1","LibTmux.Value#v:mkDimension":"exports:LibTmux.Value:1","LibTmux.Value#v:mkWindowIndex":"exports:LibTmux.Value:1","LibTmux.Value#v:mkPaneIndex":"exports:LibTmux.Value:1","LibTmux.Value#v:dimensionValue":"exports:LibTmux.Value:2","LibTmux.Value#v:windowIndexValue":"exports:LibTmux.Value:2","LibTmux.Value#v:paneIndexValue":"exports:LibTmux.Value:2","LibTmux.Version":"exports:LibTmux.Version","LibTmux.Version#t:TmuxVersion":"exports:LibTmux.Version:0","LibTmux.Version#t:VersionError":"exports:LibTmux.Version:0","LibTmux.Version#v:parseVersion":"exports:LibTmux.Version:1","LibTmux.Version#v:renderVersion":"exports:LibTmux.Version:1","LibTmux.Version#v:requireSupported":"exports:LibTmux.Version:2"},"unplaced":[],"diagnostics":{"unmatched":[],"deadBuckets":[],"ambiguous":[],"staleUnsettled":[]}} diff --git a/site/src/data/api/haskell.paths.json b/site/src/data/api/haskell.paths.json index 6c02b3894..fa0b71ed8 100644 --- a/site/src/data/api/haskell.paths.json +++ b/site/src/data/api/haskell.paths.json @@ -1 +1 @@ -{"port":"haskell","repo":"libtmux/libtmux-haskell","revision":"581f0ee45016ffb2283366bb1edc1658df26c5ed","paths":[".github/CONTRIBUTING.md",".github/TESTING.md",".github/WRITING.md",".github/actionlint.yaml",".github/dependabot.yml",".github/social-preview.png",".github/tmux-releases.json",".github/workflows/ci.yml",".github/workflows/docs.yml",".gitignore",".tool-versions","AGENTS.md","CHANGELOG.md","CLAUDE.md","LICENSE","README.md","cabal.project","cbits/process.c","cbits/process.h","docs/README.md","docs/api.md","docs/assets/app-icon-1024-dark.png","docs/assets/app-icon-1024-light.png","docs/assets/apple-touch-icon-dark.png","docs/assets/apple-touch-icon-light.png","docs/assets/browserconfig-dark.xml","docs/assets/browserconfig.xml","docs/assets/favicon.ico","docs/assets/logo-1024.png","docs/assets/logo-128.png","docs/assets/logo-144.png","docs/assets/logo-152.png","docs/assets/logo-16.png","docs/assets/logo-167.png","docs/assets/logo-180.png","docs/assets/logo-192.png","docs/assets/logo-24.png","docs/assets/logo-256.png","docs/assets/logo-32.png","docs/assets/logo-384.png","docs/assets/logo-48.png","docs/assets/logo-512.png","docs/assets/logo-64.png","docs/assets/logo-96.png","docs/assets/logo.svg","docs/assets/maskable-192-dark.png","docs/assets/maskable-192-light.png","docs/assets/maskable-512-dark.png","docs/assets/maskable-512-light.png","docs/assets/mstile-150-dark.png","docs/assets/mstile-150-light.png","docs/assets/mstile-310-dark.png","docs/assets/mstile-310-light.png","docs/assets/opengraph-dark.jpg","docs/assets/opengraph-dark.png","docs/assets/opengraph-light.jpg","docs/assets/opengraph-light.png","docs/assets/safari-pinned-tab.svg","docs/assets/site-dark.webmanifest","docs/assets/site.webmanifest","docs/assets/social-square-dark.png","docs/assets/social-square-light.png","docs/assets/source.json","docs/assets/twitter-dark.png","docs/assets/twitter-light.png","docs/branding.md","docs/contracts/README.md","docs/contracts/acquisition.md","docs/contracts/buffers-config.md","docs/contracts/creation.md","docs/contracts/environment.md","docs/contracts/framing.md","docs/contracts/interactive.md","docs/contracts/observations.md","docs/contracts/options-hooks.md","docs/contracts/pane-commands.md","docs/contracts/process.md","docs/contracts/python.json","docs/contracts/socket-pin.md","docs/contracts/traceability.json","docs/decisions/0001-native-domain-model-qualification.md","docs/decisions/0001-native-domain-model.md","docs/installation.md","docs/status.md","docs/values.md","examples/catalogue.json","examples/typed-values/Main.hs","examples/typed-values/cabal.project","examples/typed-values/cabal.project.vcs","examples/typed-values/expected.stdout","examples/typed-values/libtmux-typed-values.cabal","internal/LibTmux/Internal/Budget.hs","internal/LibTmux/Internal/Capture.hs","internal/LibTmux/Internal/Entropy.hs","internal/LibTmux/Internal/Field.hs","internal/LibTmux/Internal/Frame.hs","internal/LibTmux/Internal/Graph.hs","internal/LibTmux/Internal/Process.hs","internal/LibTmux/Internal/Process/Native.hs","internal/LibTmux/Internal/Record.hs","internal/LibTmux/Internal/Runtime.hs","internal/LibTmux/Internal/Scheduler.hs","internal/LibTmux/Internal/SocketPin.hs","internal/LibTmux/Internal/TmuxText.hs","internal/LibTmux/Internal/Topology.hs","libtmux-haskell.cabal","scripts/check-types","scripts/check_docs.py","scripts/check_sdist.py","scripts/ci_tmux.py","scripts/test_check_docs.py","scripts/test_ci_tmux.py","src/LibTmux/Id.hs","src/LibTmux/Value.hs","src/LibTmux/Version.hs","test-support/Fixture.hs","test-support/ProcessGate.hs","test-support/fixture-watch.c","test-support/process-child.c","test-support/process-gate.c","test-support/process-policy.c","test/BudgetTest.hs","test/FieldTest.hs","test/FrameTest.hs","test/GraphProperties.hs","test/GraphTest.hs","test/Main.hs","test/RecordTest.hs","test/SchedulerTest.hs","test/TopologyTest.hs","test/compile-fail/DimensionLiteral.hs","test/compile-fail/MixedIds.hs","test/compile-fail/MixedIndices.hs","test/compile-pass/ValueApi.hs","test/integration/EntityCaptureTest.hs","test/integration/FixtureTest.hs","test/integration/FrameIntegrationTest.hs","test/integration/Main.hs","test/integration/ProcessTest.hs","test/integration/RuntimeReadTest.hs","test/integration/RuntimeTest.hs","test/integration/SocketPinTest.hs","test/specs/IdProperties.hs","test/specs/IdSpec.hs","test/specs/Main.hs","test/specs/ValueSpec.hs","test/specs/VersionSpec.hs"]} +{"port":"haskell","repo":"libtmux/libtmux-haskell","revision":"fb86b60139795746e8964643a4f048fcd8a63d14","paths":[".github/CONTRIBUTING.md",".github/TESTING.md",".github/WRITING.md",".github/actionlint.yaml",".github/dependabot.yml",".github/social-preview.png",".github/tmux-releases.json",".github/workflows/ci.yml",".github/workflows/docs.yml",".gitignore",".tool-versions","AGENTS.md","CHANGELOG.md","CLAUDE.md","LICENSE","README.md","bench/Capture.hs","bench/capture.py","bench/results/capture-2026-11-08.json","cabal.project","cbits/process.c","cbits/process.h","docs/README.md","docs/api.md","docs/assets/app-icon-1024-dark.png","docs/assets/app-icon-1024-light.png","docs/assets/apple-touch-icon-dark.png","docs/assets/apple-touch-icon-light.png","docs/assets/browserconfig-dark.xml","docs/assets/browserconfig.xml","docs/assets/favicon.ico","docs/assets/logo-1024.png","docs/assets/logo-128.png","docs/assets/logo-144.png","docs/assets/logo-152.png","docs/assets/logo-16.png","docs/assets/logo-167.png","docs/assets/logo-180.png","docs/assets/logo-192.png","docs/assets/logo-24.png","docs/assets/logo-256.png","docs/assets/logo-32.png","docs/assets/logo-384.png","docs/assets/logo-48.png","docs/assets/logo-512.png","docs/assets/logo-64.png","docs/assets/logo-96.png","docs/assets/logo.svg","docs/assets/maskable-192-dark.png","docs/assets/maskable-192-light.png","docs/assets/maskable-512-dark.png","docs/assets/maskable-512-light.png","docs/assets/mstile-150-dark.png","docs/assets/mstile-150-light.png","docs/assets/mstile-310-dark.png","docs/assets/mstile-310-light.png","docs/assets/opengraph-dark.jpg","docs/assets/opengraph-dark.png","docs/assets/opengraph-light.jpg","docs/assets/opengraph-light.png","docs/assets/safari-pinned-tab.svg","docs/assets/site-dark.webmanifest","docs/assets/site.webmanifest","docs/assets/social-square-dark.png","docs/assets/social-square-light.png","docs/assets/source.json","docs/assets/twitter-dark.png","docs/assets/twitter-light.png","docs/branding.md","docs/capture.md","docs/contracts/README.md","docs/contracts/acquisition.md","docs/contracts/buffers-config.md","docs/contracts/creation.md","docs/contracts/environment.md","docs/contracts/framing.md","docs/contracts/interactive.md","docs/contracts/observations.md","docs/contracts/options-hooks.md","docs/contracts/pane-commands.md","docs/contracts/process.md","docs/contracts/python.json","docs/contracts/socket-pin.md","docs/contracts/traceability.json","docs/decisions/0001-native-domain-model-qualification.md","docs/decisions/0001-native-domain-model.md","docs/fixtures.md","docs/installation.md","docs/performance.md","docs/query.md","docs/shared-runtime.md","docs/status.md","docs/values.md","examples/capture-graph/Main.hs","examples/capture-graph/README.md","examples/capture-graph/cabal.project","examples/capture-graph/cabal.project.vcs","examples/capture-graph/expected.stdout","examples/capture-graph/libtmux-capture-graph.cabal","examples/capture-graph/run.py","examples/capture-graph/test_run.py","examples/catalogue.json","examples/offline-graph/Main.hs","examples/offline-graph/README.md","examples/offline-graph/cabal.project","examples/offline-graph/cabal.project.vcs","examples/offline-graph/expected.stdout","examples/offline-graph/libtmux-offline-graph.cabal","examples/query-graph/Main.hs","examples/query-graph/README.md","examples/query-graph/cabal.project","examples/query-graph/cabal.project.vcs","examples/query-graph/expected.stdout","examples/query-graph/libtmux-query-graph.cabal","examples/shared-runtime/Main.hs","examples/shared-runtime/README.md","examples/shared-runtime/cabal.project","examples/shared-runtime/cabal.project.vcs","examples/shared-runtime/expected.stdout","examples/shared-runtime/libtmux-shared-runtime.cabal","examples/typed-values/Main.hs","examples/typed-values/README.md","examples/typed-values/cabal.project","examples/typed-values/cabal.project.vcs","examples/typed-values/expected.stdout","examples/typed-values/libtmux-typed-values.cabal","internal/LibTmux/Internal/Budget.hs","internal/LibTmux/Internal/Capture.hs","internal/LibTmux/Internal/Command.hs","internal/LibTmux/Internal/Entropy.hs","internal/LibTmux/Internal/Field.hs","internal/LibTmux/Internal/Frame.hs","internal/LibTmux/Internal/Graph.hs","internal/LibTmux/Internal/Process.hs","internal/LibTmux/Internal/Process/Native.hs","internal/LibTmux/Internal/Query.hs","internal/LibTmux/Internal/Record.hs","internal/LibTmux/Internal/Runtime.hs","internal/LibTmux/Internal/Scheduler.hs","internal/LibTmux/Internal/Scope.hs","internal/LibTmux/Internal/SocketPin.hs","internal/LibTmux/Internal/TmuxText.hs","internal/LibTmux/Internal/Topology.hs","libtmux-haskell.cabal","scripts/check-types","scripts/check_docs.py","scripts/check_sdist.py","scripts/ci_tmux.py","scripts/prepare_haddock.py","scripts/test_check_docs.py","scripts/test_ci_tmux.py","scripts/test_prepare_haddock.py","src/LibTmux.hs","src/LibTmux/Id.hs","src/LibTmux/Query.hs","src/LibTmux/Query/Client.hs","src/LibTmux/Query/ClientAttachment.hs","src/LibTmux/Query/Link.hs","src/LibTmux/Query/Occurrence.hs","src/LibTmux/Query/Pane.hs","src/LibTmux/Query/ServerInfo.hs","src/LibTmux/Query/Session.hs","src/LibTmux/Query/Window.hs","src/LibTmux/Server.hs","src/LibTmux/Snapshot.hs","src/LibTmux/Snapshot/Fixture.hs","src/LibTmux/Value.hs","src/LibTmux/Version.hs","test-support/Fixture.hs","test-support/ProcessGate.hs","test-support/fixture-watch.c","test-support/process-child.c","test-support/process-gate.c","test-support/process-policy.c","test/BudgetTest.hs","test/CommandTest.hs","test/FieldTest.hs","test/FrameTest.hs","test/GraphProperties.hs","test/GraphTest.hs","test/Main.hs","test/QueryFixture.hs","test/QueryProperties.hs","test/QueryTest.hs","test/RecordTest.hs","test/SchedulerTest.hs","test/TopologyTest.hs","test/compile-fail/DimensionLiteral.hs","test/compile-fail/FixtureOriginCoercion.hs","test/compile-fail/MixedIds.hs","test/compile-fail/MixedIndices.hs","test/compile-fail/QueryBooleanNumber.hs","test/compile-fail/QueryExprCoercion.hs","test/compile-fail/QueryMixedRows.hs","test/compile-fail/QueryNumericText.hs","test/compile-fail/QuerySourceCoercion.hs","test/compile-fail/QueryWrongOperand.hs","test/compile-pass/ObservationApi.hs","test/compile-pass/QueryApi.hs","test/compile-pass/ValueApi.hs","test/integration/CommandIntegrationTest.hs","test/integration/EntityCaptureTest.hs","test/integration/FixtureTest.hs","test/integration/FrameIntegrationTest.hs","test/integration/Main.hs","test/integration/ProcessTest.hs","test/integration/PublicServerTest.hs","test/integration/RuntimeMutationTest.hs","test/integration/RuntimeReadTest.hs","test/integration/RuntimeTest.hs","test/integration/ScopeTest.hs","test/integration/SocketPinTest.hs","test/specs/FixtureSpec.hs","test/specs/IdProperties.hs","test/specs/IdSpec.hs","test/specs/Main.hs","test/specs/ValueSpec.hs","test/specs/VersionSpec.hs"]} diff --git a/site/src/data/core-apis.json b/site/src/data/core-apis.json index 1a2e7ba4b..758e99b2d 100644 --- a/site/src/data/core-apis.json +++ b/site/src/data/core-apis.json @@ -221,5 +221,14 @@ "Libtmux_unix.Client.select_layout", "Libtmux.Pane.width" ] + }, + "haskell": { + "typed-graph": [ + "LibTmux.Server#v:withServer", + "LibTmux.Server#v:capture", + "LibTmux.Query#v:runQuery", + "LibTmux.Query#v:fetch", + "LibTmux.Query#v:exactlyOne" + ] } } diff --git a/site/src/data/core-home.json b/site/src/data/core-home.json index 7b77a2449..0221edc31 100644 --- a/site/src/data/core-home.json +++ b/site/src/data/core-home.json @@ -322,12 +322,13 @@ } }, "haskell": { - "title": "Typed tmux values for Haskell", - "lead": "Parse tmux entity IDs, validate dimensions and indices, and check stable tmux releases with pure Haskell functions", + "title": "tmux client library for Haskell", + "lead": "Capture tmux state, navigate sessions, windows and panes, and filter detached snapshots", "modules": [ - "LibTmux.Id", - "LibTmux.Value", - "LibTmux.Version" + "LibTmux.Server", + "LibTmux.Snapshot", + "LibTmux.Query", + "LibTmux.Snapshot.Fixture" ], "capabilities": {} }, diff --git a/site/src/data/home-examples.json b/site/src/data/home-examples.json index 546931c94..890aab419 100644 --- a/site/src/data/home-examples.json +++ b/site/src/data/home-examples.json @@ -645,46 +645,46 @@ "haskell": { "lang": "haskell", "sourceRepository": "libtmux/libtmux-haskell", - "sourceRevision": "581f0ee45016ffb2283366bb1edc1658df26c5ed", - "sourceTree": "d11969975cbcd0f194a35e81f1e10fc3aec1b017", - "libraryRevision": "581f0ee45016ffb2283366bb1edc1658df26c5ed", - "execution": "pure-values", - "capability": "typed-values", - "singleView": "This program validates supplied values and prints the result. It does not start tmux or create resources requiring cleanup.", + "sourceRevision": "fb86b60139795746e8964643a4f048fcd8a63d14", + "sourceTree": "991616dba69bcdd25f968d19d45aeba6ac2a7129", + "libraryRevision": "fb86b60139795746e8964643a4f048fcd8a63d14", + "execution": "owned-tmux", + "capability": "typed-graph", + "singleView": "This complete program always handles query and selection failures and closes its library scope. The run command creates and stops a private demo server.", "program": "Main.hs", "excerpt": { "startLine": 1, - "endLine": 17, + "endLine": 92, "dedent": 0, - "importsEndLine": 10 + "importsEndLine": 19 }, "files": [ { "name": "Main.hs", "lang": "haskell", - "code": "{-# LANGUAGE OverloadedStrings #-}\n\n-- | Construct tmux domain values without starting a process\n-- or contacting a server.\nmodule Main (main) where\n\nimport LibTmux.Id (parseWindowId, renderWindowId)\nimport LibTmux.Value (dimensionValue, mkDimension)\nimport LibTmux.Version (parseVersion, renderVersion, requireSupported)\n\nmain :: IO ()\nmain = do\n version <- either (fail . show) pure $\n parseVersion \"tmux 3.3a\\n\" >>= requireSupported\n window <- either (fail . show) pure (parseWindowId \"@17\")\n width <- either (fail . show) pure (mkDimension 120)\n print (renderVersion version, renderWindowId window, dimensionValue width)\n" + "code": "{-# LANGUAGE OverloadedRecordDot #-}\n{-# LANGUAGE OverloadedStrings #-}\n\n-- | Query one detached graph, then distinguish physical and contextual matches.\nmodule Main (main) where\n\nimport Control.Exception (ExceptionWithContext, rethrowIO)\nimport Data.Bifunctor (first)\nimport Data.Function ((&))\nimport Data.Text qualified as Text\nimport LibTmux qualified as Tmux\nimport LibTmux.Query qualified as Q\nimport LibTmux.Query.Link qualified as Link\nimport LibTmux.Query.Occurrence qualified as Occurrence\nimport LibTmux.Query.Pane qualified as Pane\nimport LibTmux.Query.Session qualified as Session\nimport System.Environment (getArgs)\nimport System.Exit (die)\nimport System.OsPath.Posix qualified as Path\n\ndata ApplicationError\n = OperationalFailure (ExceptionWithContext Tmux.TmuxException)\n | InvalidQuery Q.QueryError\n | InvalidSelection Q.CardinalityError\n | UnexpectedResult String\n\nactiveWide :: Q.Expr Tmux.Pane\nactiveWide = Q.allOf [Q.eq Pane.active True, Q.dimensionAtLeast Pane.width 120]\n\nselectedPanes :: Q.Query Tmux.Pane\nselectedPanes = Q.panes & Q.matching activeWide\n\nmain :: IO ()\nmain = getArgs >>= \\case\n [socketArgument, executableArgument] -> do\n socket <- Path.encodeFS socketArgument\n executable <- Path.encodeFS executableArgument\n let config = (Tmux.serverConfig socket) {Tmux.executable = executable}\n acquired <- Tmux.tryTmux $ Tmux.withServer config $ \\server -> do\n snapshot <- Tmux.capture server\n fresh <- Q.fetch server selectedPanes\n pure (snapshot, fresh)\n case first OperationalFailure acquired >>= uncurry report of\n Left (OperationalFailure problem) -> rethrowIO problem\n Left (InvalidQuery problem) ->\n die (\"Query validation failed: \" <> show problem)\n Left (InvalidSelection problem) ->\n die (\"Selection failed: \" <> show problem)\n Left (UnexpectedResult problem) -> die problem\n Right linesToPrint -> mapM_ putStrLn linesToPrint\n _ -> die \"Usage: query-graph SOCKET TMUX_EXECUTABLE\"\n\nreport\n :: Tmux.Snapshot\n -> Either Q.QueryError [Tmux.Pane]\n -> Either ApplicationError [String]\nreport snapshot acquired = do\n selected <- first InvalidQuery (Q.runQuery snapshot selectedPanes)\n let native =\n [ pane\n | pane <- Tmux.panes snapshot\n , pane.active\n , Tmux.dimensionValue pane.width >= 120\n ]\n if selected == native\n then Right ()\n else Left (UnexpectedResult \"query and native selection disagree\")\n unique <- first InvalidSelection (Q.exactlyOne selected)\n occurrences <- first InvalidQuery $ Q.runQuery snapshot $\n Q.paneOccurrences & Q.matching (Q.related Occurrence.pane activeWide)\n highest <- first InvalidQuery $ Q.runQuery snapshot $\n Q.windowLinks & Q.orderBy [Q.descending Link.index] & Q.limit 1\n link <- first InvalidSelection (Q.exactlyOne highest)\n let containingEditors =\n Q.sessions & Q.matching\n (Q.some Session.windowLinks (Q.some Link.panes activeWide))\n sessions <- first InvalidQuery (Q.runQuery snapshot containingEditors)\n fresh <- first InvalidQuery acquired\n Right\n [ \"query agrees with native predicate: True\"\n , \"unique physical pane: \"\n <> Text.unpack (Tmux.renderPaneId (Tmux.paneId unique.ref))\n , \"contextual matches: \" <> show (length occurrences)\n , \"contextual uniqueness: \"\n <> either show (const \"unique\") (Q.exactlyOne occurrences)\n , \"highest link index: \" <> show (Tmux.windowIndexValue link.index)\n , \"sessions containing a match: \" <> show (length sessions)\n , \"required fields: \" <> show (Q.requirements selectedPanes).fieldNames\n , \"required relationships: \"\n <> show (Q.requirements containingEditors).relationshipNames\n , \"fresh capture matches: \" <> show (length fresh)\n ]\n" }, { - "name": "libtmux-typed-values.cabal", + "name": "libtmux-query-graph.cabal", "lang": "text", - "code": "cabal-version: 3.18\nname: libtmux-typed-values\nversion: 0.0.0\nbuild-type: Simple\nlicense: MIT\n\nexecutable typed-values\n main-is: Main.hs\n default-language: GHC2024\n ghc-options: -Wall -Werror\n build-depends:\n base >=4.22 && <4.23,\n libtmux-haskell ^>=0.1.0.0\n" + "code": "cabal-version: 3.18\nname: libtmux-query-graph\nversion: 0.0.0\nbuild-type: Simple\nlicense: MIT\n\nexecutable query-graph\n main-is: Main.hs\n default-language: GHC2024\n ghc-options: -Wall -Werror\n build-depends:\n base >=4.22 && <4.23,\n filepath >=1.5.4 && <1.6,\n libtmux-haskell ^>=0.1.0.0,\n text >=2.1.3 && <2.2\n" }, { "name": "cabal.project", "lang": "text", - "code": "packages: .\nindex-state: 2026-11-06T00:00:00Z\n\nsource-repository-package\n type: git\n location: https://github.com/libtmux/libtmux-haskell\n tag: 581f0ee45016ffb2283366bb1edc1658df26c5ed\n" + "code": "packages: .\nindex-state: 2026-11-06T00:00:00Z\n\nsource-repository-package\n type: git\n location: https://github.com/libtmux/libtmux-haskell\n tag: fb86b60139795746e8964643a4f048fcd8a63d14\n" } ], - "prerequisites": "Linux x86_64, GHC 9.14.1, Cabal 3.18.2.0, Git, a C11 compiler, and network access to GitHub and Hackage for source dependencies. No running tmux server is required.", + "prerequisites": "Linux x86_64 with glibc 2.39+ and pidfd support; tmux 3.3a through 3.8; GHC and Cabal satisfying the package manifest; Git, a C11 compiler and network access for the first dependency fetch. The run command owns its demo server.", "commands": [ "cabal update", - "cabal run --verbose=0 typed-values" + "(\nLIBTMUX_DEMO_DIR=$(mktemp -d -t libtmux-haskell-demo.XXXXXX) && \\\ntrap 'tmux -N -S \"$LIBTMUX_DEMO_DIR/s\" kill-server; rm -r -- \"$LIBTMUX_DEMO_DIR\"' EXIT && \\\nenv -u TMUX -u TMUX_PANE tmux \\\n -S \"$LIBTMUX_DEMO_DIR/s\" \\\n -f /dev/null \\\n new-session \\\n -d \\\n -s demo \\\n -n editor \\\n -x 120 \\\n -y 40 \\\n /bin/cat - && \\\nenv -u TMUX -u TMUX_PANE tmux \\\n -N \\\n -S \"$LIBTMUX_DEMO_DIR/s\" \\\n link-window \\\n -s demo:0 \\\n -t demo:4 && \\\ncabal run --verbose=0 query-graph -- \\\n \"$LIBTMUX_DEMO_DIR/s\" \\\n \"$(command -v tmux)\"\n)" ], - "expectedOutput": "(\"3.3a\",\"@17\",120)\n", + "expectedOutput": "query agrees with native predicate: True\nunique physical pane: %0\ncontextual matches: 2\ncontextual uniqueness: AtLeastTwoMatches\nhighest link index: 4\nsessions containing a match: 1\nrequired fields: [\"pane.active\",\"pane.width\"]\nrequired relationships: [\"session.windowLinks\",\"windowLink.panes\"]\nfresh capture matches: 1\n", "variants": { - "concise": "{-# LANGUAGE OverloadedStrings #-}\n\n-- | Construct tmux domain values without starting a process\n-- or contacting a server.\nmodule Main (main) where\n\nimport LibTmux.Id (parseWindowId, renderWindowId)\nimport LibTmux.Value (dimensionValue, mkDimension)\nimport LibTmux.Version (parseVersion, renderVersion, requireSupported)\n\nmain :: IO ()\nmain = do\n version <- either (fail . show) pure $\n parseVersion \"tmux 3.3a\\n\" >>= requireSupported\n window <- either (fail . show) pure (parseWindowId \"@17\")\n width <- either (fail . show) pure (mkDimension 120)\n print (renderVersion version, renderWindowId window, dimensionValue width)\n", - "errors": "{-# LANGUAGE OverloadedStrings #-}\n\n-- | Construct tmux domain values without starting a process\n-- or contacting a server.\nmodule Main (main) where\n\nimport LibTmux.Id (parseWindowId, renderWindowId)\nimport LibTmux.Value (dimensionValue, mkDimension)\nimport LibTmux.Version (parseVersion, renderVersion, requireSupported)\n\nmain :: IO ()\nmain = do\n version <- either (fail . show) pure $\n parseVersion \"tmux 3.3a\\n\" >>= requireSupported\n window <- either (fail . show) pure (parseWindowId \"@17\")\n width <- either (fail . show) pure (mkDimension 120)\n print (renderVersion version, renderWindowId window, dimensionValue width)\n", - "cleanup": "{-# LANGUAGE OverloadedStrings #-}\n\n-- | Construct tmux domain values without starting a process\n-- or contacting a server.\nmodule Main (main) where\n\nimport LibTmux.Id (parseWindowId, renderWindowId)\nimport LibTmux.Value (dimensionValue, mkDimension)\nimport LibTmux.Version (parseVersion, renderVersion, requireSupported)\n\nmain :: IO ()\nmain = do\n version <- either (fail . show) pure $\n parseVersion \"tmux 3.3a\\n\" >>= requireSupported\n window <- either (fail . show) pure (parseWindowId \"@17\")\n width <- either (fail . show) pure (mkDimension 120)\n print (renderVersion version, renderWindowId window, dimensionValue width)\n" + "concise": "{-# LANGUAGE OverloadedRecordDot #-}\n{-# LANGUAGE OverloadedStrings #-}\n\n-- | Query one detached graph, then distinguish physical and contextual matches.\nmodule Main (main) where\n\nimport Control.Exception (ExceptionWithContext, rethrowIO)\nimport Data.Bifunctor (first)\nimport Data.Function ((&))\nimport Data.Text qualified as Text\nimport LibTmux qualified as Tmux\nimport LibTmux.Query qualified as Q\nimport LibTmux.Query.Link qualified as Link\nimport LibTmux.Query.Occurrence qualified as Occurrence\nimport LibTmux.Query.Pane qualified as Pane\nimport LibTmux.Query.Session qualified as Session\nimport System.Environment (getArgs)\nimport System.Exit (die)\nimport System.OsPath.Posix qualified as Path\n\ndata ApplicationError\n = OperationalFailure (ExceptionWithContext Tmux.TmuxException)\n | InvalidQuery Q.QueryError\n | InvalidSelection Q.CardinalityError\n | UnexpectedResult String\n\nactiveWide :: Q.Expr Tmux.Pane\nactiveWide = Q.allOf [Q.eq Pane.active True, Q.dimensionAtLeast Pane.width 120]\n\nselectedPanes :: Q.Query Tmux.Pane\nselectedPanes = Q.panes & Q.matching activeWide\n\nmain :: IO ()\nmain = getArgs >>= \\case\n [socketArgument, executableArgument] -> do\n socket <- Path.encodeFS socketArgument\n executable <- Path.encodeFS executableArgument\n let config = (Tmux.serverConfig socket) {Tmux.executable = executable}\n acquired <- Tmux.tryTmux $ Tmux.withServer config $ \\server -> do\n snapshot <- Tmux.capture server\n fresh <- Q.fetch server selectedPanes\n pure (snapshot, fresh)\n case first OperationalFailure acquired >>= uncurry report of\n Left (OperationalFailure problem) -> rethrowIO problem\n Left (InvalidQuery problem) ->\n die (\"Query validation failed: \" <> show problem)\n Left (InvalidSelection problem) ->\n die (\"Selection failed: \" <> show problem)\n Left (UnexpectedResult problem) -> die problem\n Right linesToPrint -> mapM_ putStrLn linesToPrint\n _ -> die \"Usage: query-graph SOCKET TMUX_EXECUTABLE\"\n\nreport\n :: Tmux.Snapshot\n -> Either Q.QueryError [Tmux.Pane]\n -> Either ApplicationError [String]\nreport snapshot acquired = do\n selected <- first InvalidQuery (Q.runQuery snapshot selectedPanes)\n let native =\n [ pane\n | pane <- Tmux.panes snapshot\n , pane.active\n , Tmux.dimensionValue pane.width >= 120\n ]\n if selected == native\n then Right ()\n else Left (UnexpectedResult \"query and native selection disagree\")\n unique <- first InvalidSelection (Q.exactlyOne selected)\n occurrences <- first InvalidQuery $ Q.runQuery snapshot $\n Q.paneOccurrences & Q.matching (Q.related Occurrence.pane activeWide)\n highest <- first InvalidQuery $ Q.runQuery snapshot $\n Q.windowLinks & Q.orderBy [Q.descending Link.index] & Q.limit 1\n link <- first InvalidSelection (Q.exactlyOne highest)\n let containingEditors =\n Q.sessions & Q.matching\n (Q.some Session.windowLinks (Q.some Link.panes activeWide))\n sessions <- first InvalidQuery (Q.runQuery snapshot containingEditors)\n fresh <- first InvalidQuery acquired\n Right\n [ \"query agrees with native predicate: True\"\n , \"unique physical pane: \"\n <> Text.unpack (Tmux.renderPaneId (Tmux.paneId unique.ref))\n , \"contextual matches: \" <> show (length occurrences)\n , \"contextual uniqueness: \"\n <> either show (const \"unique\") (Q.exactlyOne occurrences)\n , \"highest link index: \" <> show (Tmux.windowIndexValue link.index)\n , \"sessions containing a match: \" <> show (length sessions)\n , \"required fields: \" <> show (Q.requirements selectedPanes).fieldNames\n , \"required relationships: \"\n <> show (Q.requirements containingEditors).relationshipNames\n , \"fresh capture matches: \" <> show (length fresh)\n ]\n", + "errors": "{-# LANGUAGE OverloadedRecordDot #-}\n{-# LANGUAGE OverloadedStrings #-}\n\n-- | Query one detached graph, then distinguish physical and contextual matches.\nmodule Main (main) where\n\nimport Control.Exception (ExceptionWithContext, rethrowIO)\nimport Data.Bifunctor (first)\nimport Data.Function ((&))\nimport Data.Text qualified as Text\nimport LibTmux qualified as Tmux\nimport LibTmux.Query qualified as Q\nimport LibTmux.Query.Link qualified as Link\nimport LibTmux.Query.Occurrence qualified as Occurrence\nimport LibTmux.Query.Pane qualified as Pane\nimport LibTmux.Query.Session qualified as Session\nimport System.Environment (getArgs)\nimport System.Exit (die)\nimport System.OsPath.Posix qualified as Path\n\ndata ApplicationError\n = OperationalFailure (ExceptionWithContext Tmux.TmuxException)\n | InvalidQuery Q.QueryError\n | InvalidSelection Q.CardinalityError\n | UnexpectedResult String\n\nactiveWide :: Q.Expr Tmux.Pane\nactiveWide = Q.allOf [Q.eq Pane.active True, Q.dimensionAtLeast Pane.width 120]\n\nselectedPanes :: Q.Query Tmux.Pane\nselectedPanes = Q.panes & Q.matching activeWide\n\nmain :: IO ()\nmain = getArgs >>= \\case\n [socketArgument, executableArgument] -> do\n socket <- Path.encodeFS socketArgument\n executable <- Path.encodeFS executableArgument\n let config = (Tmux.serverConfig socket) {Tmux.executable = executable}\n acquired <- Tmux.tryTmux $ Tmux.withServer config $ \\server -> do\n snapshot <- Tmux.capture server\n fresh <- Q.fetch server selectedPanes\n pure (snapshot, fresh)\n case first OperationalFailure acquired >>= uncurry report of\n Left (OperationalFailure problem) -> rethrowIO problem\n Left (InvalidQuery problem) ->\n die (\"Query validation failed: \" <> show problem)\n Left (InvalidSelection problem) ->\n die (\"Selection failed: \" <> show problem)\n Left (UnexpectedResult problem) -> die problem\n Right linesToPrint -> mapM_ putStrLn linesToPrint\n _ -> die \"Usage: query-graph SOCKET TMUX_EXECUTABLE\"\n\nreport\n :: Tmux.Snapshot\n -> Either Q.QueryError [Tmux.Pane]\n -> Either ApplicationError [String]\nreport snapshot acquired = do\n selected <- first InvalidQuery (Q.runQuery snapshot selectedPanes)\n let native =\n [ pane\n | pane <- Tmux.panes snapshot\n , pane.active\n , Tmux.dimensionValue pane.width >= 120\n ]\n if selected == native\n then Right ()\n else Left (UnexpectedResult \"query and native selection disagree\")\n unique <- first InvalidSelection (Q.exactlyOne selected)\n occurrences <- first InvalidQuery $ Q.runQuery snapshot $\n Q.paneOccurrences & Q.matching (Q.related Occurrence.pane activeWide)\n highest <- first InvalidQuery $ Q.runQuery snapshot $\n Q.windowLinks & Q.orderBy [Q.descending Link.index] & Q.limit 1\n link <- first InvalidSelection (Q.exactlyOne highest)\n let containingEditors =\n Q.sessions & Q.matching\n (Q.some Session.windowLinks (Q.some Link.panes activeWide))\n sessions <- first InvalidQuery (Q.runQuery snapshot containingEditors)\n fresh <- first InvalidQuery acquired\n Right\n [ \"query agrees with native predicate: True\"\n , \"unique physical pane: \"\n <> Text.unpack (Tmux.renderPaneId (Tmux.paneId unique.ref))\n , \"contextual matches: \" <> show (length occurrences)\n , \"contextual uniqueness: \"\n <> either show (const \"unique\") (Q.exactlyOne occurrences)\n , \"highest link index: \" <> show (Tmux.windowIndexValue link.index)\n , \"sessions containing a match: \" <> show (length sessions)\n , \"required fields: \" <> show (Q.requirements selectedPanes).fieldNames\n , \"required relationships: \"\n <> show (Q.requirements containingEditors).relationshipNames\n , \"fresh capture matches: \" <> show (length fresh)\n ]\n", + "cleanup": "{-# LANGUAGE OverloadedRecordDot #-}\n{-# LANGUAGE OverloadedStrings #-}\n\n-- | Query one detached graph, then distinguish physical and contextual matches.\nmodule Main (main) where\n\nimport Control.Exception (ExceptionWithContext, rethrowIO)\nimport Data.Bifunctor (first)\nimport Data.Function ((&))\nimport Data.Text qualified as Text\nimport LibTmux qualified as Tmux\nimport LibTmux.Query qualified as Q\nimport LibTmux.Query.Link qualified as Link\nimport LibTmux.Query.Occurrence qualified as Occurrence\nimport LibTmux.Query.Pane qualified as Pane\nimport LibTmux.Query.Session qualified as Session\nimport System.Environment (getArgs)\nimport System.Exit (die)\nimport System.OsPath.Posix qualified as Path\n\ndata ApplicationError\n = OperationalFailure (ExceptionWithContext Tmux.TmuxException)\n | InvalidQuery Q.QueryError\n | InvalidSelection Q.CardinalityError\n | UnexpectedResult String\n\nactiveWide :: Q.Expr Tmux.Pane\nactiveWide = Q.allOf [Q.eq Pane.active True, Q.dimensionAtLeast Pane.width 120]\n\nselectedPanes :: Q.Query Tmux.Pane\nselectedPanes = Q.panes & Q.matching activeWide\n\nmain :: IO ()\nmain = getArgs >>= \\case\n [socketArgument, executableArgument] -> do\n socket <- Path.encodeFS socketArgument\n executable <- Path.encodeFS executableArgument\n let config = (Tmux.serverConfig socket) {Tmux.executable = executable}\n acquired <- Tmux.tryTmux $ Tmux.withServer config $ \\server -> do\n snapshot <- Tmux.capture server\n fresh <- Q.fetch server selectedPanes\n pure (snapshot, fresh)\n case first OperationalFailure acquired >>= uncurry report of\n Left (OperationalFailure problem) -> rethrowIO problem\n Left (InvalidQuery problem) ->\n die (\"Query validation failed: \" <> show problem)\n Left (InvalidSelection problem) ->\n die (\"Selection failed: \" <> show problem)\n Left (UnexpectedResult problem) -> die problem\n Right linesToPrint -> mapM_ putStrLn linesToPrint\n _ -> die \"Usage: query-graph SOCKET TMUX_EXECUTABLE\"\n\nreport\n :: Tmux.Snapshot\n -> Either Q.QueryError [Tmux.Pane]\n -> Either ApplicationError [String]\nreport snapshot acquired = do\n selected <- first InvalidQuery (Q.runQuery snapshot selectedPanes)\n let native =\n [ pane\n | pane <- Tmux.panes snapshot\n , pane.active\n , Tmux.dimensionValue pane.width >= 120\n ]\n if selected == native\n then Right ()\n else Left (UnexpectedResult \"query and native selection disagree\")\n unique <- first InvalidSelection (Q.exactlyOne selected)\n occurrences <- first InvalidQuery $ Q.runQuery snapshot $\n Q.paneOccurrences & Q.matching (Q.related Occurrence.pane activeWide)\n highest <- first InvalidQuery $ Q.runQuery snapshot $\n Q.windowLinks & Q.orderBy [Q.descending Link.index] & Q.limit 1\n link <- first InvalidSelection (Q.exactlyOne highest)\n let containingEditors =\n Q.sessions & Q.matching\n (Q.some Session.windowLinks (Q.some Link.panes activeWide))\n sessions <- first InvalidQuery (Q.runQuery snapshot containingEditors)\n fresh <- first InvalidQuery acquired\n Right\n [ \"query agrees with native predicate: True\"\n , \"unique physical pane: \"\n <> Text.unpack (Tmux.renderPaneId (Tmux.paneId unique.ref))\n , \"contextual matches: \" <> show (length occurrences)\n , \"contextual uniqueness: \"\n <> either show (const \"unique\") (Q.exactlyOne occurrences)\n , \"highest link index: \" <> show (Tmux.windowIndexValue link.index)\n , \"sessions containing a match: \" <> show (length sessions)\n , \"required fields: \" <> show (Q.requirements selectedPanes).fieldNames\n , \"required relationships: \"\n <> show (Q.requirements containingEditors).relationshipNames\n , \"fresh capture matches: \" <> show (length fresh)\n ]\n" } }, "perl": { diff --git a/site/src/data/mentions.json b/site/src/data/mentions.json index f0871f40f..adb8ba355 100644 --- a/site/src/data/mentions.json +++ b/site/src/data/mentions.json @@ -6286,6 +6286,13 @@ "title": "Go workspace builder API", "section": "ports" }, + { + "port": "haskell", + "symbol": "LibTmux", + "page": "/haskell/latest/guides/api-documentation/", + "title": "API documentation", + "section": "guides" + }, { "port": "haskell", "symbol": "LibTmux.Id", @@ -6295,28 +6302,406 @@ }, { "port": "haskell", - "symbol": "LibTmux.Id", + "symbol": "LibTmux.Id#t:IdError", + "page": "/haskell/latest/guides/api-documentation/", + "title": "API documentation", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Id#t:PaneId", "page": "/haskell/latest/guides/typed-values/", "title": "Typed values", "section": "guides" }, { "port": "haskell", - "symbol": "LibTmux.Id#t:IdError", + "symbol": "LibTmux.Id#t:SessionId", + "page": "/haskell/latest/guides/typed-values/", + "title": "Typed values", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Id#t:WindowId", + "page": "/haskell/latest/guides/typed-values/", + "title": "Typed values", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Query", + "page": "/haskell/latest/guides/status/", + "title": "Implementation status", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Query#v:AtLeastTwoMatches", + "page": "/haskell/latest/guides/query/", + "title": "Typed queries", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Query#v:atMostOne", + "page": "/haskell/latest/guides/query/", + "title": "Typed queries", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Query#v:dimensionAtLeast", + "page": "/haskell/latest/guides/query/", + "title": "Typed queries", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Query#v:every", + "page": "/haskell/latest/guides/query/", + "title": "Typed queries", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Query#v:exactlyOne", + "page": "/haskell/latest/guides/query/", + "title": "Typed queries", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Query#v:fetch", + "page": "/haskell/latest/guides/query/", + "title": "Typed queries", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Query#v:limit", + "page": "/haskell/latest/guides/query/", + "title": "Typed queries", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Query#v:matching", + "page": "/haskell/latest/guides/query/", + "title": "Typed queries", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Query#v:none", + "page": "/haskell/latest/guides/query/", + "title": "Typed queries", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Query#v:optionalRelated", + "page": "/haskell/latest/guides/query/", + "title": "Typed queries", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Query#v:orderBy", + "page": "/haskell/latest/guides/query/", + "title": "Typed queries", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Query#v:paneOccurrences", + "page": "/haskell/latest/guides/query/", + "title": "Typed queries", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Query#v:panes", + "page": "/haskell/latest/guides/query/", + "title": "Typed queries", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Query#v:requirements", + "page": "/haskell/latest/guides/query/", + "title": "Typed queries", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Query#v:runQuery", + "page": "/haskell/latest/guides/query/", + "title": "Typed queries", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Query#v:some", + "page": "/haskell/latest/guides/query/", + "title": "Typed queries", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Server", "page": "/haskell/latest/guides/api-documentation/", "title": "API documentation", "section": "guides" }, { "port": "haskell", - "symbol": "LibTmux.Value", + "symbol": "LibTmux.Server", "page": "/haskell/latest/guides/status/", "title": "Implementation status", "section": "guides" }, + { + "port": "haskell", + "symbol": "LibTmux.Server#t:CleanupRecovery", + "page": "/haskell/latest/guides/capture/", + "title": "Capture and navigate", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Server#t:Server", + "page": "/haskell/latest/guides/api-documentation/", + "title": "API documentation", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Server#t:TmuxException", + "page": "/haskell/latest/guides/capture/", + "title": "Capture and navigate", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Server#v:capture", + "page": "/haskell/latest/guides/capture/", + "title": "Capture and navigate", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Server#v:capture", + "page": "/haskell/latest/guides/performance/", + "title": "Capture performance", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Server#v:capture", + "page": "/haskell/latest/guides/query/", + "title": "Typed queries", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Server#v:captureRecoveries", + "page": "/haskell/latest/guides/capture/", + "title": "Capture and navigate", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Server#v:CleanupFailed", + "page": "/haskell/latest/guides/capture/", + "title": "Capture and navigate", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Server#v:cleanupRecoveries", + "page": "/haskell/latest/guides/capture/", + "title": "Capture and navigate", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Server#v:cleanupRecoveries", + "page": "/haskell/latest/guides/shared-runtime/", + "title": "Shared Runtime scopes", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Server#v:RuntimeClosed", + "page": "/haskell/latest/guides/shared-runtime/", + "title": "Shared Runtime scopes", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Server#v:tryTmux", + "page": "/haskell/latest/guides/capture/", + "title": "Capture and navigate", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Server#v:tryTmux", + "page": "/haskell/latest/guides/query/", + "title": "Typed queries", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Server#v:tryTmux", + "page": "/haskell/latest/guides/shared-runtime/", + "title": "Shared Runtime scopes", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Server#v:withRuntime", + "page": "/haskell/latest/guides/shared-runtime/", + "title": "Shared Runtime scopes", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Server#v:withRuntime", + "page": "/haskell/latest/guides/status/", + "title": "Implementation status", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Server#v:withServer", + "page": "/haskell/latest/guides/capture/", + "title": "Capture and navigate", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Server#v:withServerIn", + "page": "/haskell/latest/guides/shared-runtime/", + "title": "Shared Runtime scopes", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Server#v:withServerIn", + "page": "/haskell/latest/guides/status/", + "title": "Implementation status", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Snapshot", + "page": "/haskell/latest/guides/status/", + "title": "Implementation status", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Snapshot.Fixture", + "page": "/haskell/latest/guides/offline-fixtures/", + "title": "Offline fixtures", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Snapshot.Fixture", + "page": "/haskell/latest/guides/status/", + "title": "Implementation status", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Snapshot.Fixture#t:FixtureError", + "page": "/haskell/latest/guides/offline-fixtures/", + "title": "Offline fixtures", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Snapshot.Fixture#v:emptyFixture", + "page": "/haskell/latest/guides/offline-fixtures/", + "title": "Offline fixtures", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Snapshot.Fixture#v:fixtureOrigin", + "page": "/haskell/latest/guides/offline-fixtures/", + "title": "Offline fixtures", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Snapshot.Fixture#v:validateFixture", + "page": "/haskell/latest/guides/offline-fixtures/", + "title": "Offline fixtures", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Snapshot#t:Snapshot", + "page": "/haskell/latest/guides/capture/", + "title": "Capture and navigate", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Snapshot#t:Snapshot", + "page": "/haskell/latest/guides/query/", + "title": "Typed queries", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Snapshot#t:SnapshotOrigin", + "page": "/haskell/latest/guides/offline-fixtures/", + "title": "Offline fixtures", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Snapshot#t:TmuxText", + "page": "/haskell/latest/guides/capture/", + "title": "Capture and navigate", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Snapshot#v:AcquiredFromTmux", + "page": "/haskell/latest/guides/offline-fixtures/", + "title": "Offline fixtures", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Snapshot#v:DefinedOffline", + "page": "/haskell/latest/guides/offline-fixtures/", + "title": "Offline fixtures", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Snapshot#v:lookupPaneId", + "page": "/haskell/latest/guides/capture/", + "title": "Capture and navigate", + "section": "guides" + }, { "port": "haskell", "symbol": "LibTmux.Value", + "page": "/haskell/latest/guides/status/", + "title": "Implementation status", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Value#t:PaneIndex", "page": "/haskell/latest/guides/typed-values/", "title": "Typed values", "section": "guides" @@ -6330,18 +6715,25 @@ }, { "port": "haskell", - "symbol": "LibTmux.Version", - "page": "/haskell/latest/guides/status/", - "title": "Implementation status", + "symbol": "LibTmux.Value#t:WindowIndex", + "page": "/haskell/latest/guides/typed-values/", + "title": "Typed values", "section": "guides" }, { "port": "haskell", - "symbol": "LibTmux.Version", + "symbol": "LibTmux.Value#v:mkDimension", "page": "/haskell/latest/guides/typed-values/", "title": "Typed values", "section": "guides" }, + { + "port": "haskell", + "symbol": "LibTmux.Version", + "page": "/haskell/latest/guides/status/", + "title": "Implementation status", + "section": "guides" + }, { "port": "haskell", "symbol": "LibTmux.Version#t:VersionError", @@ -6349,6 +6741,20 @@ "title": "API documentation", "section": "guides" }, + { + "port": "haskell", + "symbol": "LibTmux.Version#v:parseVersion", + "page": "/haskell/latest/guides/typed-values/", + "title": "Typed values", + "section": "guides" + }, + { + "port": "haskell", + "symbol": "LibTmux.Version#v:requireSupported", + "page": "/haskell/latest/guides/typed-values/", + "title": "Typed values", + "section": "guides" + }, { "port": "java", "symbol": "io.github.libtmux.batch.Batch.Batch", diff --git a/site/src/data/port-guides/haskell.json b/site/src/data/port-guides/haskell.json index 49695bd83..d2e5692f3 100644 --- a/site/src/data/port-guides/haskell.json +++ b/site/src/data/port-guides/haskell.json @@ -1,28 +1,48 @@ { "source": { "repository": "libtmux/libtmux-haskell", - "revision": "581f0ee45016ffb2283366bb1edc1658df26c5ed" + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14" }, "guides": [ { "path": "docs/README.md", - "content": "# Using libtmux for Haskell\n\nThe public package currently provides typed tmux IDs, checked dimensions and\nindices, and stable-release parsing. Start with the complete\n[typed-value program](../examples/typed-values/Main.hs), then follow the\nsignatures in the [API guide](api.md).\n\n| Task | Guide |\n| --- | --- |\n| Add the source package to a Cabal application | [Installation](installation.md) |\n| Parse IDs, validate geometry and admit a release | [Typed values](values.md) |\n| Browse modules, declarations and source | [API documentation](api.md) |\n| Decide whether the current package meets your needs | [Implementation status](status.md) |\n\nThe [behavior contracts](contracts/README.md) describe the implementation\nscope. They include operations that are not yet public APIs.\n\nThe proposed [native domain model ADR](decisions/0001-native-domain-model.md)\ncompares sibling ports and records the object graph, naming and lifecycle\ndecisions awaiting expert review.\n\nRepository setup and test authoring live in\n[contributing](../.github/CONTRIBUTING.md) and\n[testing](../.github/TESTING.md).\n" + "content": "# Using libtmux for Haskell\n\nCapture an existing tmux endpoint, then process detached records with ordinary\nHaskell. Start with the complete [capture program](../README.md), then read\n[observation and recovery semantics](capture.md) and the [API guide](api.md).\n\n| Task | Guide |\n| --- | --- |\n| Add the source package to a Cabal application | [Installation](installation.md) |\n| Capture, filter and traverse the object graph | [Observations and recovery](capture.md) |\n| Inspect typed selections and check physical or contextual uniqueness | [Typed queries](query.md) |\n| Share resources across independent Server scopes | [Shared Runtime](shared-runtime.md) |\n| Test application predicates without tmux | [Validated offline fixtures](fixtures.md) |\n| Reproduce capture measurements | [Performance](performance.md) |\n| Parse IDs, validate geometry and admit a release | [Typed values](values.md) |\n| Browse modules, declarations and source | [API documentation](api.md) |\n| Decide whether the current package meets your needs | [Implementation status](status.md) |\n\nThe [behavior contracts](contracts/README.md) describe the implementation\nscope. They include operations that are not yet public APIs.\n\nThe accepted [native domain model ADR](decisions/0001-native-domain-model.md)\nrecords the physical graph, naming, lifecycle and public API decisions.\n\nRepository setup and test authoring live in\n[contributing](../.github/CONTRIBUTING.md) and\n[testing](../.github/TESTING.md).\n" }, { "path": "docs/installation.md", - "content": "# Add the package to a Cabal application\n\nUse GHC 9.14.1, GHC2024 and Cabal 3.18.2.0. The package targets this compiler\nseries on Linux x86_64 only. Install the pinned tools through the\n[contributor setup](../.github/CONTRIBUTING.md#toolchain) if needed.\n\nPin the source revision in your application's `cabal.project`:\n\n\n```cabal\npackages: .\nindex-state: 2026-11-06T00:00:00Z\n\nsource-repository-package\n type: git\n location: https://github.com/libtmux/libtmux-haskell\n tag: f910d69f92a156df3390956470a1a3cd8a69e0fe\n```\n\nAdd the library to the executable's dependencies. The\n[example package](../examples/typed-values/libtmux-typed-values.cabal) is a\ncomplete starting point:\n\n\n```cabal\ncabal-version: 3.18\nname: libtmux-typed-values\nversion: 0.0.0\nbuild-type: Simple\nlicense: MIT\n\nexecutable typed-values\n main-is: Main.hs\n default-language: GHC2024\n ghc-options: -Wall -Werror\n build-depends:\n base >=4.22 && <4.23,\n libtmux-haskell ^>=0.1.0.0\n```\n\nSave [Main.hs](../examples/typed-values/Main.hs) beside the package file, then\ndownload the package index before the first build:\n\n```console\n$ cabal update\n```\n\nBuild and run the example:\n\n```console\n$ cabal run --verbose=0 typed-values\n```\n\nThe [typed-value guide](values.md) explains the output and what each check\nestablishes. This example requires no running tmux server.\n\nThe source revision above contains the current public scalar API. Native\nclient operations and workspace tooling require further implementation;\ncheck [status](status.md) before choosing the package for automation.\n\n## Native backend host requirements\n\nThe private native backend targets Linux x86_64 with glibc 2.39 or newer\nfor `pidfd_spawn`, compatible kernel pidfd operations, and exclusive child\nreaping ownership. Missing host operations fail before launch. This is\nseparate from the public pure scalar API. See the\n[process host contract](contracts/process.md#launch-and-host-requirements).\n" + "content": "# Add the package to a Cabal application\n\nThe [package manifest](../libtmux-haskell.cabal) declares the language edition\nand dependency compatibility bounds. Use a current GHC and Cabal that satisfy\nthose bounds. The native backend requires Linux x86_64; see its\n[host requirements](#native-backend-host-requirements).\n[Contributor setup](../.github/CONTRIBUTING.md#toolchain) links the CI pins for\nreproducing the tested configuration.\n\nPin the reviewed source revision in your application's `cabal.project`:\n\n\n```cabal\npackages: .\nindex-state: 2026-11-06T00:00:00Z\n\nsource-repository-package\n type: git\n location: https://github.com/libtmux/libtmux-haskell\n tag: e9318e703a56547646d6978d880575862200f4e1\n```\n\nAdd the library to the executable's dependencies. The\n[example package](../examples/capture-graph/libtmux-capture-graph.cabal) is a\ncomplete starting point:\n\n\n```cabal\ncabal-version: 3.18\nname: libtmux-capture-graph\nversion: 0.0.0\nbuild-type: Simple\nlicense: MIT\nextra-doc-files: README.md\n\nexecutable capture-graph\n main-is: Main.hs\n default-language: GHC2024\n ghc-options: -Wall -Werror\n build-depends:\n base >=4.22 && <4.23,\n filepath >=1.5.4 && <1.6,\n libtmux-haskell ^>=0.1.0.0,\n text >=2.1.3 && <2.2\n```\n\nSave [Main.hs](../examples/capture-graph/Main.hs) beside the package file, then\ndownload the package index before the first build:\n\n```console\n$ cabal update\n```\n\nUse the [private demonstration server](../README.md) from the README, then\nrun the Haskell executable:\n\n```console\n$ cabal run --verbose=0 capture-graph -- \\\n \"$LIBTMUX_DEMO_DIR/s\" \\\n \"$(command -v tmux)\"\n```\n\nThe [capture guide](capture.md) explains the object graph, pure lookups and\nscope cleanup. Its owned fixture creates a repeatable server for the\n[README example](../README.md). Enable\n[`OverloadedRecordDot`](https://downloads.haskell.org/ghc/9.14.1/docs/users_guide/exts/overloaded_record_dot.html)\nin application\nmodules using observation fields. No optics or effect framework is required.\n\nThe package has no Hackage release yet. The development source provides the\nobservation API; commands and workspace tooling remain under development.\nCheck [status](status.md) before choosing it for automation.\n\n## Native backend host requirements\n\nThe native backend targets Linux x86_64 with glibc 2.39 or newer\nfor `pidfd_spawn`, compatible kernel pidfd operations, and exclusive child\nreaping ownership. Missing host operations fail before launch. This is\nseparate from pure scalar construction and lookup. See the\n[process host contract](contracts/process.md#launch-and-host-requirements).\n" + }, + { + "path": "docs/capture.md", + "content": "# Capture and navigate a tmux server\n\nUse [`withServer`](../src/LibTmux/Server.hs) to adopt an existing endpoint and\n[`capture`](../src/LibTmux/Server.hs) to obtain a detached\n[`Snapshot`](../src/LibTmux/Snapshot.hs). The complete program in the\n[README](../README.md) filters ordinary pane records, traverses relationships\nand prints its result after the handle closes. Its\n[source](../examples/capture-graph/Main.hs) and\n[owned fixture verification](../scripts/check_sdist.py) are checked from the\nsource archive, with output asserted and owned process exits observed.\n\nCreate the [private demonstration server](../README.md) from the README, then\nrun the Haskell executable from a provisioned checkout:\n\n```console\n$ cabal run --verbose=0 capture-graph -- \\\n \"$LIBTMUX_DEMO_DIR/s\" \\\n \"$(command -v tmux)\"\n```\n\nTo inspect your own running server, pass its actual socket and executable\npaths instead. The program observes that daemon; it does not create or stop it.\n\nThe library requires a trusted absolute socket path and a writable pin\ndirectory on that socket's filesystem. The default pin directory is the\nsocket's parent. [Installation](installation.md#native-backend-host-requirements)\ndescribes the Linux host requirements.\n\n## Physical entities and appearances\n\nA session links windows at numeric indices. The same physical window can\nappear at two indices in one session or in several sessions. A pane belongs\nto its physical window, while a pane occurrence retains the window-link\ncontext:\n\n```mermaid\nflowchart LR\n S[\"Session demo\"] --> L0[\"WindowLink index 0\"]\n S --> L4[\"WindowLink index 4\"]\n L0 --> W[\"Window @0\"]\n L4 --> W\n W --> P[\"Pane %0\"]\n```\n\n`windows` and `panes` return each physical entity once. `windowLinks` and\n`paneOccurrences` retain both appearances in this fixture. Lists use numeric\nID order; links use session ID and window index; occurrences use link and\npane index. Indexed lookups avoid rescanning those lists.\n\nReferences compare targeting identity within one Server generation. A lookup\nreturns the observation from the supplied snapshot, including a later capture\nfrom that same Server. Independent Server scopes have distinct generations.\nResolving a native ID with `lookupPaneId` deliberately selects its observation\nin the supplied snapshot; it does not restore an earlier targeting guarantee.\n\nRecord updates create local values. They do not update the snapshot's indexes,\nvalidate a caller-edited graph or send a tmux command. Use\n`dimensionValue pane.width` for numeric comparisons; checked dimensions have\nno [`Num`](https://hackage-content.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Num)\ninstance. Paths and current process names preserve POSIX bytes;\nwindow labels use `TmuxText` with explicit, fallible text conversion.\n\n## Errors and recovery\n\nAcquisition fails in `IO` with `TmuxException`. Pure navigation returns\n`Either LookupError`; missing or foreign references never become empty results.\nThe snapshot records a monotonic capture interval. It does not claim a\ntransaction over tmux and operating-system state.\n\n`withServer` preserves a callback's original exception, including cancellation.\nIf bounded cleanup remains incomplete, its exception context retains a\n`CleanupRecovery`. After a successful callback, incomplete cleanup raises\n`CleanupFailed` instead of returning success.\n\nUse `tryTmux` to catch library failures with their\n[`ExceptionWithContext`](https://hackage-content.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#t:ExceptionWithContext),\nor [`Control.Exception.tryWithContext`](https://hackage-content.haskell.org/package/base-4.22.0.0/docs/Control-Exception.html#v:tryWithContext)\nwhen handling application exceptions and\ncancellation too. Ordinary typed `try` loses this context when returning the\nconcrete exception. Keep the context while recovering ownership.\n\n`cleanupRecoveries` and `captureRecoveries` retrieve correlated owners from\nthat context. Inspect them locally, resume existing cleanup, or explicitly\ndetach logical uncertainty. Resuming never dispatches a second capture;\ndetachment does not terminate native resources or prove daemon-side completion.\nThe [process contract](contracts/process.md) defines these outcomes in detail.\n\nUse [validated offline fixtures](fixtures.md) to exercise application graph\nlogic without tmux. Their references belong to a separate offline origin.\n\nThe [capture baseline](performance.md) covers controlled graph sizes. The\n[shared Runtime guide](shared-runtime.md) covers independent handle lifetimes.\nBroader performance cases remain qualification work for the public observation\nmilestone. The\n[status page](status.md) records the broader implementation scope.\n\nThe example fixture verifies daemon exit after setup failure before session\ndispatch, and both daemon and pane exit after callback failure or cancellation.\nThe runner joins interrupted session clients. When creation was dispatched but\nthe pane receipt is unavailable, it reports that incomplete ownership explicitly.\n" + }, + { + "path": "docs/query.md", + "content": "# Select observations with typed queries\n\nUse [`runQuery`](../src/LibTmux/Query.hs) when a predicate needs inspection,\ntyped fields or relationship composition. It reads an existing\n[`Snapshot`](../src/LibTmux/Snapshot.hs) and returns ordinary lists inside\n`Either QueryError`. Native comprehensions and `filter` remain the unrestricted\npath for application logic; see the [capture program](capture.md).\n\nThis program finds active panes at least 120 cells wide. It compares the\ntyped selection with a native predicate over the same snapshot, checks\nuniqueness, follows session-to-link-to-pane relationships, and inspects the\nrequired fields. The fixture links one window at indices 0 and 4: one\nphysical pane therefore appears twice in the contextual source.\n\nCreate the [private demonstration server](../README.md) from the README. From a\n[provisioned checkout](../.github/CONTRIBUTING.md#toolchain), run:\n\n```console\n$ cabal run --verbose=0 query-graph -- \\\n \"$LIBTMUX_DEMO_DIR/s\" \\\n \"$(command -v tmux)\"\n```\n\nCI runs the installed program against an owned fixture, asserts output and\nempty stderr, and observes the server and initial pane exiting afterward.\nThe program accepts an existing socket and tmux executable. Every\nquery construction and selection below is pure except the explicitly named\n[`capture`](../src/LibTmux/Server.hs) and [`fetch`](../src/LibTmux/Query.hs).\n\n\n```haskell\n{-# LANGUAGE OverloadedRecordDot #-}\n{-# LANGUAGE OverloadedStrings #-}\n\n-- | Query one detached graph, then distinguish physical and contextual matches.\nmodule Main (main) where\n\nimport Control.Exception (ExceptionWithContext, rethrowIO)\nimport Data.Bifunctor (first)\nimport Data.Function ((&))\nimport Data.Text qualified as Text\nimport LibTmux qualified as Tmux\nimport LibTmux.Query qualified as Q\nimport LibTmux.Query.Link qualified as Link\nimport LibTmux.Query.Occurrence qualified as Occurrence\nimport LibTmux.Query.Pane qualified as Pane\nimport LibTmux.Query.Session qualified as Session\nimport System.Environment (getArgs)\nimport System.Exit (die)\nimport System.OsPath.Posix qualified as Path\n\ndata ApplicationError\n = OperationalFailure (ExceptionWithContext Tmux.TmuxException)\n | InvalidQuery Q.QueryError\n | InvalidSelection Q.CardinalityError\n | UnexpectedResult String\n\nactiveWide :: Q.Expr Tmux.Pane\nactiveWide = Q.allOf [Q.eq Pane.active True, Q.dimensionAtLeast Pane.width 120]\n\nselectedPanes :: Q.Query Tmux.Pane\nselectedPanes = Q.panes & Q.matching activeWide\n\nmain :: IO ()\nmain = getArgs >>= \\case\n [socketArgument, executableArgument] -> do\n socket <- Path.encodeFS socketArgument\n executable <- Path.encodeFS executableArgument\n let config = (Tmux.serverConfig socket) {Tmux.executable = executable}\n acquired <- Tmux.tryTmux $ Tmux.withServer config $ \\server -> do\n snapshot <- Tmux.capture server\n fresh <- Q.fetch server selectedPanes\n pure (snapshot, fresh)\n case first OperationalFailure acquired >>= uncurry report of\n Left (OperationalFailure problem) -> rethrowIO problem\n Left (InvalidQuery problem) -> die (\"Query validation failed: \" <> show problem)\n Left (InvalidSelection problem) -> die (\"Selection failed: \" <> show problem)\n Left (UnexpectedResult problem) -> die problem\n Right linesToPrint -> mapM_ putStrLn linesToPrint\n _ -> die \"Usage: query-graph SOCKET TMUX_EXECUTABLE\"\n\nreport :: Tmux.Snapshot -> Either Q.QueryError [Tmux.Pane] -> Either ApplicationError [String]\nreport snapshot acquired = do\n selected <- first InvalidQuery (Q.runQuery snapshot selectedPanes)\n let native = [pane | pane <- Tmux.panes snapshot, pane.active, Tmux.dimensionValue pane.width >= 120]\n if selected == native then Right () else Left (UnexpectedResult \"query and native selection disagree\")\n unique <- first InvalidSelection (Q.exactlyOne selected)\n occurrences <- first InvalidQuery $ Q.runQuery snapshot $\n Q.paneOccurrences & Q.matching (Q.related Occurrence.pane activeWide)\n highest <- first InvalidQuery $ Q.runQuery snapshot $\n Q.windowLinks & Q.orderBy [Q.descending Link.index] & Q.limit 1\n link <- first InvalidSelection (Q.exactlyOne highest)\n let containingEditors = Q.sessions & Q.matching (Q.some Session.windowLinks (Q.some Link.panes activeWide))\n sessions <- first InvalidQuery (Q.runQuery snapshot containingEditors)\n fresh <- first InvalidQuery acquired\n Right\n [ \"query agrees with native predicate: True\"\n , \"unique physical pane: \" <> Text.unpack (Tmux.renderPaneId (Tmux.paneId unique.ref))\n , \"contextual matches: \" <> show (length occurrences)\n , \"contextual uniqueness: \" <> either show (const \"unique\") (Q.exactlyOne occurrences)\n , \"highest link index: \" <> show (Tmux.windowIndexValue link.index)\n , \"sessions containing a match: \" <> show (length sessions)\n , \"required fields: \" <> show (Q.requirements selectedPanes).fieldNames\n , \"required relationships: \" <> show (Q.requirements containingEditors).relationshipNames\n , \"fresh capture matches: \" <> show (length fresh)\n ]\n```\n\nExpected output:\n\n\n```text\nquery agrees with native predicate: True\nunique physical pane: %0\ncontextual matches: 2\ncontextual uniqueness: AtLeastTwoMatches\nhighest link index: 4\nsessions containing a match: 1\nrequired fields: [\"pane.active\",\"pane.width\"]\nrequired relationships: [\"session.windowLinks\",\"windowLink.panes\"]\nfresh capture matches: 1\n```\n\n## Choose the source before checking cardinality\n\n[`panes`](../src/LibTmux/Query.hs) selects unique physical panes.\n[`paneOccurrences`](../src/LibTmux/Query.hs) selects their appearances through\nwindow links. Filtering preserves the chosen source's multiplicity.\n`exactlyOne` rejects no matches and reports `AtLeastTwoMatches` at the second\nmatch; it does not count the remaining list. `atMostOne` also permits absence.\nProving uniqueness may still require traversing every input element.\n\n[`some`](../src/LibTmux/Query.hs) tests one related child against its entire\npredicate. Put all required conditions inside that child predicate when one\npane must satisfy them together. Two separate existential predicates may\nmatch different panes. Over a known empty relation, `some` is false, `every`\nis true and `none` is true. Missing required lookups remain errors.\n`optionalRelated` is false for a known absent target; its negation includes\nabsence. An unavailable relationship is a validation error, even on an empty\nsource or in a branch that would otherwise short-circuit.\n\n## Inspect, order and limit\n\nThe qualified [field modules](api.md) expose typed tokens from the capture\ncatalogue. Boolean fields cannot take numeric comparisons, and fields from\ndifferent row types cannot be mixed. `dimensionAtLeast` accepts an unbounded\n`Integer` threshold while observed dimensions retain their checked type.\nText equality and containment are exact, without case folding or Unicode\nnormalization. Command names, paths and window labels retain their declared\nbyte-preserving types; there is no implicit text conversion.\n\n[`requirements`](../src/LibTmux/Query.hs) reports stable source, field and\nrelationship names, ordering keys and the final limit. This is dependency\ninspection, not serialization or a backend execution plan. Validation checks\nall declared requirements before examining rows, including ordering keys,\nempty membership predicates and zero limits.\n\n`matching` accumulates predicates. `orderBy` replaces the ordering keys and\nuses stable sorting; tied rows keep source order. `limit` replaces the final\nnonnegative `Natural` bound. Evaluation always filters, orders and then\nlimits, regardless of builder order. Every authored description and operand\nlist must be finite.\n\n## Keep acquisition and failures explicit\n\n[`fetch`](../src/LibTmux/Query.hs) captures a new complete snapshot on every\ncall. It checks compiled evaluator support before acquisition, then validates\nversion requirements against captured metadata. This implementation performs\nno backend filtering. Reuse `runQuery` over one snapshot when several\nselections should share observations; see [capture costs](performance.md).\n\nThe example combines operational exceptions, pure query errors and\ncardinality errors in an application error type. `tryTmux` catches library\nexceptions only. Its handler preserves the exception context with `rethrowIO`,\nkeeping cleanup and capture recovery owners reachable; asynchronous\ncancellation propagates. See [recovery](capture.md) when an application needs\nto inspect and resume those owners.\n\nThe report reads detached values after the Server closes. Its equality check\nuses one snapshot. The final fresh-capture count demonstrates another\nacquisition; two independently changing captures do not prove evaluator\nequivalence. Cardinality and reference equality establish observed selection,\nnot current liveness. Public mutation, query interchange, backend optimization\nand event subscriptions remain [unfinished](status.md).\n\nFor a separate application, copy the [program](../examples/query-graph/Main.hs)\nand [package file](../examples/query-graph/libtmux-query-graph.cabal), then use\nits [immutable source dependency](../examples/query-graph/cabal.project.vcs)\nwith the [installation instructions](installation.md).\n" + }, + { + "path": "docs/shared-runtime.md", + "content": "# Share a Runtime across independent Server scopes\n\nUse [`withRuntime`](../src/LibTmux/Server.hs) to give several components one\nresource and cleanup owner. Open their endpoints with\n[`withServerIn`](../src/LibTmux/Server.hs). Closing one Server scope releases\nthat handle while the others remain usable under the shared limits.\n\nCreate the [private demonstration server](../README.md) from the README, then\nrun this complete program from a provisioned checkout. CI also runs it from\nan installed package, checks output and observes owned process cleanup:\n\n```console\n$ cabal run --verbose=0 shared-runtime -- \\\n \"$LIBTMUX_DEMO_DIR/s\" \\\n \"$(command -v tmux)\"\n```\n\n\n```haskell\n{-# LANGUAGE OverloadedRecordDot #-}\n\n-- | Share Runtime resources while keeping Server lifetimes independent.\nmodule Main (main) where\n\nimport Control.Exception (ExceptionWithContext (..))\nimport Control.Monad (forM_, unless)\nimport Data.Text qualified as Text\nimport LibTmux qualified as Tmux\nimport System.Environment (getArgs)\nimport System.Exit (die)\nimport System.OsPath.Posix qualified as Path\n\nmain :: IO ()\nmain = getArgs >>= \\case\n [socketArgument, executableArgument] -> do\n socket <- Path.encodeFS socketArgument\n executable <- Path.encodeFS executableArgument\n let config = (Tmux.serverConfig socket) {Tmux.executable = executable}\n snapshot <- Tmux.withRuntime $ \\runtime ->\n Tmux.withServerIn runtime config $ \\outer -> do\n first <- Tmux.capture outer\n closed <- Tmux.withServerIn runtime config $ \\inner -> do\n unless (Tmux.serverGeneration inner /= Tmux.serverGeneration outer) $\n fail \"independent handles shared a connection generation\"\n captured <- Tmux.capture inner\n case Tmux.panes captured of\n pane : _ -> unless (Tmux.lookupPane first pane.ref == Left Tmux.ForeignGeneration) $\n fail \"a reference crossed independent handle generations\"\n [] -> fail \"the owned example fixture has no pane\"\n pure inner\n Tmux.tryTmux (Tmux.capture closed) >>= \\case\n Left (ExceptionWithContext _ Tmux.ServerClosed) -> pure ()\n Left problem -> fail (\"closed handle returned an unexpected error: \" <> show problem)\n Right _ -> fail \"the inner handle remained open after its scope\"\n Tmux.capture outer\n putStrLn \"independent handles: verified\"\n putStrLn \"closed inner handle: rejected\"\n putStrLn $ \"outer capture panes: \" <> show (length (Tmux.panes snapshot))\n forM_ (Tmux.panes snapshot) $ \\pane -> do\n window <- either (fail . show) pure (Tmux.lookupWindow snapshot pane.window)\n putStrLn $ \"detached pane \" <> Text.unpack (Tmux.renderPaneId (Tmux.paneId pane.ref))\n <> \" belongs to \" <> Text.unpack (Tmux.renderWindowId (Tmux.windowId window.ref))\n _ -> die \"Usage: shared-runtime SOCKET TMUX_EXECUTABLE\"\n```\n\nThe program checks that references remain connection-scoped, the inner handle\ncloses, the outer handle still captures, and detached navigation works after\nthe entire Runtime closes.\n\n\n```text\nindependent handles: verified\nclosed inner handle: rejected\nouter capture panes: 1\ndetached pane %0 belongs to @0\n```\n\n## Use the installed package\n\nThe core remains unpublished. This example's project pins the source that\nprovides the shared Runtime API. Use that project when building the standalone\nprogram, together with its package file:\n\n\n```cabal\npackages: .\nindex-state: 2026-11-06T00:00:00Z\n\nsource-repository-package\n type: git\n location: https://github.com/libtmux/libtmux-haskell\n tag: 8b60ec5b60b0e4b0346c56122666ad26feb072ff\n```\n\n\n```cabal\ncabal-version: 3.18\nname: libtmux-shared-runtime\nversion: 0.0.0\nbuild-type: Simple\nlicense: MIT\nextra-doc-files: README.md\n\nexecutable shared-runtime\n main-is: Main.hs\n default-language: GHC2024\n ghc-options: -Wall -Werror\n build-depends:\n base >=4.22 && <4.23,\n filepath >=1.5.4 && <1.6,\n libtmux-haskell ^>=0.1.0.0,\n text >=2.1.3 && <2.2\n```\n\n[Installation](installation.md) covers the compiler and native host setup.\nThe [archive consumer check](../scripts/check_sdist.py) builds the program\noutside the checkout and executes it with the same owned fixture.\n\n## Scope and recovery\n\nEach adoption has a distinct generation, including handles to the same daemon.\nA reference from one handle does not target another handle's observations.\nClosing the Runtime also closes handles still retained by application tasks;\napplications own their worker lifetimes. Starting another adoption after the\nRuntime closes raises `RuntimeClosed`. Closing either kind of scope leaves\nthe tmux daemon running.\n\nLimits belong to the Runtime. The current complete-capture reservation admits\none complete capture at a time; concurrent attempts can fail with an\noperational capacity error. Capture sequentially or use independent Runtime\nscopes when separate capacity is required. The\n[performance guide](performance.md) records the measured workload and the\nbroader qualification still outstanding.\n\nUse [`tryTmux`](../src/LibTmux/Server.hs) to keep the failure's exception\ncontext. `cleanupRecoveries` retrieves its remaining cleanup owners. Their\ninspection, retry, explicit wait and logical detachment stay scoped to the\nselected responsibility. A failed adoption can retain an owner before it\nreturns a Server; recovering it does not close neighboring handles.\n\nNested scopes may contribute overlapping recovery owners. Inspect and resume\neach retained responsibility. An explicit cleanup wait has no deadline;\ncancellation preserves its owner. Detaching logical uncertainty does not\nrelease native resources or prove a daemon-side command completed.\n[Capture recovery](capture.md#errors-and-recovery) and the\n[process contract](contracts/process.md#public-scope-outcomes) define the error\nand cancellation policy.\n" + }, + { + "path": "docs/fixtures.md", + "content": "# Test graph logic without tmux\n\nUse [`LibTmux.Snapshot.Fixture`](../src/LibTmux/Snapshot/Fixture.hs) to build\nordinary observation records and validate their relationships. No fixture\noperation starts tmux, opens a socket or allocates an operational Server.\n\nThe complete program below tests a pane-selection policy against one physical\nwindow appearing at two session indices. Run it from a provisioned checkout:\n\n```console\n$ cabal run --verbose=0 offline-graph\n```\n\nFor a separate Cabal application, copy [Main.hs](../examples/offline-graph/Main.hs)\nand its [package file](../examples/offline-graph/libtmux-offline-graph.cabal).\nSave the [pinned source project](../examples/offline-graph/cabal.project.vcs)\nas `cabal.project`, provision its dependencies, then run the same command.\n\n\n```haskell\n{-# LANGUAGE OverloadedRecordDot #-}\n{-# LANGUAGE OverloadedStrings #-}\n\n-- | Test a pane-selection policy without starting tmux or opening a socket.\nmodule Main (main) where\n\nimport Data.Bifunctor (first)\nimport LibTmux qualified as Tmux\nimport LibTmux.Snapshot.Fixture qualified as F\nimport System.Exit (die)\nimport System.OsString.Posix qualified as Os\n\nmain :: IO ()\nmain = do\n snapshot <- either die pure buildSnapshot\n print (Tmux.snapshotOrigin snapshot)\n print\n [ (Tmux.renderPaneId (Tmux.paneId pane.ref), Tmux.dimensionValue pane.width)\n | pane <- Tmux.panes snapshot\n , pane.active\n , Tmux.dimensionValue pane.width >= 120\n ]\n print (length (Tmux.windows snapshot), length (Tmux.paneOccurrences snapshot))\n\nbuildSnapshot :: Either String Tmux.Snapshot\nbuildSnapshot = do\n version <- checked (Tmux.parseVersion \"3.8\")\n sid <- checked (Tmux.parseSessionId \"$1\")\n wid <- checked (Tmux.parseWindowId \"@2\")\n pid <- checked (Tmux.parsePaneId \"%3\")\n width <- checked (Tmux.mkDimension 120)\n height <- checked (Tmux.mkDimension 40)\n paneIndex <- checked (Tmux.mkPaneIndex 0)\n firstIndex <- checked (Tmux.mkWindowIndex 0)\n secondIndex <- checked (Tmux.mkWindowIndex 4)\n let origin = F.fixtureOrigin \"reports\"\n session = Tmux.Session (F.sessionRef origin sid) \"work\" 0\n window = Tmux.Window (F.windowRef origin wid) \"editor\" width height\n pane = Tmux.Pane\n { Tmux.ref = F.paneRef origin pid\n , Tmux.window = window.ref\n , Tmux.index = paneIndex\n , Tmux.width = width\n , Tmux.height = height\n , Tmux.active = True\n , Tmux.dead = False\n , Tmux.title = \"editor\"\n , Tmux.currentCommand = Os.fromBytestring \"ghci\"\n , Tmux.currentPath = Os.fromBytestring \"/offline/project\"\n }\n input = (F.emptyFixture origin version)\n { F.sessions = [session], F.windows = [window], F.panes = [pane]\n , F.windowLinks = [Tmux.WindowLink session.ref firstIndex window.ref True,\n Tmux.WindowLink session.ref secondIndex window.ref False]\n }\n checked (F.validateFixture origin input)\n\nchecked :: Show problem => Either problem value -> Either String value\nchecked = first show\n```\n\nProgram output:\n\n\n```text\nDefinedOffline \"reports\"\n[(\"%3\",120)]\n(1,2)\n```\n\n`fixtureOrigin` creates a named offline namespace. Reuse a name to model\nsuccessive observations in one test scenario; use different names for\nindependent scenarios. Fixture references never compare equal to references\nfrom an adopted Server, even when their native IDs match.\n\n`emptyFixture` supplies synthetic server metadata and empty collections.\nPopulate its ordinary records, then call `validateFixture`. It reuses graph\nand metadata validation, including reference membership, duplicate slots,\nactive selections and attached-client context. A failed input returns\n`FixtureError`; it never becomes an empty snapshot. Reading an edited record\nalone does not validate the graph or update a previously built snapshot.\nWire decoding, tmux's field normalization and transport limits apply to live\nacquisition. Synthetic values can exercise cases a live capture cannot produce.\n\n`SnapshotOrigin` distinguishes `DefinedOffline` from `AcquiredFromTmux`.\nOffline snapshots have no acquisition interval. Neither provenance nor an\nopaque reference proves that a tmux target is currently alive.\n\nThe [installed consumer check](../scripts/check_sdist.py) compiles this source\nagainst the archived public package and asserts its output. The Hspec cases\nexercise namespace separation and invalid graphs without a daemon. See\n[capture and recovery](capture.md) for observations acquired from tmux.\n" }, { "path": "docs/values.md", - "content": "# Typed tmux values\n\n[Run the complete example](../examples/typed-values/Main.hs) from a checkout:\n\n```console\n$ cabal run --verbose=0 typed-values\n```\n\nProgram output:\n\n\n```text\n(\"3.3a\",\"@17\",120)\n```\n\nThe program parses supplied text and constructs values. Its only `IO` prints\nthe result; it neither inspects an installed tmux binary nor contacts a server.\n\n## IDs and indices describe different things\n\n[`SessionId`](../src/LibTmux/Id.hs), [`WindowId`](../src/LibTmux/Id.hs) and [`PaneId`](../src/LibTmux/Id.hs) are distinct types. Their parsers require\nthe corresponding `$`, `@` or `%` prefix, canonical decimal spelling and the\nnative unsigned 32-bit range. Leading zeroes and whitespace are rejected.\nUse the rendering functions when producing external target text.\n\nAn ID alone carries no endpoint or server lifetime. Parsing `@17` does not\nprove that a window exists. The ID API does not yet provide generation-bound\nreferences for external operations.\n\n[`WindowIndex`](../src/LibTmux/Value.hs) identifies a window link's position within a session.\n[`PaneIndex`](../src/LibTmux/Value.hs) identifies a pane's position within its window. Neither is an\nentity ID. A physical window may have several links, including multiple\nindices in the same session.\n\n## Validate values where they enter the program\n\nConstructors return `Either`: dimensions must be positive; indices must be\nnonnegative. Their numeric accessors return `Integer`, so reading a value\ndoes not narrow it to a machine-sized integer.\n\n[`mkDimension`](../src/LibTmux/Value.hs) checks the mathematical domain. A particular tmux command can\nimpose a smaller numeric range; successful construction does not establish\nthat command's capability or maximum.\n\n## Release admission has a limited meaning\n\n[`parseVersion`](../src/LibTmux/Version.hs) accepts stable releases and the output format of `tmux -V`,\nincluding one final LF. Development versions and trailing data are rejected.\n[`requireSupported`](../src/LibTmux/Version.hs) admits the inclusive range from\ntmux 3.3a through 3.8. Intermediate releases are supported; CI tests the endpoints.\n\nThese functions validate the supplied release identity. They do not inspect\nthe host or qualify all features of that release. See\n[implementation status](status.md) for the boundary between the exposed\npackage and the transport work.\n\nThe [API guide](api.md) links the public modules and their error types.\n" + "content": "# Typed tmux values\n\n[Run the complete example](../examples/typed-values/Main.hs) from a checkout:\n\n```console\n$ cabal run --verbose=0 typed-values\n```\n\nThe complete program uses only pure domain constructors before printing:\n\n\n```haskell\n{-# LANGUAGE OverloadedStrings #-}\n\n-- | Construct tmux domain values without starting a process\n-- or contacting a server.\nmodule Main (main) where\n\nimport LibTmux.Id (parseWindowId, renderWindowId)\nimport LibTmux.Value (dimensionValue, mkDimension)\nimport LibTmux.Version (parseVersion, renderVersion, requireSupported)\n\nmain :: IO ()\nmain = do\n version <- either (fail . show) pure $\n parseVersion \"tmux 3.3a\\n\" >>= requireSupported\n window <- either (fail . show) pure (parseWindowId \"@17\")\n width <- either (fail . show) pure (mkDimension 120)\n print (renderVersion version, renderWindowId window, dimensionValue width)\n```\n\nProgram output:\n\n\n```text\n(\"3.3a\",\"@17\",120)\n```\n\nThe program parses supplied text and constructs values. Its only `IO` prints\nthe result; it neither inspects an installed tmux binary nor contacts a server.\n\n## IDs and indices describe different things\n\n[`SessionId`](../src/LibTmux/Id.hs), [`WindowId`](../src/LibTmux/Id.hs) and [`PaneId`](../src/LibTmux/Id.hs) are distinct types. Their parsers require\nthe corresponding `$`, `@` or `%` prefix, canonical decimal spelling and the\nnative unsigned 32-bit range. Leading zeroes and whitespace are rejected.\nUse the rendering functions when producing external target text.\n\nAn ID alone carries no endpoint or server lifetime. Parsing `@17` does not\nprove that a window exists. Generation-bound references come from a validated\n[snapshot](capture.md), where lookups retain the Server adoption's identity.\n\n[`WindowIndex`](../src/LibTmux/Value.hs) identifies a window link's position within a session.\n[`PaneIndex`](../src/LibTmux/Value.hs) identifies a pane's position within its window. Neither is an\nentity ID. A physical window may have several links, including multiple\nindices in the same session.\n\n## Validate values where they enter the program\n\nConstructors return `Either`: dimensions must be positive; indices must be\nnonnegative. Their numeric accessors return `Integer`, so reading a value\ndoes not narrow it to a machine-sized integer.\n\n[`mkDimension`](../src/LibTmux/Value.hs) checks the mathematical domain. A particular tmux command can\nimpose a smaller numeric range; successful construction does not establish\nthat command's capability or maximum.\n\n## Release admission has a limited meaning\n\n[`parseVersion`](../src/LibTmux/Version.hs) accepts stable releases and the output format of `tmux -V`,\nincluding one final LF. Development versions and trailing data are rejected.\n[`requireSupported`](../src/LibTmux/Version.hs) admits the inclusive range from\ntmux 3.3a through 3.8. Intermediate releases are supported; CI tests the endpoints.\n\nThese functions validate the supplied release identity. They do not inspect\nthe host or qualify all features of that release. See\n[implementation status](status.md) for the boundary between the exposed\npackage and the transport work.\n\nThe [API guide](api.md) links the public modules and their error types.\n" + }, + { + "path": "docs/performance.md", + "content": "# Measure capture cost\n\nThe capture benchmark measures the public `capture` operation, including\nresponse decoding, graph validation, stored indexes and forcing owned values.\nEndpoint adoption, fixture construction, derived occurrence counting and\nteardown stay outside that timing. Each sample uses the default two-second\ncapture timeout.\n\nBuild the optional benchmark after provisioning the selected Haskell tools\nand dependencies:\n\n```console\n$ cabal build bench:capture --offline\n```\n\nRun the three workloads against a selected tmux binary. The output directory\nmust be new; it receives raw CSV samples, host context and a JSON summary:\n\n```console\n$ python3 bench/capture.py \\\n --tmux \"$(command -v tmux)\" \\\n --output .cache/capture-benchmark\n```\n\nRepeat `--tmux` to compare binaries in one sweep. The reference run uses the\nsupport endpoints, 3.3a and 3.8. Benchmarks form a separate tier and do not run\nin routine test loops or add intermediate releases to CI.\n\nThe [Haskell harness](../bench/Capture.hs) uses the public interface.\nThe [fixture driver](../bench/capture.py) owns a foreground daemon and tracks\nevery created pane with a pidfd. It verifies graph cardinalities and observes\nowned exits before accepting a result. Medium and large cases link three\nphysical windows across sessions; every case also retains two appearances\nof the initial window.\n\n## Reference run\n\nThe [recorded samples](../bench/results/capture-2026-11-08.json) were measured\non 2026-11-08 with GHC 9.14.1, Cabal 3.18.2.0, the library's default `-O1`\nbuild and one RTS capability. The shared Linux host used a four-core CPU quota\nand an 8 GiB process-group memory limit. Setup and teardown completed for all\nsix cases.\n\n| tmux | Sessions | Physical windows | Physical panes | Median capture | Maximum capture |\n| --- | ---: | ---: | ---: | ---: | ---: |\n| 3.3a | 1 | 3 | 6 | 3.1 ms | 5.5 ms |\n| 3.3a | 5 | 25 | 75 | 10.5 ms | 12.3 ms |\n| 3.3a | 15 | 80 | 250 | 41.4 ms | 49.7 ms |\n| 3.8 | 1 | 3 | 6 | 4.7 ms | 5.2 ms |\n| 3.8 | 5 | 25 | 75 | 11.7 ms | 12.8 ms |\n| 3.8 | 15 | 80 | 250 | 28.3 ms | 29.8 ms |\n\nEach row contains five samples, including the first capture in its Server\nscope. Values are rounded up to a tenth of a millisecond. The JSON retains\nexact elapsed and acquisition-interval nanoseconds, Haskell process CPU time,\ncardinalities, source identities and host load. Haskell CPU time excludes\nthe daemon and command-client processes.\n\nThese measurements qualify the stated fixtures on this host. Allocations,\nconcurrent captures, active selection or geometry changes, long fields,\ncancellation latency and other hosts remain separate qualification work.\nUse the raw samples when comparing a change; a successful small sweep does\nnot establish a service-level latency guarantee.\n" }, { "path": "docs/api.md", - "content": "# API documentation\n\nThe public modules are:\n\n| Module | Read it for |\n| --- | --- |\n| [LibTmux.Id](../src/LibTmux/Id.hs) | Distinct entity IDs, canonical parsing, rendering and `IdError` |\n| [LibTmux.Value](../src/LibTmux/Value.hs) | Checked dimensions/indices, numeric access and `ValueError` |\n| [LibTmux.Version](../src/LibTmux/Version.hs) | Stable-release identity, admission and `VersionError` |\n\nBuild the native Haddock browser from a checkout:\n\n```console\n$ cabal haddock lib:libtmux-haskell\n```\n\nOpen the `index.html` path printed by Cabal. Module overviews explain the\ntypes; declaration documentation specifies input domains, results and\nerrors. The project enables declaration-to-source links, interactive symbol\nsearch and a Hoogle index for this package. The current public functions are\npure: no field access or parser starts a tmux process.\n\nHaddock 2.33.0 generates some derived-instance method self-links without\ntargets. Follow the instance's class link for its method contract. Package\ndeclaration links, symbol search and declaration-to-source navigation have\nbeen checked separately.\n\nThe complete [typed-value example](../examples/typed-values/Main.hs) uses\nonly these exports. Its source and output are checked against the source\narchive by the [consumer check](../scripts/check_sdist.py).\n\nPrivate graph, framing and transport modules are implementation details.\nThey do not constitute an available client API; see [status](status.md).\n" + "content": "# API documentation\n\nThe public modules are:\n\n| Module | Read it for |\n| --- | --- |\n| [LibTmux](../src/LibTmux.hs) | Common observation, Server and scalar entry point |\n| [LibTmux.Server](../src/LibTmux/Server.hs) | Operational scope, configuration, capture, failures and recovery |\n| [LibTmux.Snapshot](../src/LibTmux/Snapshot.hs) | Detached entities, typed references, collections and indexed navigation |\n| [LibTmux.Snapshot.Fixture](../src/LibTmux/Snapshot/Fixture.hs) | Pure fixture construction and graph validation |\n| [LibTmux.Id](../src/LibTmux/Id.hs) | Distinct entity IDs, canonical parsing, rendering and `IdError` |\n| [LibTmux.Value](../src/LibTmux/Value.hs) | Checked dimensions/indices, numeric access and `ValueError` |\n| [LibTmux.Version](../src/LibTmux/Version.hs) | Stable-release identity, admission and `VersionError` |\n| [LibTmux.Query](../src/LibTmux/Query.hs) | Pure typed predicates, ordering, requirements, cardinality and explicit fresh fetch |\n| [LibTmux.Query.Pane](../src/LibTmux/Query/Pane.hs) | Physical pane fields and window relationship |\n| [LibTmux.Query.Session](../src/LibTmux/Query/Session.hs) | Session fields, window links and attached clients |\n| [LibTmux.Query.Window](../src/LibTmux/Query/Window.hs) | Physical window fields, panes and contextual appearances |\n| [LibTmux.Query.Link](../src/LibTmux/Query/Link.hs) | Session/index context and navigation to physical entities |\n| [LibTmux.Query.Occurrence](../src/LibTmux/Query/Occurrence.hs) | Pane and link of a contextual appearance |\n| [LibTmux.Query.Client](../src/LibTmux/Query/Client.hs) | Captured client fields and optional attachment |\n| [LibTmux.Query.ClientAttachment](../src/LibTmux/Query/ClientAttachment.hs) | A client's selected session, window and contextual pane |\n| [LibTmux.Query.ServerInfo](../src/LibTmux/Query/ServerInfo.hs) | Captured daemon metadata fields |\n\nImport query sources and field modules qualified, as the [query program](query.md)\ndoes. The common `LibTmux` module keeps snapshot collection access separate\nfrom query descriptions.\n\nBuild the native Haddock browser from a checkout:\n\n```console\n$ cabal haddock lib:libtmux-haskell --offline\n```\n\nPrepare a separate browser copy with checked local navigation:\n\n```console\n$ python3 scripts/prepare_haddock.py \\\n dist-newstyle/haddock-prepared \\\n --build-plan dist-newstyle/cache/plan.json\n```\n\nThe destination must be new; choose another directory or remove your previous\ngenerated copy before preparing it again. The command selects the configured\nlibrary from Cabal's plan and leaves Cabal's original output untouched.\n\nServe the copy over HTTP so Quick Jump can load its search index:\n\n```console\n$ python3 -m http.server 8000 \\\n --bind 127.0.0.1 \\\n --directory dist-newstyle/haddock-prepared\n```\n\nOpen [the local API browser](http://127.0.0.1:8000/).\nModule overviews explain the types; declarations specify input domains, results and\nerrors. The project enables declaration-to-source links, interactive symbol\nsearch and a Hoogle index for this package. Acquisition and recovery are\nexplicit `IO`; field access, list processing, parsers and navigation are pure.\nRecord fields use\n[`OverloadedRecordDot`](https://downloads.haskell.org/ghc/9.14.1/docs/users_guide/exts/overloaded_record_dot.html);\nthe library does not generate\ntop-level selector functions. Detached record constructors support patterns\nand local updates. Snapshot assembly and targeting references remain opaque.\nFor an ambiguous record update, qualify the field through its defining module.\nFor example, import `LibTmux.Server` as `Server` and update `Server.socketPath`;\nthis identifies the field owner without deprecated type-directed disambiguation.\n\nThe copy repairs navigation in Haddock 2.33.0's output: repeated record labels have\ndistinct owner-qualified anchors, and instance methods have local targets.\nA name-only field link offers its record owners; a source identifier on\nseveral lines offers those lines. Missing hidden-module instance attributions\nretain their text and valid Source links. No private API page is added.\nIn the default theme, long module headings wrap and wide constructor,\ninstance and symbol-index sections scroll within the page on narrow screens.\nSource listings use the mobile viewport and keep horizontal scrolling inside\na keyboard-focusable code region. Type annotations remain visible outside\nthe scrolling region and stay within the viewport. Native annotation behavior\nremains available without the source enhancement. Source text and identifier\ntargets retain their native contents.\n\n`navigation.json` records raw and prepared file digests and edit counts.\nThe check rejects missing local targets, browser assets and unexpected duplicate\nIDs, including index and search links. It preserves signatures, instances, source text and\ncompiled interfaces. It does not verify external dependency URLs, prove that\nan arbitrary raw directory is fresh, or publish anything. CI builds from its\nchecked-out source and retains the raw and prepared artifacts separately.\n\nThe complete [capture example](../examples/capture-graph/Main.hs),\n[shared Runtime example](../examples/shared-runtime/Main.hs),\n[typed query example](../examples/query-graph/Main.hs) and\n[typed-value example](../examples/typed-values/Main.hs) use only public\nexports. Their source and output are checked against the source archive by\nthe [consumer check](../scripts/check_sdist.py).\n\nPrivate graph, framing and transport modules are implementation details.\nThe source layout does not define visibility: Cabal's `exposed-modules`\ncontrols the installed API. See [status](status.md) for remaining work.\n" }, { "path": "docs/status.md", - "content": "# Implementation status\n\nUse the current package for typed input values. The public library cannot\nyet observe or mutate a tmux server.\n\n| Component | Available to consumers |\n| --- | --- |\n| Entity ID parsing/rendering | Yes, through `LibTmux.Id` |\n| Checked dimensions and indices | Yes, through `LibTmux.Value` |\n| Stable-release parsing and supported-range admission | Yes, through `LibTmux.Version` |\n| Client, complete captures and generation-bound references | In progress |\n| Typed query evaluation and commands | Not implemented |\n| Control events, streams and cancellation API | Not implemented |\n| Workspace library/CLI | Planned as a separate Cabal package using the core |\n| MCP integration | Excluded from this port |\n\nThe internal graph, socket pin and process owner have separate tests. Their passing results do not establish a public automation interface.\nThe [behavior inventory](contracts/README.md) records the intended scope.\n\n## Package policy\n\nThe core favors GHC boot libraries and ordinary `IO`. Additional dependencies\nneed a concrete requirement; JSON/YAML loading and command-line concerns\nbelong in the workspace package. MCP is outside this port's scope. See the\n[package and dependency policy](../.github/CONTRIBUTING.md#package-and-dependency-policy).\n\n## Compatibility evidence\n\nCI uses GHC 9.14.1, GHC2024 and Cabal 3.18.2.0 on Linux x86_64. Its current\nintegration subset exercises owned fixtures, scalar framing, private socket\npins and process ownership with one and two RTS capabilities on exact tmux\nreleases 3.3a and 3.8. The supported range includes all intermediate releases;\nCI tests its endpoints.\n\nThe [workflow](../.github/workflows/ci.yml) and\n[test guide](../.github/TESTING.md) describe those checks. This is evidence\nfor the implemented subset, not complete tmux API compatibility.\n\nNo package-performance benchmark results are published. Test and private\nprobe durations do not measure an installed public transport.\n" + "content": "# Implementation status\n\nUse the current source for detached observations and typed input values.\nThe package is unpublished. Public mutation commands are not implemented.\n\n| Component | Available to consumers |\n| --- | --- |\n| Entity ID parsing/rendering | Yes, through `LibTmux.Id` |\n| Checked dimensions and indices | Yes, through `LibTmux.Value` |\n| Stable-release parsing and supported-range admission | Yes, through `LibTmux.Version` |\n| Server, complete captures and generation-bound references | Implemented through `LibTmux.Server` and `LibTmux.Snapshot` |\n| Bounded scope cleanup and correlated recovery | Implemented; keep exception context when catching failures |\n| Validated offline fixtures | Implemented through `LibTmux.Snapshot.Fixture` |\n| Shared Runtime ownership | Implemented through `withRuntime` and `withServerIn`; see [the complete program](shared-runtime.md) |\n| Typed predicates, relationships, ordering and cardinality | Implemented through `LibTmux.Query`; see [the complete program](query.md) |\n| Mutation commands, query interchange and backend optimization | Not implemented |\n| Control events, streams and cancellation API | Not implemented |\n| Workspace library/CLI | Planned as a separate Cabal package using the core |\n| MCP integration | Excluded from this port |\n\nThe [capture program](../examples/capture-graph/Main.hs) exercises the public\ninterface. Mutation, interchange, event and workspace contracts remain separate\nqualification work.\nThe [behavior inventory](contracts/README.md) records the intended scope.\n\n## Package policy\n\nThe core favors GHC boot libraries and ordinary `IO`. Additional dependencies\nneed a concrete requirement; JSON/YAML loading and command-line concerns\nbelong in the workspace package. MCP is outside this port's scope. See the\n[package and dependency policy](../.github/CONTRIBUTING.md#package-and-dependency-policy).\n\n## Compatibility evidence\n\nCI uses the [recorded toolchain](../.tool-versions) on Linux x86_64. Its current\nintegration subset exercises owned fixtures, scalar framing, private socket\npins, public capture, scope recovery and process ownership with one and two\nRTS capabilities on exact tmux\nreleases 3.3a and 3.8. The supported range includes all intermediate releases;\nCI tests its endpoints.\n\nThe [workflow](../.github/workflows/ci.yml) and\n[test guide](../.github/TESTING.md) describe those checks. This is evidence\nfor the implemented subset, not complete tmux API compatibility.\n\nA [capture baseline](performance.md) records small, medium and large owned\ngraphs on both tmux endpoints. It measures the public API with raw samples\nand host context. Allocation, concurrency and cancellation-latency\nqualification remain open.\n" } ] } diff --git a/site/src/data/tmux-usage/haskell.json b/site/src/data/tmux-usage/haskell.json index af0f90f8f..2b1f70173 100644 --- a/site/src/data/tmux-usage/haskell.json +++ b/site/src/data/tmux-usage/haskell.json @@ -94,7 +94,145 @@ ], "port": "haskell", "repo": "libtmux/libtmux-haskell", - "revision": "581f0ee45016ffb2283366bb1edc1658df26c5ed", + "revision": "fb86b60139795746e8964643a4f048fcd8a63d14", "schemaVersion": 1, - "symbols": {} + "symbols": { + "LibTmux.Query#v:fetch": [ + { + "command": "display-message", + "evidence": [ + "cbits/process.c:125", + "internal/LibTmux/Internal/Process/Native.hs:30", + "internal/LibTmux/Internal/Process/Native.hs:100", + "internal/LibTmux/Internal/Process.hs:92", + "internal/LibTmux/Internal/Process.hs:192", + "internal/LibTmux/Internal/Runtime.hs:719", + "internal/LibTmux/Internal/Runtime.hs:636", + "internal/LibTmux/Internal/Runtime.hs:680", + "internal/LibTmux/Internal/Runtime.hs:593", + "internal/LibTmux/Internal/Runtime.hs:576", + "internal/LibTmux/Internal/Capture.hs:86", + "internal/LibTmux/Internal/Capture.hs:79", + "src/LibTmux/Server.hs:160", + "internal/LibTmux/Internal/Record.hs:106", + "src/LibTmux/Query.hs:82" + ], + "reviewed": true, + "scope": null + }, + { + "command": "if-shell", + "evidence": [ + "cbits/process.c:125", + "internal/LibTmux/Internal/Process/Native.hs:30", + "internal/LibTmux/Internal/Process/Native.hs:100", + "internal/LibTmux/Internal/Process.hs:92", + "internal/LibTmux/Internal/Process.hs:192", + "internal/LibTmux/Internal/Runtime.hs:719", + "internal/LibTmux/Internal/Runtime.hs:636", + "internal/LibTmux/Internal/Runtime.hs:680", + "internal/LibTmux/Internal/Runtime.hs:593", + "internal/LibTmux/Internal/Runtime.hs:576", + "internal/LibTmux/Internal/Capture.hs:86", + "internal/LibTmux/Internal/Capture.hs:79", + "src/LibTmux/Server.hs:160", + "internal/LibTmux/Internal/Record.hs:108", + "src/LibTmux/Query.hs:82" + ], + "reviewed": true, + "scope": null + }, + { + "command": "list-clients", + "evidence": [ + "cbits/process.c:125", + "internal/LibTmux/Internal/Process/Native.hs:30", + "internal/LibTmux/Internal/Process/Native.hs:100", + "internal/LibTmux/Internal/Process.hs:92", + "internal/LibTmux/Internal/Process.hs:192", + "internal/LibTmux/Internal/Runtime.hs:719", + "internal/LibTmux/Internal/Runtime.hs:636", + "internal/LibTmux/Internal/Runtime.hs:680", + "internal/LibTmux/Internal/Runtime.hs:593", + "internal/LibTmux/Internal/Runtime.hs:576", + "internal/LibTmux/Internal/Capture.hs:86", + "internal/LibTmux/Internal/Capture.hs:79", + "src/LibTmux/Server.hs:160", + "internal/LibTmux/Internal/Record.hs:116", + "internal/LibTmux/Internal/Record.hs:108", + "src/LibTmux/Query.hs:82" + ], + "reviewed": true, + "scope": null, + "when": "when the server has sessions" + } + ], + "LibTmux.Server#v:capture": [ + { + "command": "display-message", + "evidence": [ + "cbits/process.c:125", + "internal/LibTmux/Internal/Process/Native.hs:30", + "internal/LibTmux/Internal/Process/Native.hs:100", + "internal/LibTmux/Internal/Process.hs:92", + "internal/LibTmux/Internal/Process.hs:192", + "internal/LibTmux/Internal/Runtime.hs:719", + "internal/LibTmux/Internal/Runtime.hs:636", + "internal/LibTmux/Internal/Runtime.hs:680", + "internal/LibTmux/Internal/Runtime.hs:593", + "internal/LibTmux/Internal/Runtime.hs:576", + "internal/LibTmux/Internal/Capture.hs:86", + "internal/LibTmux/Internal/Capture.hs:79", + "src/LibTmux/Server.hs:160", + "internal/LibTmux/Internal/Record.hs:106" + ], + "reviewed": true, + "scope": null + }, + { + "command": "if-shell", + "evidence": [ + "cbits/process.c:125", + "internal/LibTmux/Internal/Process/Native.hs:30", + "internal/LibTmux/Internal/Process/Native.hs:100", + "internal/LibTmux/Internal/Process.hs:92", + "internal/LibTmux/Internal/Process.hs:192", + "internal/LibTmux/Internal/Runtime.hs:719", + "internal/LibTmux/Internal/Runtime.hs:636", + "internal/LibTmux/Internal/Runtime.hs:680", + "internal/LibTmux/Internal/Runtime.hs:593", + "internal/LibTmux/Internal/Runtime.hs:576", + "internal/LibTmux/Internal/Capture.hs:86", + "internal/LibTmux/Internal/Capture.hs:79", + "src/LibTmux/Server.hs:160", + "internal/LibTmux/Internal/Record.hs:108" + ], + "reviewed": true, + "scope": null + }, + { + "command": "list-clients", + "evidence": [ + "cbits/process.c:125", + "internal/LibTmux/Internal/Process/Native.hs:30", + "internal/LibTmux/Internal/Process/Native.hs:100", + "internal/LibTmux/Internal/Process.hs:92", + "internal/LibTmux/Internal/Process.hs:192", + "internal/LibTmux/Internal/Runtime.hs:719", + "internal/LibTmux/Internal/Runtime.hs:636", + "internal/LibTmux/Internal/Runtime.hs:680", + "internal/LibTmux/Internal/Runtime.hs:593", + "internal/LibTmux/Internal/Runtime.hs:576", + "internal/LibTmux/Internal/Capture.hs:86", + "internal/LibTmux/Internal/Capture.hs:79", + "src/LibTmux/Server.hs:160", + "internal/LibTmux/Internal/Record.hs:116", + "internal/LibTmux/Internal/Record.hs:108" + ], + "reviewed": true, + "scope": null, + "when": "when the server has sessions" + } + ] + } } diff --git a/site/src/lib/code-layout.ts b/site/src/lib/code-layout.ts index 148be321a..129ba1ae9 100644 --- a/site/src/lib/code-layout.ts +++ b/site/src/lib/code-layout.ts @@ -316,19 +316,9 @@ export function supportsCSignatures(symbol: ApiSymbol, language?: string): boole /** Prepare one layout per overload for both HTML and the Markdown twin. */ export async function apiSignatureLayouts(symbol: ApiSymbol, language?: string): Promise> { if (language === 'haskell') { - return new Map(await Promise.all(symbol.signatures.map(async (signature) => { - if (!signature.raw || !signature.nativeSpans?.length || signature.nativeSpans.map((span) => span.text).join('') !== signature.raw) { - throw new Error(`Unavailable native Haskell header: ${symbol.id}`) - } - let spans = signature.nativeSpans - if ((await codeWidthFailures(signature.raw, 'api')).length) { - // The qualified profile needs only a continuation before the type separator. - const separator = spans.findIndex((span) => !span.href && !span.target && !span.declaration && span.text.includes(' :: ')) - spans = spans.map((span, i) => i === separator ? { ...span, text: span.text.replace(' :: ', '\n :: ') } : span) - } - const text = spans.map((span) => span.text).join('') - return [signature, { text, nativeSpans: spans, limit: CODE_COLUMNS.api, failures: await codeWidthFailures(text, 'api') }] as const - }))) + const { haskellSignatureLayout } = await import('./haskell-code-layout.ts') + return new Map(await Promise.all(symbol.signatures.map(async (signature) => + [signature, await haskellSignatureLayout(symbol, signature)] as const))) } if (language === 'perl' && symbol.signatures.length) { return new Map(await Promise.all(symbol.signatures.map(async (signature) => { diff --git a/site/src/lib/haskell-code-layout.ts b/site/src/lib/haskell-code-layout.ts new file mode 100644 index 000000000..016d5c1f2 --- /dev/null +++ b/site/src/lib/haskell-code-layout.ts @@ -0,0 +1,50 @@ +import type { ApiSymbol, Signature } from '@libtmux/api-model' +import { CODE_COLUMNS, codeWidthFailures, type CodeLayout } from './code-layout.ts' + +/** Continue native type signatures without changing declarations, literals or links. */ +export async function haskellSignatureLayout(symbol: ApiSymbol, signature: Signature): Promise { + if (!signature.raw || !signature.nativeSpans?.length || signature.nativeSpans.map((span) => span.text).join('') !== signature.raw) { + throw new Error(`Unavailable native Haskell header: ${symbol.id}`) + } + let spans = signature.nativeSpans + let text = signature.raw + let failures = await codeWidthFailures(text, 'api') + if (failures.length && text.startsWith(`${symbol.name} :: `)) { + const separator = spans.findIndex((span) => !span.href && !span.target && !span.declaration && span.text.includes(' :: ')) + spans = spans.map((span, i) => i === separator ? { ...span, text: span.text.replace(' :: ', '\n :: ') } : span) + text = spans.map((span) => span.text).join('') + failures = await codeWidthFailures(text, 'api') + } + if (failures.length) { + let depth = 0 + let quote: '"' | "'" | undefined + let escaped = false + spans = spans.map((span) => { + let continued = '' + const punctuation = !span.href && !span.target && !span.declaration + for (let i = 0; i < span.text.length; i++) { + const character = span.text[i]! + if (quote) { + continued += character + if (escaped) escaped = false + else if (character === '\\') escaped = true + else if (character === quote) quote = undefined + continue + } + if (character === '"' || (character === "'" && (span.text[i + 1] === '\\' || span.text[i + 2] === "'"))) { + quote = character + } else if (punctuation && depth === 0 && span.text.startsWith(' -> ', i)) { + continued += '\n -> ' + i += 3 + continue + } else if ('([{'.includes(character)) depth++ + else if (')]}'.includes(character)) depth-- + continued += character + } + return { ...span, text: continued } + }) + text = spans.map((span) => span.text).join('') + failures = await codeWidthFailures(text, 'api') + } + return { text, nativeSpans: spans, limit: CODE_COLUMNS.api, failures } +} diff --git a/site/src/lib/port-documentation.ts b/site/src/lib/port-documentation.ts index e156989b6..5c2a319d9 100644 --- a/site/src/lib/port-documentation.ts +++ b/site/src/lib/port-documentation.ts @@ -94,19 +94,24 @@ const PORT_DOCUMENTATION: Readonly> = { }, haskell: { domains: [ - libraryDomain('Parse tmux IDs, validate values and check stable releases with pure Haskell functions.'), + libraryDomain('Capture tmux state, query detached observations and build validated offline fixtures.'), { id: 'workspace', label: 'Workspace Manager', kind: 'unavailable', navGroup: 'Availability', route: 'workspace', product: 'workspace', description: 'The workspace library and CLI are planned as a separate Cabal package using the core.' }, { id: 'mcp', label: 'MCP', kind: 'unavailable', navGroup: 'Availability', route: 'mcp', product: 'mcp', description: 'MCP is excluded from this port.' }, ], - sections: { guides: 'Install the source package, run the public values example, and understand the available API.' }, + sections: { guides: 'Install the source package, capture and navigate a server, and test with offline observations.' }, sourceGuides: [ guide('docs/README.md', 'guides/getting-started', 'core', { title: 'Getting started', sidebar: { group: 'Guides', order: 1 } }), guide('docs/installation.md', 'guides/installation', 'core', { title: 'Installation', sidebar: { group: 'Guides', order: 2 } }), - guide('docs/values.md', 'guides/typed-values', 'core', { title: 'Typed values', sidebar: { group: 'Guides', order: 3 } }), - guide('docs/api.md', 'guides/api-documentation', 'core', { title: 'API documentation', sidebar: { group: 'Guides', order: 4 } }), - guide('docs/status.md', 'guides/status', 'core', { title: 'Implementation status', sidebar: { group: 'Guides', order: 5 } }), + guide('docs/capture.md', 'guides/capture', 'core', { title: 'Capture and navigate', sidebar: { group: 'Guides', order: 3 } }), + guide('docs/query.md', 'guides/query', 'core', { title: 'Typed queries', sidebar: { group: 'Guides', order: 4 } }), + guide('docs/shared-runtime.md', 'guides/shared-runtime', 'core', { title: 'Shared Runtime scopes', sidebar: { group: 'Guides', order: 5 } }), + guide('docs/fixtures.md', 'guides/offline-fixtures', 'core', { title: 'Offline fixtures', sidebar: { group: 'Guides', order: 6 } }), + guide('docs/values.md', 'guides/typed-values', 'core', { title: 'Typed values', sidebar: { group: 'Guides', order: 7 } }), + guide('docs/performance.md', 'guides/performance', 'core', { title: 'Capture performance', sidebar: { group: 'Guides', order: 8 } }), + guide('docs/api.md', 'guides/api-documentation', 'core', { title: 'API documentation', sidebar: { group: 'Guides', order: 9 } }), + guide('docs/status.md', 'guides/status', 'core', { title: 'Implementation status', sidebar: { group: 'Guides', order: 10 } }), ], }, perl: { diff --git a/site/src/lib/port-inventory.ts b/site/src/lib/port-inventory.ts index 305eed568..b5d7fe18d 100644 --- a/site/src/lib/port-inventory.ts +++ b/site/src/lib/port-inventory.ts @@ -400,7 +400,7 @@ export const INVENTORY: Readonly> = { ], haskell: [ haskell({ id: 'libtmux-haskell', kind: 'library', product: 'core', unit: 'Cabal package', label: 'libtmux-haskell', path: 'src', - aliases: ['LibTmux.Id', 'LibTmux.Value', 'LibTmux.Version'], note: 'Available from source; not published on Hackage.', + aliases: ['LibTmux', 'LibTmux.Server', 'LibTmux.Snapshot', 'LibTmux.Query', 'LibTmux.Snapshot.Fixture', 'LibTmux.Id', 'LibTmux.Value', 'LibTmux.Version'], note: 'Available from source; not published on Hackage.', unavailable: [{ kind: 'package', host: 'Hackage', url: 'https://hackage.haskell.org/package/libtmux-haskell', reason: 'not published' }] }), haskell({ id: 'repository', kind: 'source', product: 'core', label: 'libtmux-haskell', coordinate: 'libtmux/libtmux-haskell' }), haskell({ id: 'libtmux-haskell-workspace', kind: 'companion', product: 'workspace', label: 'libtmux-haskell-workspace', status: 'planned', diff --git a/site/src/lib/ports.ts b/site/src/lib/ports.ts index b22f0f83c..9c011a73d 100644 --- a/site/src/lib/ports.ts +++ b/site/src/lib/ports.ts @@ -754,11 +754,11 @@ const CORE_PORTS: readonly Port[] = [ generator: 'Configured Haddock public interfaces', publishesOwnTree: true, productAvailability: { workspace: 'unpublished', mcp: 'excluded' }, - packages: [{ id: 'core', name: 'libtmux-haskell', source: { path: 'src', ref: 'master' }, require: 'LibTmux.Id' }], + packages: [{ id: 'core', name: 'libtmux-haskell', source: { path: 'src', ref: 'master' }, require: 'LibTmux' }], installs: [{ label: 'Cabal', lang: 'text', filename: 'cabal.project', code: 'packages: .\n\nsource-repository-package\n type: git\n location: https://github.com/libtmux/libtmux-haskell\n tag: {revision}', - note: 'Save as cabal.project and add libtmux-haskell ^>=0.1.0.0 to your component\'s build-depends. Requires Linux x86_64, GHC 9.14.1 and Cabal 3.18.2.0. The core package is available from source; it is not published on Hackage.', + note: 'Save as cabal.project and add libtmux-haskell ^>=0.1.0.0 to your component\'s build-depends. Requires Linux x86_64 with glibc 2.39+ and pidfd support. Choose GHC and Cabal versions that satisfy the package manifest. The core package is available from source; it is not published on Hackage.', }], initProject: { lang: 'console', code: 'cabal init --non-interactive --exe --language=GHC2024 --dependency="base >=4.22 && <4.23, libtmux-haskell ^>=0.1.0.0"' }, installForms: { @@ -766,7 +766,7 @@ const CORE_PORTS: readonly Port[] = [ prerelease: { lang: 'text', code: 'build-depends: libtmux-haskell =={version}' }, git: { lang: 'text', code: 'packages: .\n\nsource-repository-package\n type: git\n location: https://github.com/libtmux/libtmux-haskell\n tag: master' }, }, - installNote: 'The public API currently provides pure typed IDs, checked values and tmux-version admission. Server, capture and command APIs are under development. Workspace is planned; MCP is excluded.', + installNote: 'The pinned source exposes a scoped Server, detached snapshots, typed queries, checked values and validated offline fixtures. Public mutations, events and workspace tooling remain in development; MCP is excluded.', }, { slug: 'lisp', diff --git a/site/src/lib/prompts.ts b/site/src/lib/prompts.ts index 76754b38f..3e800fc67 100644 --- a/site/src/lib/prompts.ts +++ b/site/src/lib/prompts.ts @@ -442,7 +442,7 @@ export function portParts(args: { ctx: PromptContext }): PortParts { const { port, released, install, wording, ctx } = args - const pureValues = port.slug === 'haskell' + const observationApi = port.slug === 'haskell' const reading: (readonly [string, string])[] = [ [portUrl(ctx, port, 'llms.txt'), `every page for ${port.name}, as a list`], @@ -452,12 +452,12 @@ export function portParts(args: { if (port.ecosystemHost) { reading.push([port.ecosystemHost.url, `${port.name} reference on ${port.ecosystemHost.name}`]) } - if (pureValues) reading.push([portUrl(ctx, port, 'core/'), 'the complete public values example and Cabal files']) + if (observationApi) reading.push([portUrl(ctx, port, 'core/'), 'the complete capture/query example and Cabal files']) const setup = [ - ...(pureValues ? [ - 'The public Haskell package provides pure typed IDs, checked scalar values', - 'and tmux-version parsing. Documentation for every language', + ...(observationApi ? [ + 'The public Haskell package captures detached tmux graphs and queries', + 'their sessions, windows and panes. Documentation for every language', ] : [ 'libtmux drives a real tmux server from code. It gives you objects for the', 'server, its sessions, windows and panes. Documentation for every language', @@ -474,9 +474,9 @@ export function portParts(args: { 'and examples instead, or ask me to paste those pages in.', '', 'Set up first:', - ...(pureValues ? [ - '1. Select GHC 9.14.1 and Cabal 3.18.2.0. Report both tool versions.', - ' The public values example does not require a tmux installation.', + ...(observationApi ? [ + '1. Report `tmux -V`, `ghc --numeric-version` and `cabal --numeric-version`.', + ' Choose GHC and Cabal versions that satisfy the package manifest.', ] : [ '1. Report the tmux version with `tmux -V`. libtmux drives a real tmux, so', ' nothing below works without one. Stop and tell me if it is missing.', @@ -489,10 +489,11 @@ export function portParts(args: { ]), ' Skip this in a project that already exists, and match what is here.', installStep(port, released, install, wording), - ...(pureValues ? [ - '4. Run the complete values example linked above. Use parseWindowId and', - ' renderWindowId to check the ID round trip, handle parse errors, and', - ' verify the expected output. Show the output and the files you added.', + ...(observationApi ? [ + '4. Run the complete capture/query example with its displayed setup.', + ' Use its private demo server. Check that runQuery agrees with the', + ' native predicate, verify the expected output and cleanup, and show', + ' the output and the files you added.', ] : [ '4. Write the smallest program that proves the install works: connect to a', ' tmux server, create a session, confirm it is there, then kill it. Give', @@ -536,9 +537,9 @@ export function portParts(args: { return { setup, notes, unavailable, - ...(pureValues ? { - opening: 'Set up libtmux in this repository and verify its pure values API.', - unavailableTask: 'Client, command, streaming and workspace APIs are not exposed by the public Haskell package. Report this missing API boundary and stop; do not invent operations or use internal modules.', + ...(observationApi ? { + opening: 'Set up libtmux in this repository and verify its capture and query API.', + unavailableTask: 'Haskell exposes capture, detached graph traversal and typed queries. Mutation, event streaming and workspace APIs are not public. Report this boundary and stop; do not invent operations or use internal modules.', } : {}), } } diff --git a/site/test/api-tree.test.ts b/site/test/api-tree.test.ts index ab091d2d3..e76ec4f44 100644 --- a/site/test/api-tree.test.ts +++ b/site/test/api-tree.test.ts @@ -88,10 +88,15 @@ describe('shared reference index sections', () => { it.each(PORTS)('leads the %s index and exports with its native entry groups', (port) => { const sections = referenceIndexSections(port) if (port === 'haskell') { - expect(sections[0].id).toBe('exports:LibTmux.Id') - expect([...sections[0].types, ...sections[0].free].map((symbol) => symbol.name)).toContain('LibTmux.Id') - expect(sections.filter((section) => /^exports:LibTmux\.[^.:]+$/.test(section.id)).map((section) => section.id)) - .toEqual(['exports:LibTmux.Id', 'exports:LibTmux.Value', 'exports:LibTmux.Version']) + const modules = API_MODELS[port].symbols.filter((symbol) => symbol.kind === 'module') + const moduleSections = sections.filter((section) => [...section.types, ...section.free] + .some((symbol) => symbol.kind === 'module')) + expect(modules.length).toBeGreaterThan(0) + expect(sections[0].id).toBe(`exports:${modules[0].id}`) + expect(moduleSections.map((section) => section.id)).toEqual(modules.map((symbol) => `exports:${symbol.id}`)) + for (const [i, section] of moduleSections.entries()) { + expect([...section.types, ...section.free].map((symbol) => symbol.id)).toEqual([modules[i].id]) + } } else if (port === 'powershell') expect(sections[0].free.map((symbol) => symbol.name)) .toEqual(expect.arrayContaining(['Connect-TmuxServer', 'Get-TmuxServer', 'New-TmuxServer'])) else if (port === 'ocaml') { diff --git a/site/test/core-apis.test.ts b/site/test/core-apis.test.ts index 7c68ce7bf..614a1446a 100644 --- a/site/test/core-apis.test.ts +++ b/site/test/core-apis.test.ts @@ -8,16 +8,18 @@ import TABLE from '../src/data/core-capabilities.json' import SOURCES from '../src/data/example-sources.json' import type { CachedSource } from '../src/lib/port-landing' -const showcasePorts = Object.keys(TABLE).filter((port) => portCapabilities(port, TABLE as CapabilityTable, SOURCES as Record).length > 0) +const capabilityPorts = Object.keys(TABLE).filter((port) => portCapabilities(port, TABLE as CapabilityTable, SOURCES as Record).length > 0) +const showcasePorts = [...new Set([...capabilityPorts, + ...Object.keys(QUICKSTARTS).filter((port) => CORE_APIS[port] !== undefined)])] const programs = (port: string): Record => ({ - 'typed-graph': homeProgram(QUICKSTARTS[port]!.complete!, 'full'), + [QUICKSTARTS[port]!.complete!.capability ?? 'typed-graph']: homeProgram(QUICKSTARTS[port]!.complete!, 'full'), ...Object.fromEntries(portCapabilities(port, TABLE as CapabilityTable, SOURCES as Record).map((item) => [item.id, item.code])), }) describe('the APIs a showcase example uses', () => { it('has a list for every example the showcase shows, and none for another', () => { - // A port that gains a showcase example must list its APIs, whichever port it is. + // Capability entries require API maps; fallback quickstarts may declare their own. expect(showcasePorts).toEqual(expect.arrayContaining(['rs', 'ruby', 'go'])) for (const port of showcasePorts) expect(Object.keys(CORE_APIS[port] ?? {}).sort(), port).toEqual(Object.keys(programs(port)).sort()) expect(Object.keys(CORE_APIS).sort()).toEqual([...showcasePorts].sort()) diff --git a/site/test/core-capabilities.test.ts b/site/test/core-capabilities.test.ts index d19ad2a4d..3c55af2dc 100644 --- a/site/test/core-capabilities.test.ts +++ b/site/test/core-capabilities.test.ts @@ -288,7 +288,7 @@ jobs: }) describe('the showcase component', () => { - it('shows the pure Haskell program as typed values with one visible view and no lifecycle controls', async () => { + it('shows the real-tmux Haskell query with one complete view and public API links', async () => { const { Window } = await import('happy-dom') const { createComponent, renderTemplate } = await import('astro/runtime/server/index.js') const { loadAstroTemplate, renderAstroTemplate } = await import('./astro-templates') @@ -301,15 +301,16 @@ describe('the showcase component', () => { const source = readFileSync(new URL('../src/components/HomeExample.astro', import.meta.url), 'utf8') window.document.head.innerHTML = `` window.document.body.innerHTML = await renderAstroTemplate(template, { props: { port: 'haskell' } }) - expect(window.document.querySelector('[data-capability-panel]')?.getAttribute('data-capability-panel')).toBe('typed-values') + expect(window.document.querySelector('[data-capability-panel]')?.getAttribute('data-capability-panel')).toBe('typed-graph') const view = window.document.querySelector('[data-home-view]')! expect(view?.getAttribute('data-home-view')).toBe('full') expect(window.getComputedStyle(view).display).toBe('block') expect(window.document.querySelectorAll('[data-home-view]')).toHaveLength(1) expect(window.document.querySelector('input, [data-with-cleanup], [data-without-cleanup]')).toBeNull() - expect(window.document.querySelector('[data-core-apis]')).toBeNull() - expect(window.document.body.textContent).toContain('does not start tmux') - expect(window.document.body.textContent).not.toMatch(/Navigate tmux|private tmux server|stops its/) + expect(window.document.querySelector('[data-core-apis]')).not.toBeNull() + expect(window.document.body.textContent).toContain('private demo server') + expect(window.document.body.textContent).toContain('withServer') + expect(window.document.body.textContent).toContain('runQuery') } finally { await window.happyDOM.abort() } }) it('leads with the quickstart, then each program once, and shows a port with only the quickstart that one panel, with no list', async () => { diff --git a/site/test/core-home.test.ts b/site/test/core-home.test.ts index b593fb7df..4056fc0ba 100644 --- a/site/test/core-home.test.ts +++ b/site/test/core-home.test.ts @@ -80,7 +80,7 @@ describe('Core Library home data', () => { }) describe('Core Library home page', () => { - it('shows the Haskell public modules without claiming an operational object graph', async () => { + it('links the Haskell capture, snapshot, query and fixture modules', async () => { const { Window } = await import('happy-dom') const { createComponent, renderTemplate } = await import('astro/runtime/server/index.js') const { loadAstroTemplate, renderAstroTemplate } = await import('./astro-templates') @@ -97,14 +97,15 @@ describe('Core Library home page', () => { props: { port: 'haskell', version: 'latest', cards: [] }, }) const rows = [...window.document.querySelectorAll('[data-core-home-modules] tbody a')] - expect(rows.map((row) => row.textContent)).toEqual(['LibTmux.Id', 'LibTmux.Value', 'LibTmux.Version']) + expect(rows.map((row) => row.textContent)).toEqual(['LibTmux.Server', 'LibTmux.Snapshot', 'LibTmux.Query', 'LibTmux.Snapshot.Fixture']) const markdown = coreHomeMarkdown('haskell', 'latest', 'https://libtmux.org') for (const row of rows) expect(markdown).toContain(`https://libtmux.org${row.getAttribute('href')}`) expect(window.document.querySelector('[data-core-home-objects]')).toBeNull() expect(window.document.body.textContent).toContain('not published on Hackage') expect(window.document.body.textContent).toContain(`tag: "${sourceSha}"`) expect(window.document.body.textContent).not.toMatch(/Control tmux|Server →|connect to|Traversal from/) - expect(markdown).not.toMatch(/\| Type \| Wraps|Control tmux|navigate sessions/) + expect(markdown).not.toMatch(/\| Type \| Wraps|Control tmux/) + expect(markdown).toContain(coreLead('haskell')) expect([...window.document.querySelectorAll('h2')].map((heading) => heading.id)) .toEqual(coreHomeHeadings('haskell', 'latest').map((heading) => heading.slug)) } finally { await window.happyDOM.abort(); vi.unstubAllEnvs() } @@ -161,7 +162,7 @@ describe('the one-sentence definition', () => { for (const port of PORTS) { const entry = CORE_HOME[port.slug]! const sentence = coreDescription(port.slug) - expect(sentence.startsWith(`${coreTitle(port.slug)}. ${port.slug === 'haskell' ? 'Parse tmux entity IDs' : 'Control tmux, '}`), port.slug).toBe(true) + expect(sentence.startsWith(`${coreTitle(port.slug)}. ${entry.modules !== undefined ? entry.lead : 'Control tmux, '}`), port.slug).toBe(true) expect(sentence.includes('connect to and create servers'), `${port.slug} servers`).toBe('servers' in entry.capabilities) expect(sentence.includes('send keys'), `${port.slug} send keys`).toBe('send-keys' in entry.capabilities) expect(sentence.includes('via control mode'), `${port.slug} control mode`).toBe('control-mode' in entry.capabilities) diff --git a/site/test/fixtures/home-examples.json b/site/test/fixtures/home-examples.json index 58a8a04ea..cede6c63a 100644 --- a/site/test/fixtures/home-examples.json +++ b/site/test/fixtures/home-examples.json @@ -1571,104 +1571,109 @@ "port": "haskell", "page": "home", "sourceRepository": "libtmux/libtmux-haskell", - "sourceRevision": "581f0ee45016ffb2283366bb1edc1658df26c5ed", - "sourceTree": "d11969975cbcd0f194a35e81f1e10fc3aec1b017", - "libraryRevision": "581f0ee45016ffb2283366bb1edc1658df26c5ed", - "execution": "pure-values", + "sourceRevision": "fb86b60139795746e8964643a4f048fcd8a63d14", + "sourceTree": "991616dba69bcdd25f968d19d45aeba6ac2a7129", + "libraryRevision": "fb86b60139795746e8964643a4f048fcd8a63d14", + "execution": "owned-tmux", "files": [ { "name": "Main.hs", - "sha256": "451e2d429dc1ab4c417651806e4f0332525762a0a9a28d42579df78c67c8bbbf", - "clipboardSha256": "11472b743a9a2417415169ca6fbd80d804259972f07d24e64e9d7dab6d8b4f5a" + "sha256": "aad1e917592c39e7bfe4ffe715938f4d39bf47d8d1b4ce792b220043688c84e2", + "clipboardSha256": "aa82d0798a40fe68016e847535c0e34246b7d16a2f19eee54f080972e7f477d5" }, { - "name": "libtmux-typed-values.cabal", - "sha256": "0e72b9a095f1309846e0952f880b5e999363a8e5490a41c4530a338191951bc1", - "clipboardSha256": "24be7446179a8c3f776e5af233933df6b8aae37d488570f2c89b13104990610d" + "name": "libtmux-query-graph.cabal", + "sha256": "0190866137a206a2aa4aca656bc027ebcb59efa6e26e40a4550accd49f3164fd", + "clipboardSha256": "573084940195002cba5ad8d3bdd6d57efd1a2a8e1374654ee7624297fdf039d3" }, { "name": "cabal.project", - "sha256": "275dff397a14d3394086e2921fa5e17566025842ff86f290ba145af517b31af3", - "clipboardSha256": "27b689897a625972f3c2e03ad9318424753f331ba944664af2c0c2855d6b07e8" + "sha256": "ffef7cc02a94ce62ad714b5e9e2051205d1ae4ba331ec40dc831d03ede5da99c", + "clipboardSha256": "1fa85d4ab641714248682a6fd3038d308d8675a011c3a35ddcea613217668f38" } ], "shellRecipe": [ "cabal update", - "cabal run --verbose=0 typed-values" + "(\nLIBTMUX_DEMO_DIR=$(mktemp -d -t libtmux-haskell-demo.XXXXXX) && \\\ntrap 'tmux -N -S \"$LIBTMUX_DEMO_DIR/s\" kill-server; rm -r -- \"$LIBTMUX_DEMO_DIR\"' EXIT && \\\nenv -u TMUX -u TMUX_PANE tmux \\\n -S \"$LIBTMUX_DEMO_DIR/s\" \\\n -f /dev/null \\\n new-session \\\n -d \\\n -s demo \\\n -n editor \\\n -x 120 \\\n -y 40 \\\n /bin/cat - && \\\nenv -u TMUX -u TMUX_PANE tmux \\\n -N \\\n -S \"$LIBTMUX_DEMO_DIR/s\" \\\n link-window \\\n -s demo:0 \\\n -t demo:4 && \\\ncabal run --verbose=0 query-graph -- \\\n \"$LIBTMUX_DEMO_DIR/s\" \\\n \"$(command -v tmux)\"\n)" ], "expectedOutputs": [ [], [ - "(\"3.3a\",\"@17\",120)" + "query agrees with native predicate: True", + "unique physical pane: %0", + "contextual matches: 2", + "contextual uniqueness: AtLeastTwoMatches", + "highest link index: 4", + "sessions containing a match: 1", + "required fields: [\"pane.active\",\"pane.width\"]", + "required relationships: [\"session.windowLinks\",\"windowLink.panes\"]", + "fresh capture matches: 1" ] ], - "excerptSha256": "11472b743a9a2417415169ca6fbd80d804259972f07d24e64e9d7dab6d8b4f5a", + "excerptSha256": "aa82d0798a40fe68016e847535c0e34246b7d16a2f19eee54f080972e7f477d5", "variants": { "concise": { "files": [ { "name": "Main.hs", - "sha256": "451e2d429dc1ab4c417651806e4f0332525762a0a9a28d42579df78c67c8bbbf", - "clipboardSha256": "11472b743a9a2417415169ca6fbd80d804259972f07d24e64e9d7dab6d8b4f5a" + "sha256": "aad1e917592c39e7bfe4ffe715938f4d39bf47d8d1b4ce792b220043688c84e2", + "clipboardSha256": "aa82d0798a40fe68016e847535c0e34246b7d16a2f19eee54f080972e7f477d5" }, { - "name": "libtmux-typed-values.cabal", - "sha256": "0e72b9a095f1309846e0952f880b5e999363a8e5490a41c4530a338191951bc1", - "clipboardSha256": "24be7446179a8c3f776e5af233933df6b8aae37d488570f2c89b13104990610d" + "name": "libtmux-query-graph.cabal", + "sha256": "0190866137a206a2aa4aca656bc027ebcb59efa6e26e40a4550accd49f3164fd", + "clipboardSha256": "573084940195002cba5ad8d3bdd6d57efd1a2a8e1374654ee7624297fdf039d3" }, { "name": "cabal.project", - "sha256": "275dff397a14d3394086e2921fa5e17566025842ff86f290ba145af517b31af3", - "clipboardSha256": "27b689897a625972f3c2e03ad9318424753f331ba944664af2c0c2855d6b07e8" + "sha256": "ffef7cc02a94ce62ad714b5e9e2051205d1ae4ba331ec40dc831d03ede5da99c", + "clipboardSha256": "1fa85d4ab641714248682a6fd3038d308d8675a011c3a35ddcea613217668f38" } ], - "excerptSha256": "11472b743a9a2417415169ca6fbd80d804259972f07d24e64e9d7dab6d8b4f5a", - "execution": "pure-values", - "libraryRevision": "581f0ee45016ffb2283366bb1edc1658df26c5ed" + "excerptSha256": "aa82d0798a40fe68016e847535c0e34246b7d16a2f19eee54f080972e7f477d5", + "execution": "owned-tmux" }, "errors": { "files": [ { "name": "Main.hs", - "sha256": "451e2d429dc1ab4c417651806e4f0332525762a0a9a28d42579df78c67c8bbbf", - "clipboardSha256": "11472b743a9a2417415169ca6fbd80d804259972f07d24e64e9d7dab6d8b4f5a" + "sha256": "aad1e917592c39e7bfe4ffe715938f4d39bf47d8d1b4ce792b220043688c84e2", + "clipboardSha256": "aa82d0798a40fe68016e847535c0e34246b7d16a2f19eee54f080972e7f477d5" }, { - "name": "libtmux-typed-values.cabal", - "sha256": "0e72b9a095f1309846e0952f880b5e999363a8e5490a41c4530a338191951bc1", - "clipboardSha256": "24be7446179a8c3f776e5af233933df6b8aae37d488570f2c89b13104990610d" + "name": "libtmux-query-graph.cabal", + "sha256": "0190866137a206a2aa4aca656bc027ebcb59efa6e26e40a4550accd49f3164fd", + "clipboardSha256": "573084940195002cba5ad8d3bdd6d57efd1a2a8e1374654ee7624297fdf039d3" }, { "name": "cabal.project", - "sha256": "275dff397a14d3394086e2921fa5e17566025842ff86f290ba145af517b31af3", - "clipboardSha256": "27b689897a625972f3c2e03ad9318424753f331ba944664af2c0c2855d6b07e8" + "sha256": "ffef7cc02a94ce62ad714b5e9e2051205d1ae4ba331ec40dc831d03ede5da99c", + "clipboardSha256": "1fa85d4ab641714248682a6fd3038d308d8675a011c3a35ddcea613217668f38" } ], - "excerptSha256": "11472b743a9a2417415169ca6fbd80d804259972f07d24e64e9d7dab6d8b4f5a", - "execution": "pure-values", - "libraryRevision": "581f0ee45016ffb2283366bb1edc1658df26c5ed" + "excerptSha256": "aa82d0798a40fe68016e847535c0e34246b7d16a2f19eee54f080972e7f477d5", + "execution": "owned-tmux" }, "cleanup": { "files": [ { "name": "Main.hs", - "sha256": "451e2d429dc1ab4c417651806e4f0332525762a0a9a28d42579df78c67c8bbbf", - "clipboardSha256": "11472b743a9a2417415169ca6fbd80d804259972f07d24e64e9d7dab6d8b4f5a" + "sha256": "aad1e917592c39e7bfe4ffe715938f4d39bf47d8d1b4ce792b220043688c84e2", + "clipboardSha256": "aa82d0798a40fe68016e847535c0e34246b7d16a2f19eee54f080972e7f477d5" }, { - "name": "libtmux-typed-values.cabal", - "sha256": "0e72b9a095f1309846e0952f880b5e999363a8e5490a41c4530a338191951bc1", - "clipboardSha256": "24be7446179a8c3f776e5af233933df6b8aae37d488570f2c89b13104990610d" + "name": "libtmux-query-graph.cabal", + "sha256": "0190866137a206a2aa4aca656bc027ebcb59efa6e26e40a4550accd49f3164fd", + "clipboardSha256": "573084940195002cba5ad8d3bdd6d57efd1a2a8e1374654ee7624297fdf039d3" }, { "name": "cabal.project", - "sha256": "275dff397a14d3394086e2921fa5e17566025842ff86f290ba145af517b31af3", - "clipboardSha256": "27b689897a625972f3c2e03ad9318424753f331ba944664af2c0c2855d6b07e8" + "sha256": "ffef7cc02a94ce62ad714b5e9e2051205d1ae4ba331ec40dc831d03ede5da99c", + "clipboardSha256": "1fa85d4ab641714248682a6fd3038d308d8675a011c3a35ddcea613217668f38" } ], - "excerptSha256": "11472b743a9a2417415169ca6fbd80d804259972f07d24e64e9d7dab6d8b4f5a", - "execution": "pure-values", - "libraryRevision": "581f0ee45016ffb2283366bb1edc1658df26c5ed" + "excerptSha256": "aa82d0798a40fe68016e847535c0e34246b7d16a2f19eee54f080972e7f477d5", + "execution": "owned-tmux" } } }, diff --git a/site/test/haskell-code-layout.test.ts b/site/test/haskell-code-layout.test.ts new file mode 100644 index 000000000..43e40792e --- /dev/null +++ b/site/test/haskell-code-layout.test.ts @@ -0,0 +1,62 @@ +import { readFileSync } from 'node:fs' +import { describe, expect, it } from 'vitest' +import { extractHaskellArtifact, type ApiSymbol } from '@libtmux/api-model' +import { apiSignatureLayouts } from '../src/lib/code-layout' + +const model = extractHaskellArtifact(JSON.parse(readFileSync(new URL( + '../../packages/api-model/test/fixtures/haskell-observations-native/artifact.json', import.meta.url, +), 'utf8'))) + +describe('native Haskell type continuation layout', () => { + it.each([ + ['LibTmux.Server#v:tryTmux', 'tryTmux\n :: IO a\n -> IO (Either (ExceptionWithContext TmuxException) a)'], + ['LibTmux.Snapshot#v:linksForSession', 'linksForSession\n :: Snapshot\n -> SessionRef\n -> Either LookupError [WindowLink]'], + ['LibTmux.Snapshot.Fixture#v:validateFixture', 'validateFixture\n :: FixtureOrigin\n -> Fixture\n -> Either FixtureError Snapshot'], + ])('fits %s without changing native declarations or linked tokens', async (id, expected) => { + const symbol = model.symbols.find((entry) => entry.id === id)! + const before = structuredClone(symbol) + const signature = symbol.signatures[0] + const layout = (await apiSignatureLayouts(symbol, 'haskell')).get(signature)! + expect(layout.text).toBe(expected) + expect(layout.failures).toEqual([]) + expect(layout.text.replace(/\s+/g, ' ')).toBe(signature.raw) + const linked = (span: NonNullable[number]) => span.href || span.target || span.declaration + expect(layout.nativeSpans!.filter(linked)).toEqual(signature.nativeSpans!.filter(linked)) + expect(symbol).toEqual(before) + }) + + it('keeps callback arrows nested while continuing outer function arguments', async () => { + const tail = ' :: Config -> (Handle -> IO Value) -> IO (Either (ExceptionWithContext TmuxException) Value)' + const symbol: ApiSymbol = { id: 'fixture', name: 'withRecovery', kind: 'function', modifiers: [], source: { file: 'fixture.hs' }, + signatures: [{ raw: `withRecovery${tail}`, params: [], nativeSpans: [ + { text: 'withRecovery', declaration: true }, { text: tail }, + ] }] } + const layout = (await apiSignatureLayouts(symbol, 'haskell')).get(symbol.signatures[0])! + expect(layout.failures).toEqual([]) + expect(layout.text).toBe('withRecovery\n :: Config\n -> (Handle -> IO Value)\n -> IO (Either (ExceptionWithContext TmuxException) Value)') + }) + + it('preserves character and escaped string literals while continuing real arrows', async () => { + const tail = String.raw` :: Proxy '(' -> Proxy "left \" -> \" right" -> IO (Either (ExceptionWithContext TmuxException) Value)` + const symbol: ApiSymbol = { id: 'fixture', name: 'withLiteral', kind: 'function', modifiers: [], source: { file: 'fixture.hs' }, + signatures: [{ raw: `withLiteral${tail}`, params: [], nativeSpans: [ + { text: 'withLiteral', declaration: true }, { text: tail }, + ] }] } + const layout = (await apiSignatureLayouts(symbol, 'haskell')).get(symbol.signatures[0])! + expect(layout.failures).toEqual([]) + expect(layout.text).toContain(String.raw`Proxy "left \" -> \" right"`) + expect(layout.text).toContain("Proxy '('\n -> Proxy") + expect(layout.text.replace(/\s+/g, ' ')).toBe(symbol.signatures[0].raw) + }) + + it('keeps a constructor literal exact when it contains a type-separator spelling', async () => { + const tail = ' !(Proxy "this constructor literal contains :: and must remain byte for byte")' + const symbol: ApiSymbol = { id: 'fixture', name: 'Literal', kind: 'function', modifiers: [], source: { file: 'fixture.hs' }, + signatures: [{ raw: `Literal${tail}`, params: [], methodKind: 'constructor', nativeSpans: [ + { text: 'Literal', declaration: true }, { text: tail }, + ] }] } + const layout = (await apiSignatureLayouts(symbol, 'haskell')).get(symbol.signatures[0])! + expect(layout.text).toBe(symbol.signatures[0].raw) + expect(layout.failures.length).toBeGreaterThan(0) + }) +}) diff --git a/site/test/haskell-native-usage.test.ts b/site/test/haskell-native-usage.test.ts new file mode 100644 index 000000000..bd2972285 --- /dev/null +++ b/site/test/haskell-native-usage.test.ts @@ -0,0 +1,86 @@ +import { createHash } from 'node:crypto' +import { execFileSync } from 'node:child_process' +import { mkdtempSync, mkdirSync, rmSync, writeFileSync } from 'node:fs' +import { tmpdir } from 'node:os' +import { dirname, join } from 'node:path' +import { afterAll, describe, expect, it } from 'vitest' +import { scanPort } from '../../scripts/gen-tmux-usage.mjs' +import { verifyClaims } from '../../scripts/lib/tmux-usage-derive.mjs' + +const digest = (value: string) => createHash('sha256').update(value).digest('hex') +const sources = new Map([ + ['src/LibTmux/Server.hs', 'module LibTmux.Server where\nimport Control.Exception (mask_)\nimport LibTmux.Internal.Queue qualified as Queue\nwithServer action = action ()\ncapture = mask_ $ Queue.submit Queue.ReadSnapshot\n'], + ['internal/LibTmux/Internal/Queue.hs', 'module LibTmux.Internal.Queue where\ndata ReadCommand = ReadSnapshot | Dormant\narguments ReadSnapshot = ["display-message", "-p", "-F", "#{S:#{session_id}}"]\narguments Dormant = ["list-panes", "-a"]\nsubmit command = native (arguments command)\n'], + ['cbits/process.c', 'int native_spawn(void) { return 0; }\n'], + ['libtmux-haskell.cabal', 'name: libtmux-haskell\n'], +]) +const directory = mkdtempSync(join(tmpdir(), 'haskell-native-usage-')) +for (const [path, content] of sources) { + mkdirSync(dirname(join(directory, path)), { recursive: true }) + writeFileSync(join(directory, path), content) +} +execFileSync('git', ['init', '--quiet', directory]) +execFileSync('git', ['-C', directory, 'add', '.']) +execFileSync('git', ['-C', directory, '-c', 'user.name=Fixture', '-c', 'user.email=fixture@example.invalid', 'commit', '--quiet', '-m', 'Source fixture']) +const revision = execFileSync('git', ['-C', directory, 'rev-parse', 'HEAD'], { encoding: 'utf8' }).trim() +const model = { port: 'haskell', repo: 'libtmux/libtmux-haskell', revision, nativeProvenance: { exporter: { version: 2, build: { compiler: 'ghc-9.14.1' } } }, symbols: [ + { id: 'LibTmux.Server#v:capture', name: 'capture', kind: 'function', source: { file: 'src/LibTmux/Server.hs', line: 5 } }, + { id: 'LibTmux.Server#v:withServer', name: 'withServer', kind: 'function', source: { file: 'src/LibTmux/Server.hs', line: 4 } }, +] } +const claims = [{ + port: 'haskell', revision, symbol: 'LibTmux.Server#v:capture', command: 'display-message', scope: null, + evidence: [ + { at: 'src/LibTmux/Server.hs:5', has: ['capture = mask_', 'Queue.submit Queue.ReadSnapshot'], in: 'LibTmux.Server#v:capture' }, + { at: 'internal/LibTmux/Internal/Queue.hs:5', has: ['submit command = native'] }, + { at: 'internal/LibTmux/Internal/Queue.hs:3', has: ['arguments ReadSnapshot', '"display-message"'] }, + ], +}] +// The catalogue is an explicit review, not an interpretation of the test's queued action. +const profile = { + schemaVersion: 1, repository: model.repo, revision, + files: Object.fromEntries([...sources].map(([path, content]) => [path, digest(content)])), + modelSha256: digest(JSON.stringify({ symbols: model.symbols, build: model.nativeProvenance.exporter.build })), + claimsSha256: digest(JSON.stringify(claims)), + classifications: [ + { kind: 'sends', why: 'The snapshot request submits this fixed command.', symbols: ['LibTmux.Server#v:capture'] }, + { kind: 'caller-io', why: 'The caller supplies the action; the wrapper sends no command of its own.', symbols: ['LibTmux.Server#v:withServer'] }, + ], +} +const commands = new Set(['display-message', 'list-panes']) +const options = { port: 'haskell', model, commands, checkout: directory, known: commands, dispatch: new Set(), + builders: undefined, guards: undefined, labels: undefined, trace: undefined, nativeProfile: profile, nativeClaims: claims } +afterAll(() => rmSync(directory, { recursive: true, force: true })) + +describe('reviewed native Haskell usage', () => { + it('credits only the reviewed public request, keeping callbacks and dormant commands separate', async () => { + const scanned = await scanPort(options) + expect(scanned.functions.flatMap((fn) => fn.sites)).toEqual([]) + const result = verifyClaims({ claims, symbols: scanned.symbols, functions: scanned.functions, types: scanned.types, readSource: scanned.readSource }) + expect(result.problems).toEqual([]) + expect(result.entries).toHaveLength(1) + expect(result.entries[0]).toMatchObject({ symbol: 'LibTmux.Server#v:capture', command: 'display-message', reviewed: true }) + }) + + it.each([ + ['revision', { ...profile, revision: '0'.repeat(40) }, /native Haskell.*revision/i], + ['source bytes', { ...profile, files: { ...profile.files, 'cbits/process.c': '0'.repeat(64) } }, /native Haskell.*cbits\/process.c/i], + ['missing source', { ...profile, files: Object.fromEntries(Object.entries(profile.files).filter(([path]) => !path.startsWith('internal/'))) }, /native Haskell.*source inventory/i], + ['unclassified public action', { ...profile, classifications: profile.classifications.slice(1) }, /native Haskell.*classification/i], + ['duplicate classification', { ...profile, classifications: [...profile.classifications, profile.classifications[0]] }, /native Haskell.*classification/i], + ['claim drift', { ...profile, claimsSha256: '0'.repeat(64) }, /native Haskell.*claims/i], + ])('rejects stale %s before returning a declaration index', async (_name, nativeProfile, failure) => { + await expect(scanPort({ ...options, nativeProfile })).rejects.toThrow(failure) + }) + + it('requires a reviewed profile for the native capture surface', async () => { + await expect(scanPort({ ...options, nativeProfile: undefined })).rejects.toThrow(/native Haskell.*no reviewed profile/i) + }) + + it.each([ + { ...model, symbols: model.symbols.slice(1) }, + { ...model, symbols: model.symbols.map((symbol) => ({ ...symbol, signatures: [{ raw: 'capture :: IO ()' }] })) }, + { ...model, nativeProvenance: { exporter: { version: 2, build: { compiler: 'ghc-other' } } } }, + ])('rejects model and effect-boundary drift even when the native source is unchanged', async (changed) => { + await expect(scanPort({ ...options, model: changed })).rejects.toThrow(/native Haskell.*public model or native build/i) + }) +}) diff --git a/site/test/haskell-semantics.outer.test.ts b/site/test/haskell-semantics.outer.test.ts index 8165c764e..34a119c64 100644 --- a/site/test/haskell-semantics.outer.test.ts +++ b/site/test/haskell-semantics.outer.test.ts @@ -26,7 +26,7 @@ describe('Haskell reference semantics', () => { it('preserves distinct kinds in previews and the searchable tree without changing source identities', () => { const kinds = model.symbols.map((symbol) => symbolPreview(model, symbol, 'latest').kind) expect(Object.fromEntries([...Map.groupBy(kinds, (kind) => kind)].map(([kind, values]) => [kind, values.length]))) - .toEqual({ module: 3, 'data-type': 10, 'data-constructor': 5, 'record-field': 2, function: 18 }) + .toEqual({ module: 16, 'data-type': 53, 'data-constructor': 52, 'record-field': 74, function: 153 }) const records = searchApi(referenceTree('haskell'), '') expect(new Set(records.map((entry) => entry.id))).toEqual(new Set(model.symbols.map((symbol) => symbol.id))) for (const entry of records) { diff --git a/site/test/haskell-signature.outer.test.ts b/site/test/haskell-signature.outer.test.ts index aa709d0ed..7bccf06f8 100644 --- a/site/test/haskell-signature.outer.test.ts +++ b/site/test/haskell-signature.outer.test.ts @@ -17,7 +17,7 @@ const tokens = (text: string) => text.replace(/\s+/g, ' ').trim() describe('native Haddock signatures', () => { it('keeps signatureless module declarations on the ordinary named-header path', async () => { const modules = model.symbols.filter((symbol) => symbol.kind === 'module') - expect(modules).toHaveLength(3) + expect(modules).toHaveLength(16) for (const symbol of modules) { expect(symbol.signatures).toEqual([]) expect(usesNativeSignatures(symbol, 'haskell')).toBe(false) @@ -28,7 +28,7 @@ describe('native Haddock signatures', () => { }) it('uses the native text and explicit destinations for every public header and Markdown twin', async () => { - expect(declarations).toHaveLength(35) + expect(declarations).toHaveLength(332) let links = 0 for (const symbol of declarations) { expect(usesNativeSignatures(symbol, 'haskell'), symbol.id).toBe(true) @@ -50,7 +50,7 @@ describe('native Haddock signatures', () => { for (const [, href] of expected) expect(markdown).toContain(`](${href})`) expect(markdown).not.toContain('## Methods') } - expect(links).toBe(58) + expect(links).toBe(568) }) it('renders each real production header with native links and its own declaration anchor', async () => { @@ -60,7 +60,7 @@ describe('native Haddock signatures', () => { try { const element = rendered.signatures[0]! expect(displayedSignature(element), symbol.id).toBe(rendered.layouts.get(symbol.signatures[0]!)!.text) - expect(element.getAttribute('data-code-width-status')).toBe('fits') + expect(element.getAttribute('data-code-width-status'), symbol.id).toBe('fits') const name = element.querySelector('a.api-declaration-name')! expect(name?.textContent).toBe(symbol.name) expect(name?.getAttribute('href')).toBe(nameHref) @@ -75,7 +75,7 @@ describe('native Haddock signatures', () => { it('keeps data constructors out of dispatch-method sections', () => { const constructors = declarations.filter((symbol) => symbol.signatures[0]?.methodKind === 'constructor') - expect(constructors).toHaveLength(5) + expect(constructors).toHaveLength(52) for (const symbol of constructors) { expect(apiMethodDetails(symbol, 'haskell')).toEqual([]) expect(apiEntrySections(symbol, 'haskell').map((section) => section.label)).not.toContain('Methods') diff --git a/site/test/home-launcher.test.ts b/site/test/home-launcher.test.ts index 5d74a4072..14a65089f 100644 --- a/site/test/home-launcher.test.ts +++ b/site/test/home-launcher.test.ts @@ -45,11 +45,13 @@ const panelOf = (document: Document, slug: string) => document.querySelector(`.h const rowsOf = (panel: Element) => [...panel.querySelectorAll('nav a[data-picker-option]')] describe('the front page solution picker', () => { - it('links the Haskell values example to its guides and describes the pure API', async () => { + it('links the Haskell query example to its guides and describes captured values', async () => { const document = await frontPage() const panel = document.querySelector('.home-examples [data-home-language="haskell"]')! expect.soft(panel.querySelector('.home-example-link a')!.getAttribute('href')).toMatch(/\/haskell\/[^/]+\/guides\/$/) - expect.soft(text(document.querySelector('.home-intro [data-home-language="haskell"] .home-solutions'))).toContain('pure Haskell functions') + const solutions = text(document.querySelector('.home-intro [data-home-language="haskell"] .home-solutions')) + expect.soft(solutions).toContain('Capture tmux state') + expect.soft(solutions).toContain('filter detached snapshots') expect(document.querySelector('.home-examples [data-home-language="ts"] .home-example-link a')!.getAttribute('href')).toContain('/examples/') }) it.each(PORTS)('lists $name Home first, at the latest home of that language', async (port) => { diff --git a/site/test/home-recipe-scope.outer.test.ts b/site/test/home-recipe-scope.outer.test.ts new file mode 100644 index 000000000..07a43a3f4 --- /dev/null +++ b/site/test/home-recipe-scope.outer.test.ts @@ -0,0 +1,43 @@ +import { mkdtempSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs' +import { tmpdir } from 'node:os' +import { join } from 'node:path' +import { spawnSync } from 'node:child_process' +import { expect, it } from 'vitest' +import HOME from '../src/data/home-examples.json' + +// Outer: checks shell cleanup in a separate process. +it('finishes Haskell demo cleanup before returning and preserves the caller trap', () => { + const root = mkdtempSync(join(tmpdir(), 'haskell-home-scope-')) + try { + const bin = join(root, 'bin') + mkdirSync(bin) + writeFileSync(join(bin, 'tmux'), `#!/bin/sh +case "$*" in + *new-session*) : > "$LIBTMUX_TEST_RESOURCE" ;; + *kill-server*) rm -- "$LIBTMUX_TEST_RESOURCE" ;; +esac +`, { mode: 0o700 }) + writeFileSync(join(bin, 'cabal'), '#!/bin/sh\nexit 0\n', { mode: 0o700 }) + const env: NodeJS.ProcessEnv = { ...process.env, PATH: `${bin}:${process.env.PATH}`, + LIBTMUX_TEST_RESOURCE: join(root, 'owned-resource'), + LIBTMUX_TEST_RESULT: join(root, 'before-return'), + LIBTMUX_TEST_CALLER_EXIT: join(root, 'caller-exit') } + delete env.BASH_ENV + delete env.ENV + const script = `trap 'printf kept > "$LIBTMUX_TEST_CALLER_EXIT"' EXIT +${HOME.haskell.commands[1]} +if test -e "$LIBTMUX_TEST_RESOURCE"; then + printf running > "$LIBTMUX_TEST_RESULT" +else + printf closed > "$LIBTMUX_TEST_RESULT" +fi +` + const result = spawnSync('bash', ['--noprofile', '--norc', '-eu', '-c', script], { + env, encoding: 'utf8', timeout: 3_000, + }) + expect(result.error).toBeUndefined() + expect(result.status, result.stderr).toBe(0) + expect(readFileSync(join(root, 'before-return'), 'utf8')).toBe('closed') + expect(readFileSync(join(root, 'caller-exit'), 'utf8')).toBe('kept') + } finally { rmSync(root, { recursive: true, force: true }) } +}) diff --git a/site/test/page-port-links.test.ts b/site/test/page-port-links.test.ts index 4c370aa47..bca3fdedd 100644 --- a/site/test/page-port-links.test.ts +++ b/site/test/page-port-links.test.ts @@ -6,7 +6,6 @@ vi.stubEnv('LIBTMUX_DOCS_PORT_ROOT', '/pr-42/en') vi.stubEnv('LIBTMUX_DOCS_LOCALES_ROOT', '/pr-42') const { docsEntryAvailable, docsEntriesAvailable, pagePortLinks } = await import('../src/lib/page-port-links') const { PORTS, PORT_BY_SLUG, productAvailable, productExcluded } = await import('../src/lib/ports') -const { referencePageLinks } = await import('../src/lib/reference-page-links') const { localePageHref, localeSourcePath } = await import('../src/i18n/locales') const docs = [ @@ -230,19 +229,6 @@ describe('matching pages in another port', () => { } }) - it('publishes native differences and reverse links for Julia action references', () => { - const manifest = referencePageLinks() - const server = manifest.symbols.cxx['libtmux::Server'] - expect(server.find((entry) => entry.port === 'powershell')).toMatchObject({ - kind: 'cmdlet', href: '/pr-42/en/powershell/latest/reference/libtmux-new-tmuxserver/', - note: expect.stringContaining('shared .NET `LibTmux.Server`'), - }) - expect(server.find((entry) => entry.port === 'fsharp')).toMatchObject({ kind: 'module' }) - expect(manifest.symbols.julia['LibTmux.SessionRef']).toEqual(expect.arrayContaining([ - expect.objectContaining({ port: 'cxx', href: '/pr-42/en/cxx/latest/reference/libtmux-session/' }), - ])) - }) - it('links server types to verified Julia types, PowerShell cmdlets and F# modules in both directions', () => { const pages = [ ['cxx', 'libtmux-server'], ['julia', 'libtmux-server'], diff --git a/site/test/port-documentation.test.ts b/site/test/port-documentation.test.ts index d52e05abe..369509ad5 100644 --- a/site/test/port-documentation.test.ts +++ b/site/test/port-documentation.test.ts @@ -2,7 +2,7 @@ import { describe, expect, it } from 'vitest' import { documentationAreas, documentationCards, documentationNavigation, sourceGuideFor, sourceGuidesFor, stagedSectionsFor } from '../src/lib/port-documentation' describe('port documentation domains', () => { - it('limits Haskell guides to the public values package and its actual reader paths', () => { + it('maps the public Haskell observation, query and fixture guides to their reader paths', () => { expect(documentationAreas('haskell').map(({ id, kind }) => ({ id, kind }))).toEqual([ { id: 'core', kind: 'core' }, { id: 'workspace', kind: 'unavailable' }, { id: 'mcp', kind: 'unavailable' }, ]) @@ -10,7 +10,12 @@ describe('port documentation domains', () => { expect(sourceGuidesFor('haskell').map(({ sourcePath, route }) => [sourcePath, route])).toEqual([ ['docs/README.md', 'guides/getting-started'], ['docs/installation.md', 'guides/installation'], + ['docs/capture.md', 'guides/capture'], + ['docs/query.md', 'guides/query'], + ['docs/shared-runtime.md', 'guides/shared-runtime'], + ['docs/fixtures.md', 'guides/offline-fixtures'], ['docs/values.md', 'guides/typed-values'], + ['docs/performance.md', 'guides/performance'], ['docs/api.md', 'guides/api-documentation'], ['docs/status.md', 'guides/status'], ]) diff --git a/site/test/prompts.test.ts b/site/test/prompts.test.ts index 3941e6f57..e4d04e10c 100644 --- a/site/test/prompts.test.ts +++ b/site/test/prompts.test.ts @@ -96,13 +96,14 @@ describe('prompt composition', () => { } }) - it('sets up Haskell through its public values API without requiring tmux', () => { + it('sets up Haskell through its capture and query example with compatible tools', () => { const text = promptFor(PORT_BY_SLUG.haskell!, 'setup') - expect(text).toContain('verify its pure values API') - expect(text).toContain('GHC 9.14.1 and Cabal 3.18.2.0') - expect(text).toContain('parseWindowId') - expect(text).toContain('renderWindowId') - expect(text).not.toContain('tmux -V') + expect(text).toContain('verify its capture and query API') + expect(text).toContain('package manifest') + expect(text).toContain('runQuery') + expect(text).toContain('private demo server') + expect(text).toContain('tmux -V') + expect(text).not.toMatch(/GHC 9\.14\.1|Cabal 3\.18\.2\.0/) expect(text).not.toContain('connect to a') expect(text).not.toContain('prefer a final release over this prerelease') }) @@ -112,7 +113,7 @@ describe('prompt composition', () => { const text = promptFor(PORT_BY_SLUG.haskell!, topic.id) expect(text, topic.id).toContain('Availability') expect(text, topic.id).toContain(topic.label) - expect(text, topic.id).toContain('Client, command, streaming and workspace APIs are not exposed') + expect(text, topic.id).toContain('Mutation, event streaming and workspace APIs are not public') expect(text, topic.id).not.toContain(topic.opening) expect(text, topic.id).not.toContain('What it does:') expect(text, topic.id).not.toContain('connect to a') diff --git a/site/test/reference-page-links.outer.test.ts b/site/test/reference-page-links.outer.test.ts new file mode 100644 index 000000000..58a31b864 --- /dev/null +++ b/site/test/reference-page-links.outer.test.ts @@ -0,0 +1,19 @@ +import { expect, it, vi } from 'vitest' + +vi.stubEnv('LIBTMUX_DOCS_PORT_ROOT', '/pr-42/en') +vi.stubEnv('LIBTMUX_DOCS_LOCALES_ROOT', '/pr-42') +const { referencePageLinks } = await import('../src/lib/reference-page-links') + +// Publishing this manifest resolves concepts across the complete API catalog. +it('publishes native differences and reverse links for Julia action references', () => { + const manifest = referencePageLinks() + const server = manifest.symbols.cxx['libtmux::Server'] + expect(server.find((entry) => entry.port === 'powershell')).toMatchObject({ + kind: 'cmdlet', href: '/pr-42/en/powershell/latest/reference/libtmux-new-tmuxserver/', + note: expect.stringContaining('shared .NET `LibTmux.Server`'), + }) + expect(server.find((entry) => entry.port === 'fsharp')).toMatchObject({ kind: 'module' }) + expect(manifest.symbols.julia['LibTmux.SessionRef']).toEqual(expect.arrayContaining([ + expect.objectContaining({ port: 'cxx', href: '/pr-42/en/cxx/latest/reference/libtmux-session/' }), + ])) +}) diff --git a/site/test/stage-port-docs.test.ts b/site/test/stage-port-docs.test.ts index 812727d9b..fab839362 100644 --- a/site/test/stage-port-docs.test.ts +++ b/site/test/stage-port-docs.test.ts @@ -5,7 +5,7 @@ import { tmpdir } from 'node:os' import { dirname, join } from 'node:path' import { artifactFromRevision, expandDocumenter, linkSnapshotDepths, rewriteLinks, stagedPortGuides, stagedRoutesFor } from '../../scripts/stage-port-docs.mjs' import { PORTS } from '../src/lib/ports' -import { SOURCE_GUIDE_PORTS } from '../src/lib/port-documentation' +import { SOURCE_GUIDE_PORTS, sourceGuidesFor } from '../src/lib/port-documentation' import scalaGuides from '../src/data/port-guides/scala.json' import fsharpGuides from '../src/data/port-guides/fsharp.json' import csharpModel from '../src/data/api/csharp.json' @@ -69,18 +69,19 @@ describe('integrated guide inputs', () => { }) describe('staged port guide links', () => { - it('stages revision-bound Haskell reader guides without advertising operations', () => { + it('stages revision-bound Haskell capture guides and preserves source fragments', () => { const revision = haskellModel.revision const program = '```console\n$ cabal run --verbose=0 typed-values\n```' - const guides = ['README', 'installation', 'values', 'api', 'status'].map((name) => ({ - path: `docs/${name}.md`, - content: `# ${name}\n\n[Install](installation.md) [Program](../examples/typed-values/Main.hs)\n\n[LibTmux.Id](../src/LibTmux/Id.hs)\n\n[Source line](../src/LibTmux/Id.hs#L20) [Unknown anchor](../src/LibTmux/Id.hs#unknown)\n\n${program}\n`, + const guides = sourceGuidesFor('haskell').map(({ sourcePath }) => ({ + path: sourcePath, + content: `# ${sourcePath}\n\n[Install](installation.md) [Program](../examples/typed-values/Main.hs)\n\n[LibTmux.Id](../src/LibTmux/Id.hs) [LibTmux.Server](../src/LibTmux/Server.hs)\n\n[withServer](../src/LibTmux/Server.hs) [capture](../src/LibTmux/Server.hs) [Snapshot](../src/LibTmux/Snapshot.hs) [Pane](../src/LibTmux/Snapshot.hs) [width](../src/LibTmux/Snapshot.hs)\n\n[withServer](../src/LibTmux/Server.hs#L93) [Source line](../src/LibTmux/Id.hs#L20) [Unknown anchor](../src/LibTmux/Id.hs#unknown)\n\n${program}\n`, })) const files = stagedPortGuides('haskell', { source: { repository: 'libtmux/libtmux-haskell', revision }, guides }) const index = files.get('haskell/guides/index.md')! - expect(index).toContain('run the public values example') - expect(index).not.toContain('Connect to tmux') - expect(files.size).toBe(6) + expect(index).toContain('capture and navigate a server') + expect(index).toContain('capture/') + expect(index).toContain('offline-fixtures/') + expect(files.size).toBe(guides.length + 1) for (const [path, content] of files) { expect(path).toMatch(/^haskell\/guides\//) expect(content).toContain(`"ref":"${revision}"`) @@ -90,6 +91,13 @@ describe('staged port guide links', () => { expect(page).toContain(`https://github.com/libtmux/libtmux-haskell/blob/${revision}/examples/typed-values/Main.hs`) expect(page).toContain(program) expect(page).toContain('[LibTmux.Id](../../reference/libtmux-id/)') + expect(page).toContain('[LibTmux.Server](../../reference/libtmux-server/)') + expect(page).toContain('[withServer](../../reference/libtmux-server-v-withserver/)') + expect(page).toContain('[capture](../../reference/libtmux-server-v-capture/)') + expect(page).toContain('[Snapshot](../../reference/libtmux-snapshot-t-snapshot/)') + expect(page).toContain('[Pane](../../reference/libtmux-snapshot-t-pane/)') + expect(page).toContain('[width](../../reference/libtmux-snapshot/)') + expect(page).toContain(`[withServer](https://github.com/libtmux/libtmux-haskell/blob/${revision}/src/LibTmux/Server.hs#L93)`) expect(page).toContain(`https://github.com/libtmux/libtmux-haskell/blob/${revision}/src/LibTmux/Id.hs#L20`) expect(page).toContain(`https://github.com/libtmux/libtmux-haskell/blob/${revision}/src/LibTmux/Id.hs#unknown`) expect(page).not.toContain('reference/libtmux-id/#') @@ -182,7 +190,8 @@ describe('staged port guide links', () => { const setup = files.get(`${port}/${cards[0].href.slice(3)}index.md`)! expect(cards[0].label).toBe(JSON.parse(/^title: (.+)$/m.exec(setup)![1])) if (port === 'haskell') expect(cards.map((card: { label: string }) => card.label)).toEqual([ - 'Getting started', 'Installation', 'Typed values', 'API documentation', 'Implementation status', + 'Getting started', 'Installation', 'Capture and navigate', 'Typed queries', 'Shared Runtime scopes', 'Offline fixtures', + 'Typed values', 'Capture performance', 'API documentation', 'Implementation status', ]) else if (port === 'clojure') expect(cards[1].label).toBe('Captures, effects and streams') else if (port === 'perl' || port === 'erlang') expect(cards[1].label).toBe('Installation') diff --git a/site/test/symbol-markdown.test.ts b/site/test/symbol-markdown.test.ts index c2a955a64..82afba506 100644 --- a/site/test/symbol-markdown.test.ts +++ b/site/test/symbol-markdown.test.ts @@ -411,7 +411,8 @@ describe('API Markdown content parity', () => { const members = ordered.map((entry) => byId.get(entry.id)!) const expected = [...members.filter((member) => !member.inheritedFrom), ...members.filter((member) => member.inheritedFrom)] .map((member) => member.name) - const memberText = text.slice(text.search(/^## (?:Members|Inherited members)$/m)) + const memberText = text.split(/^## /m) + .filter((section) => /^(?:Members|Inherited members)\n/.test(section)).join('\n') const names = [...memberText.matchAll(/^- `([^`]+)` \([a-z ]+\)/gm)].map((match) => match[1]) expect(names).toEqual(expected) if (members.some((member) => member.inheritedFrom)) expect(text).toContain('## Inherited members')