Skip to main content

VectorOp

Enum VectorOp 

Source
pub enum VectorOp {
Show 18 variants Search { collection: String, query_vector: Vec<f32>, top_k: usize, ef_search: usize, metric: DistanceMetric, filter_bitmap: Option<SurrogateBitmap>, field_name: String, rls_filters: Vec<u8>, inline_prefilter_plan: Option<Box<PhysicalPlan>>, ann_options: VectorAnnOptions, skip_payload_fetch: bool, payload_filters: Vec<PayloadAtom>, }, Insert { collection: String, vector: Vec<f32>, dim: usize, field_name: String, surrogate: Surrogate, }, BatchInsert { collection: String, vectors: Vec<Vec<f32>>, dim: usize, surrogates: Vec<Surrogate>, }, MultiSearch { collection: String, query_vector: Vec<f32>, top_k: usize, ef_search: usize, filter_bitmap: Option<SurrogateBitmap>, rls_filters: Vec<u8>, }, Delete { collection: String, vector_id: u32, }, DeleteBySurrogate { collection: String, surrogate: Surrogate, field_name: String, }, SetParams { collection: String, field_name: String, m: usize, ef_construction: usize, metric: String, index_type: String, pq_m: usize, ivf_cells: usize, ivf_nprobe: usize, }, QueryStats { collection: String, field_name: String, }, Seal { collection: String, field_name: String, }, CompactIndex { collection: String, field_name: String, }, Rebuild { collection: String, field_name: String, m: usize, m0: usize, ef_construction: usize, }, SparseInsert { collection: String, field_name: String, doc_id: String, entries: Vec<(u32, f32)>, }, SparseSearch { collection: String, field_name: String, query_entries: Vec<(u32, f32)>, top_k: usize, }, SparseDelete { collection: String, field_name: String, doc_id: String, }, MultiVectorInsert { collection: String, field_name: String, document_surrogate: Surrogate, vectors: Vec<f32>, count: usize, dim: usize, }, MultiVectorDelete { collection: String, field_name: String, document_surrogate: Surrogate, }, MultiVectorScoreSearch { collection: String, field_name: String, query_vector: Vec<f32>, top_k: usize, ef_search: usize, mode: String, }, DirectUpsert { collection: String, field: String, surrogate: Surrogate, vector: Vec<f32>, payload: Vec<u8>, quantization: VectorQuantization, storage_dtype: VectorStorageDtype, payload_indexes: Vec<(String, PayloadIndexKind)>, },
}
Expand description

Vector engine physical operations.

Variants§

§

Search

Vector similarity search.

Fields

§collection: String
§query_vector: Vec<f32>
§top_k: usize
§ef_search: usize

Optional search beam width override. If 0, uses default 4 * top_k.

§metric: DistanceMetric

Per-query distance metric override. Overrides the collection-default metric configured at index creation time.

§filter_bitmap: Option<SurrogateBitmap>

Pre-computed bitmap of eligible surrogates (from filter evaluation).

§field_name: String

Named vector field to search. Empty string = default field.

§rls_filters: Vec<u8>

RLS post-candidate filters (serialized Vec<ScanFilter>). Applied after HNSW returns candidates, before returning to client. Result count may be less than requested top_k.

§inline_prefilter_plan: Option<Box<PhysicalPlan>>

Optional sub-plan whose output rows materialize a SurrogateBitmap used as an additional prefilter (intersected with filter_bitmap).

Set by the planner when fusing Vector ORDER BY ... + JOIN ARRAY_SLICE(...) ON v.id = s.surrogate into a single op: the array slice runs first, its surrogate column becomes the vector engine’s pre-filter, then HNSW search runs against the reduced candidate set. Mirrors HashJoin’s inline_*_bitmap mechanism so the Data Plane composition is uniform.

§ann_options: VectorAnnOptions

ANN tuning knobs from the SQL caller. Defaults to no overrides.

§skip_payload_fetch: bool

When true, the SELECT projection contains only id and/or vector_distance(...) — no payload fields. The handler skips the document-body fetch. Ignored (treated as false) when RLS filters are active, as body fetch is required for RLS evaluation.

§payload_filters: Vec<PayloadAtom>

Optional payload bitmap pre-filter for vector-primary collections. Each atom is Eq / In / Range — the handler ANDs all atoms and intersects the resulting bitmap with the HNSW candidate set before walking. The planner only emits atoms whose field has a registered payload index of the matching kind. Empty means no payload pre-filter.

§

Insert

Insert a vector into the HNSW index (write path).

Fields

§collection: String
§vector: Vec<f32>
§dim: usize
§field_name: String

Named vector field. Empty string = default (unnamed) field.

§surrogate: Surrogate

Global surrogate identifying this row. Allocated by the Control Plane via SurrogateAssigner before dispatch; the engine binds the HNSW node id to this surrogate.

§

BatchInsert

Batch insert vectors into the HNSW index.

Fields

§collection: String
§vectors: Vec<Vec<f32>>
§dim: usize
§surrogates: Vec<Surrogate>

One surrogate per inserted vector, parallel to vectors. Empty vector = headless batch (no PK binding).

§

MultiSearch

Multi-vector search: query across all named vector fields, fuse via RRF.

Fields

§collection: String
§query_vector: Vec<f32>
§top_k: usize
§ef_search: usize
§filter_bitmap: Option<SurrogateBitmap>
§rls_filters: Vec<u8>

RLS post-candidate filters.

§

Delete

Soft-delete a vector by internal node ID.

Fields

§collection: String
§vector_id: u32
§

DeleteBySurrogate

Soft-delete a vector by surrogate (sync inbound path).

The Data Plane resolves surrogate → HNSW node_id via the surrogate_to_local map and tombstones the node. If the surrogate is not found the op is a no-op (idempotent).

Fields

§collection: String
§surrogate: Surrogate
§field_name: String

Named vector field; empty = default field.

§

SetParams

Set vector index parameters for a collection.

Fields

§collection: String
§field_name: String

Named vector field this config applies to. Empty string = the default (unnamed) vector field. Lets one collection carry multiple vector indexes, one per VECTOR / embedding column.

§ef_construction: usize
§metric: String
§index_type: String

Index type: “hnsw” (default), “hnsw_pq”, or “ivf_pq”.

§pq_m: usize

PQ subvectors (for hnsw_pq and ivf_pq). Default: 8.

§ivf_cells: usize

IVF cells (for ivf_pq only). Default: 256.

§ivf_nprobe: usize

IVF probe count (for ivf_pq only). Default: 16.

§

QueryStats

Query live vector index statistics. Returns VectorIndexStats as payload.

Fields

§collection: String
§field_name: String

Named vector field. Empty string = default (unnamed) field.

§

Seal

Force-seal the growing segment, triggering background HNSW build.

Fields

§collection: String
§field_name: String

Named vector field. Empty string = default field.

§

CompactIndex

Force tombstone compaction on sealed segments.

Fields

§collection: String
§field_name: String

Named vector field. Empty string = default field.

§

Rebuild

Rebuild sealed segments with new HNSW parameters. Old index serves queries until rebuild completes, then swaps atomically.

Fields

§collection: String
§field_name: String

Named vector field. Empty string = default field.

§m: usize

New M parameter. 0 = keep current.

§m0: usize

New M0 parameter. 0 = keep current.

§ef_construction: usize

New ef_construction. 0 = keep current.

§

SparseInsert

Insert a sparse vector into the inverted index.

Fields

§collection: String
§field_name: String

Named sparse vector field.

§doc_id: String

Document ID to associate with this sparse vector.

§entries: Vec<(u32, f32)>

Sparse vector entries as (dimension, weight) pairs.

§

SparseSearch

Search the sparse inverted index via dot-product scoring.

Fields

§collection: String
§field_name: String

Named sparse vector field.

§query_entries: Vec<(u32, f32)>

Query sparse vector entries.

§top_k: usize

Maximum results to return.

§

SparseDelete

Delete a document from the sparse inverted index.

Fields

§collection: String
§field_name: String

Named sparse vector field.

§doc_id: String

Document ID to remove.

§

MultiVectorInsert

Insert multiple vectors for a single document (ColBERT-style). All vectors are inserted as separate HNSW nodes sharing the same document_surrogate.

Fields

§collection: String
§field_name: String

Named vector field. Empty = default.

§document_surrogate: Surrogate

Surrogate shared by all vectors of the document.

§vectors: Vec<f32>

Flat vector data: count × dim f32 values.

§count: usize

Number of vectors.

§dim: usize

Dimensionality of each vector.

§

MultiVectorDelete

Delete all vectors for a document from the multi-vector index.

Fields

§collection: String
§field_name: String

Named vector field. Empty = default.

§document_surrogate: Surrogate

Document surrogate whose vectors should be tombstoned.

§

MultiVectorScoreSearch

Search with multi-vector aggregated scoring (MaxSim, AvgSim, SumSim). Over-fetches from HNSW, groups by doc_id, aggregates, deduplicates.

Fields

§collection: String
§field_name: String

Named vector field. Empty = default.

§query_vector: Vec<f32>

Query vector.

§top_k: usize

Maximum documents to return.

§ef_search: usize

HNSW ef_search override. 0 = auto.

§mode: String

Aggregation mode: “max_sim”, “avg_sim”, “sum_sim”.

§

DirectUpsert

Direct vector upsert for vector-primary collections.

Bypasses MessagePack document encoding — the Data Plane inserts the vector into HNSW directly and updates payload bitmap indexes from payload. No full-document blob is written.

Ordering invariant (enforced by the handler):

  1. Validate dim.
  2. Decode payload bytes.
  3. Insert into HNSW (surrogate bound).
  4. Update payload bitmap indexes.

If step 3 fails, step 4 is not reached — no partial state. If step 4 fails (should not happen — pure in-memory), the handler attempts to delete the just-inserted HNSW node and returns an error.

Fields

§collection: String
§field: String

Vector column name. Used to compute the vector index key so the SELECT path (which keys by (tid, collection, field)) finds the same index this insert wrote into.

§surrogate: Surrogate

Global surrogate allocated by the Control Plane.

§vector: Vec<f32>

FP32 vector values.

§payload: Vec<u8>

Pre-encoded MessagePack of only the payload-indexed fields. Empty when the collection has no payload indexes configured.

§quantization: VectorQuantization

Collection-level quantization. Applied via set_quantization on first insert so subsequent seals trigger codec-dispatch rebuilds against the configured codec (RaBitQ / BBQ).

§storage_dtype: VectorStorageDtype

Native storage dtype for vector values (F32 / F16 / BF16). The executor uses this to decide whether to transcode incoming f32 components before writing them into the HNSW index backing store.

§payload_indexes: Vec<(String, PayloadIndexKind)>

Payload field bitmap indexes (name + kind). Registered via payload.add_index on the first insert into a new collection.

Trait Implementations§

Source§

impl Clone for VectorOp

Source§

fn clone(&self) -> VectorOp

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for VectorOp

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for VectorOp

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl<'__msgpack_de> FromMessagePack<'__msgpack_de> for VectorOp

Source§

fn read<R: Read<'__msgpack_de>>(reader: &mut R) -> Result<Self, Error>
where Self: Sized,

Reads the MessagePack representation of this value from the provided reader.
Source§

impl PartialEq for VectorOp

Source§

fn eq(&self, other: &VectorOp) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for VectorOp

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for VectorOp

Source§

impl ToMessagePack for VectorOp

Source§

fn write<W: Write>(&self, writer: &mut W) -> Result<(), Error>

Writes the MessagePack representation of this value into the provided writer.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> ArchivePointee for T

Source§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
Source§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromMessagePackOwned for T
where T: for<'a> FromMessagePack<'a>,

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> LayoutRaw for T

Source§

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Returns the layout of the type.
Source§

impl<T> MaybeSendSync for T

Source§

impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
where T: SharedNiching<N1, N2>, N1: Niching<T>, N2: Niching<T>,

Source§

unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool

Returns whether the given value has been niched. Read more
Source§

fn resolve_niched(out: Place<NichedOption<T, N1>>)

Writes data to out indicating that a T is niched.
Source§

impl<T> Paint for T
where T: ?Sized,

Source§

fn fg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the foreground set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like red() and green(), which have the same functionality but are pithier.

§Example

Set foreground color to white using fg():

use yansi::{Paint, Color};

painted.fg(Color::White);

Set foreground color to white using white().

use yansi::Paint;

painted.white();
Source§

fn primary(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Primary].

§Example
println!("{}", value.primary());
Source§

fn fixed(&self, color: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Fixed].

§Example
println!("{}", value.fixed(color));
Source§

fn rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Rgb].

§Example
println!("{}", value.rgb(r, g, b));
Source§

fn black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Black].

§Example
println!("{}", value.black());
Source§

fn red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Red].

§Example
println!("{}", value.red());
Source§

fn green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Green].

§Example
println!("{}", value.green());
Source§

fn yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Yellow].

§Example
println!("{}", value.yellow());
Source§

fn blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Blue].

§Example
println!("{}", value.blue());
Source§

fn magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Magenta].

§Example
println!("{}", value.magenta());
Source§

fn cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Cyan].

§Example
println!("{}", value.cyan());
Source§

fn white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: White].

§Example
println!("{}", value.white());
Source§

fn bright_black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlack].

§Example
println!("{}", value.bright_black());
Source§

fn bright_red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightRed].

§Example
println!("{}", value.bright_red());
Source§

fn bright_green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightGreen].

§Example
println!("{}", value.bright_green());
Source§

fn bright_yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightYellow].

§Example
println!("{}", value.bright_yellow());
Source§

fn bright_blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlue].

§Example
println!("{}", value.bright_blue());
Source§

fn bright_magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.bright_magenta());
Source§

fn bright_cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightCyan].

§Example
println!("{}", value.bright_cyan());
Source§

fn bright_white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightWhite].

§Example
println!("{}", value.bright_white());
Source§

fn bg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the background set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like on_red() and on_green(), which have the same functionality but are pithier.

§Example

Set background color to red using fg():

use yansi::{Paint, Color};

painted.bg(Color::Red);

Set background color to red using on_red().

use yansi::Paint;

painted.on_red();
Source§

fn on_primary(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Primary].

§Example
println!("{}", value.on_primary());
Source§

fn on_fixed(&self, color: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Fixed].

§Example
println!("{}", value.on_fixed(color));
Source§

fn on_rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Rgb].

§Example
println!("{}", value.on_rgb(r, g, b));
Source§

fn on_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Black].

§Example
println!("{}", value.on_black());
Source§

fn on_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Red].

§Example
println!("{}", value.on_red());
Source§

fn on_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Green].

§Example
println!("{}", value.on_green());
Source§

fn on_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Yellow].

§Example
println!("{}", value.on_yellow());
Source§

fn on_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Blue].

§Example
println!("{}", value.on_blue());
Source§

fn on_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Magenta].

§Example
println!("{}", value.on_magenta());
Source§

fn on_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Cyan].

§Example
println!("{}", value.on_cyan());
Source§

fn on_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: White].

§Example
println!("{}", value.on_white());
Source§

fn on_bright_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlack].

§Example
println!("{}", value.on_bright_black());
Source§

fn on_bright_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightRed].

§Example
println!("{}", value.on_bright_red());
Source§

fn on_bright_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightGreen].

§Example
println!("{}", value.on_bright_green());
Source§

fn on_bright_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightYellow].

§Example
println!("{}", value.on_bright_yellow());
Source§

fn on_bright_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlue].

§Example
println!("{}", value.on_bright_blue());
Source§

fn on_bright_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.on_bright_magenta());
Source§

fn on_bright_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightCyan].

§Example
println!("{}", value.on_bright_cyan());
Source§

fn on_bright_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightWhite].

§Example
println!("{}", value.on_bright_white());
Source§

fn attr(&self, value: Attribute) -> Painted<&T>

Enables the styling Attribute value.

This method should be used rarely. Instead, prefer to use attribute-specific builder methods like bold() and underline(), which have the same functionality but are pithier.

§Example

Make text bold using attr():

use yansi::{Paint, Attribute};

painted.attr(Attribute::Bold);

Make text bold using using bold().

use yansi::Paint;

painted.bold();
Source§

fn bold(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Bold].

§Example
println!("{}", value.bold());
Source§

fn dim(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Dim].

§Example
println!("{}", value.dim());
Source§

fn italic(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Italic].

§Example
println!("{}", value.italic());
Source§

fn underline(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Underline].

§Example
println!("{}", value.underline());

Returns self with the attr() set to [Attribute :: Blink].

§Example
println!("{}", value.blink());

Returns self with the attr() set to [Attribute :: RapidBlink].

§Example
println!("{}", value.rapid_blink());
Source§

fn invert(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Invert].

§Example
println!("{}", value.invert());
Source§

fn conceal(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Conceal].

§Example
println!("{}", value.conceal());
Source§

fn strike(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Strike].

§Example
println!("{}", value.strike());
Source§

fn quirk(&self, value: Quirk) -> Painted<&T>

Enables the yansi Quirk value.

This method should be used rarely. Instead, prefer to use quirk-specific builder methods like mask() and wrap(), which have the same functionality but are pithier.

§Example

Enable wrapping using .quirk():

use yansi::{Paint, Quirk};

painted.quirk(Quirk::Wrap);

Enable wrapping using wrap().

use yansi::Paint;

painted.wrap();
Source§

fn mask(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Mask].

§Example
println!("{}", value.mask());
Source§

fn wrap(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Wrap].

§Example
println!("{}", value.wrap());
Source§

fn linger(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Linger].

§Example
println!("{}", value.linger());
Source§

fn clear(&self) -> Painted<&T>

👎Deprecated since 1.0.1:

renamed to resetting() due to conflicts with Vec::clear(). The clear() method will be removed in a future release.

Returns self with the quirk() set to [Quirk :: Clear].

§Example
println!("{}", value.clear());
Source§

fn resetting(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Resetting].

§Example
println!("{}", value.resetting());
Source§

fn bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Bright].

§Example
println!("{}", value.bright());
Source§

fn on_bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: OnBright].

§Example
println!("{}", value.on_bright());
Source§

fn whenever(&self, value: Condition) -> Painted<&T>

Conditionally enable styling based on whether the Condition value applies. Replaces any previous condition.

See the crate level docs for more details.

§Example

Enable styling painted only when both stdout and stderr are TTYs:

use yansi::{Paint, Condition};

painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);
Source§

fn new(self) -> Painted<Self>
where Self: Sized,

Create a new Painted with a default Style. Read more
Source§

fn paint<S>(&self, style: S) -> Painted<&Self>
where S: Into<Style>,

Apply a style wholesale to self. Any previous style is replaced. Read more
Source§

impl<T> Pointee for T

Source§

type Metadata = ()

The metadata type for pointers and references to this type.
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Rleable for T
where T: Clone + PartialEq + Serialize + for<'de> Deserialize<'de>,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Scalar for T
where T: 'static + Clone + PartialEq + Debug,

Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
Source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more