pub enum PluginTraceLevel {
Off,
Error,
Warn,
Info,
Debug,
Trace,
}Expand description
plugin.trace-level — the global default plugin boundary-trace verbosity.
Ordered least→most verbose; a record is kept when its level ≤ this gate.
info (the default) drops per-call traces — authors opt a plugin up to
debug / trace (globally here, or per-plugin from the :plugins view).
Variants§
Off
Silence every plugin’s trace entirely.
Error
Traps only.
Warn
Guest errors and traps.
Info
The default: crash/lifecycle signal only, no per-call traces.
Debug
Every host↔guest call, timed.
Trace
Every call with argument / result detail.
Implementations§
Source§impl PluginTraceLevel
impl PluginTraceLevel
Sourcepub fn label(&self) -> &'static str
pub fn label(&self) -> &'static str
The on-disk / :set spelling (off … trace). Deliberately
identical to lattice_plugin_host::TraceLevel’s labels: the
loader bridges the two types through this string.
Sourcepub fn doc(&self) -> &'static str
pub fn doc(&self) -> &'static str
One-line description of this level for the :set value
completion marginalia.
Sourcepub fn all() -> [PluginTraceLevel; 6]
pub fn all() -> [PluginTraceLevel; 6]
Every level, least → most verbose (the closed value set).
Sourcepub fn parse_label(s: &str) -> Result<Self, String>
pub fn parse_label(s: &str) -> Result<Self, String>
Parse a Self::label back into a level. Exact match; any
other input is an Err naming the accepted forms.
§Examples
use lattice_config::PluginTraceLevel;
assert_eq!(PluginTraceLevel::parse_label("debug"), Ok(PluginTraceLevel::Debug));
assert_eq!(PluginTraceLevel::default().label(), "info");
assert!(PluginTraceLevel::parse_label("verbose").is_err());Trait Implementations§
Source§impl Clone for PluginTraceLevel
impl Clone for PluginTraceLevel
Source§fn clone(&self) -> PluginTraceLevel
fn clone(&self) -> PluginTraceLevel
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for PluginTraceLevel
Source§impl Debug for PluginTraceLevel
impl Debug for PluginTraceLevel
Source§impl Default for PluginTraceLevel
impl Default for PluginTraceLevel
Source§fn default() -> PluginTraceLevel
fn default() -> PluginTraceLevel
impl Eq for PluginTraceLevel
Source§impl OptionType for PluginTraceLevel
impl OptionType for PluginTraceLevel
Source§fn enumerate_is_exhaustive() -> bool
fn enumerate_is_exhaustive() -> bool
TC.1: closed — parse accepts these forms and nothing else, so
the schema is an enum and :customize can offer a picker.
Source§fn parse(s: &str) -> Result<Self, String>
fn parse(s: &str) -> Result<Self, String>
:set name=value. Errors are
surfaced verbatim through the cmdline echo, so the message
should read well to the user (mention valid forms when the
space is finite). The parser MUST round-trip with format:
T::parse(&v.format()) == Ok(v) for every v.Source§fn format(&self) -> String
fn format(&self) -> String
:set foo? echo,
the customize buffer view, value comparison). Round-trips
with Self::parse.Source§fn type_label() -> &'static str
fn type_label() -> &'static str
:describe-option ("boolean",
"foldmethod", etc.). Used in help bodies and the customize
buffer view.Source§fn enumerate() -> Option<Vec<&'static str>>
fn enumerate() -> Option<Vec<&'static str>>
:set foo=<Tab>
completion. None means “free-form” (no enumerable space –
integers, file paths, free strings). The values are
&'static str to keep the completion source allocation-free
in the common case.Source§fn enumerate_with_docs() -> Option<Vec<EnumeratedValue>>
fn enumerate_with_docs() -> Option<Vec<EnumeratedValue>>
Self::enumerate with empty docs;
types with rich help override. Read moreSource§fn name_forms(_canonical: &str) -> Vec<String>
fn name_forms(_canonical: &str) -> Vec<String>
:set nu / :set nonu). Default:
no extra forms. Booleans return [format!("no{canonical}")].Source§fn is_bool() -> bool
fn is_bool() -> bool
:set noFOO. bool
returns true; everything else false. Drives the negate
path in the cmdline parser.Source§fn accepts_list() -> bool
fn accepts_list() -> bool
Self::parse accepts, rather than rejected
as “not applicable to a scalar option”. false for every
scalar type (the default); true for list types like
crate::ModelineZone. Drives loader::apply_array (ML.5).
The :set cmdline path is unaffected — it always passes a
string and never sees a TOML array.Source§fn try_negation_value() -> Result<Self, String>
fn try_negation_value() -> Result<Self, String>
Self::is_bool true).
Default: returns Err – the registry guards by checking
is_bool() first, so callers that respect the contract
won’t observe this. The bool impl returns Ok(false).Source§fn schema() -> ConfigSchema
fn schema() -> ConfigSchema
Source§fn to_value(&self) -> ConfigValue
fn to_value(&self) -> ConfigValue
Source§fn from_value(value: &ConfigValue) -> Result<Self, String>
fn from_value(value: &ConfigValue) -> Result<Self, String>
Self::to_value,
deferring to parse so a type’s validation rules apply on this
path exactly as they do on :set.Source§impl PartialEq for PluginTraceLevel
impl PartialEq for PluginTraceLevel
impl StructuralPartialEq for PluginTraceLevel
Auto Trait Implementations§
impl Freeze for PluginTraceLevel
impl RefUnwindSafe for PluginTraceLevel
impl Send for PluginTraceLevel
impl Sync for PluginTraceLevel
impl Unpin for PluginTraceLevel
impl UnsafeUnpin for PluginTraceLevel
impl UnwindSafe for PluginTraceLevel
Blanket Implementations§
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.