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

tmuxp.cli.search.evaluate_match

Python
  • Python
  • Ruby Unavailable
  • Lua Unavailable
  • TypeScript Unavailable
  • Rust Unavailable
  • Go Unavailable
  • Java Unavailable
  • .NET Unavailable
  • C++ Unavailable
  • Swift Unavailable

API reference · Markdown

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

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
  • fields ( WorkspaceFields ) – Extracted workspace fields to search.

  • patterns ( list[SearchPattern] ) – Compiled search patterns.

  • match_any ( bool ) – If True, match if ANY pattern matches (OR logic). If False, ALL patterns must match (AND logic). Default False.

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.