pub struct DetectorSettings<T> { /* private fields */ }Expand description
Settings for enabling extra detector features.
Implementations§
Source§impl DetectorSettings<NoTerminal>
impl DetectorSettings<NoTerminal>
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new DetectorSettings.
Source§impl<T> DetectorSettings<T>
impl<T> DetectorSettings<T>
Sourcepub fn enable_terminfo(self, enable_terminfo: bool) -> Self
Available on crate feature terminfo only.
pub fn enable_terminfo(self, enable_terminfo: bool) -> Self
terminfo only.Enable or disable querying the terminfo database.
Sourcepub fn enable_tmux_info(self, enable_tmux_info: bool) -> Self
pub fn enable_tmux_info(self, enable_tmux_info: bool) -> Self
Enable or disable querying the tmux information if tmux is used.
Source§impl<T> DetectorSettings<T>where
T: QueryTerminal,
impl<T> DetectorSettings<T>where
T: QueryTerminal,
Sourcepub fn query_terminal<Q>(self, query_terminal: Q) -> DetectorSettings<Q>
Available on crate feature query-detect only.
pub fn query_terminal<Q>(self, query_terminal: Q) -> DetectorSettings<Q>
query-detect only.Query the terminal for true color support using the given query method.
If this option is enabled, the terminal may be put into raw mode while the terminal query is performed and then back into cooked mode afterward. It’s important to prevent other threads from reading or writing to the terminal while this happens because they could conflict with each other.
Source§impl DetectorSettings<DefaultTerminal>
impl DetectorSettings<DefaultTerminal>
Sourcepub fn with_query() -> Result<Self>
Available on crate feature query-detect only.
pub fn with_query() -> Result<Self>
query-detect only.Create a new DetectorSettings with terminal querying enabled.
If this option is enabled, the terminal may be put into raw mode while the terminal query is performed and then back into cooked mode afterward. It’s important to prevent other threads from reading or writing to the terminal while this happens because they could conflict with each other.
Examples found in repository?
More examples
8fn main() {
9 let color = parse_input();
10 let profile = TermProfile::detect(&stdout(), DetectorSettings::with_query().unwrap());
11 println!("Detected profile: {profile:?}");
12 print!("Adapted: ");
13 print_color(profile, color);
14 if profile > TermProfile::Ansi256 {
15 print!("ANSI 256: ");
16 print_color(TermProfile::Ansi256, color);
17 }
18 if profile > TermProfile::Ansi16 {
19 print!("ANSI 16: ");
20 print_color(TermProfile::Ansi16, color);
21 }
22}Trait Implementations§
Source§impl<T: Clone> Clone for DetectorSettings<T>
impl<T: Clone> Clone for DetectorSettings<T>
Source§fn clone(&self) -> DetectorSettings<T>
fn clone(&self) -> DetectorSettings<T>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<T: Debug> Debug for DetectorSettings<T>
impl<T: Debug> Debug for DetectorSettings<T>
Source§impl Default for DetectorSettings<NoTerminal>
impl Default for DetectorSettings<NoTerminal>
Source§impl<T: PartialEq> PartialEq for DetectorSettings<T>
impl<T: PartialEq> PartialEq for DetectorSettings<T>
impl<T: Eq> Eq for DetectorSettings<T>
impl<T> StructuralPartialEq for DetectorSettings<T>
Auto Trait Implementations§
impl<T> Freeze for DetectorSettings<T>where
T: Freeze,
impl<T> RefUnwindSafe for DetectorSettings<T>where
T: RefUnwindSafe,
impl<T> Send for DetectorSettings<T>where
T: Send,
impl<T> Sync for DetectorSettings<T>where
T: Sync,
impl<T> Unpin for DetectorSettings<T>where
T: Unpin,
impl<T> UnwindSafe for DetectorSettings<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle.Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other into Self, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
T.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self into T, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds error is returned which contains
the unclamped color. Read more