Workspace ManagerstableAPI Reference

Choose documentation 3

stable

Current version

stable
English

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

tmuxp.cli.search.evaluate_match

tmuxp.cli.search.evaluate_match ( fields: WorkspaceFields, patterns: list[SearchPattern], match_any: bool = False, ) → tuple[bool, dict[str, list[str]]]

Evaluate if workspace fields match search patterns.

Examples#

>>> import re
>>> fields: WorkspaceFields = {
... "name": "dev-project",
... "path": "~/.tmuxp/dev-project.yaml",
... "session_name": "development",
... "windows": ["editor", "shell"],
... "panes": ["vim", "git status"],
... }

Single pattern match:

>>> pattern = SearchPattern(
... fields=("name",),
... raw="dev",
... regex=re.compile("dev"),
... )
>>> matched, matches = evaluate_match(fields, [pattern])
>>> matched
True
>>> "name" in matches
True

AND logic (default) - all patterns must match:

>>> p1 = SearchPattern(fields=("name",), raw="dev", regex=re.compile("dev"))
>>> p2 = SearchPattern(fields=("name",), raw="xyz", regex=re.compile("xyz"))
>>> matched, _ = evaluate_match(fields, [p1, p2], match_any=False)
>>> matched
False

OR logic - any pattern can match:

>>> matched, _ = evaluate_match(fields, [p1, p2], match_any=True)
>>> matched
True

Window field search:

>>> p_win = SearchPattern(
... fields=("window",),
... raw="editor",
... regex=re.compile("editor"),
... )
>>> matched, matches = evaluate_match(fields, [p_win])
>>> matched
True
>>> "window" in matches
True
Parameters
Returns

tuple[bool, dict[str, list[str]]] Tuple of (matched, {field_name: [matched_strings]}). The matches dict contains actual matched text for highlighting.

Esc

Type to search.

Reference preview Open reference