pub enum Tool {
ClaudeCode,
QwenCode,
CodexCli,
CopilotCli,
Other(Cow<'static, str>),
}Expand description
Tool::Other(s) is intentionally NOT canonicalized: it compares
unequal to a known variant even when s.eq_ignore_ascii_case("claude").
Supply runtime-detected tool names through the public entry points
(parse_with_opts with ParseOpts::with_tool, or the
LINESMITH_TOOL env var) — the internal alias table folds known
names into canonical variants before reaching Other, so direct
Tool::Other("claude")-style construction is a contract violation.
Variants§
ClaudeCode
QwenCode
CodexCli
CopilotCli
Other(Cow<'static, str>)
Unknown tool; structure is parsed best-effort and tool-specific
fields remain accessible via StatusContext::raw.
Trait Implementations§
impl Eq for Tool
impl StructuralPartialEq for Tool
Auto Trait Implementations§
impl Freeze for Tool
impl RefUnwindSafe for Tool
impl Send for Tool
impl Sync for Tool
impl Unpin for Tool
impl UnsafeUnpin for Tool
impl UnwindSafe for Tool
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
Compare self to
key and return true if they are equal.