Core Library0.xAPI Reference

Choose documentation 3

latest

Current version

latest
English

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

trait libtmux-rs latest

FilterSchema

A filter target whose portable expression grammar can be described.

Source and package
Qualified name
libtmux::query::schema::FilterSchema
Module
query.schema
Package
libtmux
Source
crates/libtmux/src/query/schema.rs
trait query.schema.FilterSchema

Description#

#[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());
Esc

Type to search.

Reference previewOpen reference