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

query.schema.FilterSchema

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

View as Markdown

Module
query.schema
Package
libtmux
Source
crates/libtmux/src/query/schema.rs
trait query.schema.FilterSchema
trait [source]
trait [source]
trait query.schema.FilterSchema

A filter target whose portable expression grammar can be described.

#[derive(libtmux::Filterable)] implements this and Filterable from the same field declaration. Implement it manually only when a handwritten Filterable target must also expose a JsonSchema for its FilterExpr .

The schema closes targets, fields, operators, relations, and JSON value families. Deserialization remains authoritative for fixed-width integer bounds, regex compilation, and whole-expression complexity limits.

Examples

use libtmux::query::FilterExpr;
#[derive(libtmux::Filterable)]
#[filterable(target = "task")]
struct Task {
name: String,
done: bool,
}
let schema = schemars::schema_for!(FilterExpr<Task>);
assert!(schema.as_object().is_some());

0 declared, 0 inherited

Esc

Type to search.