Skip to main content

DestructiveDetector

Struct DestructiveDetector 

Source
pub struct DestructiveDetector { /* private fields */ }
Expand description

Detects destructive commands using glob pattern matching.

Patterns are built from the configured safety preset plus any custom patterns from the user’s config file.

Implementations§

Source§

impl DestructiveDetector

Source

pub fn new(config: &SafetyConfig) -> Self

Create a new detector from safety configuration.

Builds patterns from the preset level and appends any custom patterns.

Source

pub fn is_destructive(&self, command: &str) -> bool

Check if a command matches any destructive pattern.

The command is normalized before matching to prevent bypass tricks like double spaces or backslash escapes.

Source

pub fn match_reason(&self, command: &str) -> Option<String>

Return a human-readable reason if the command is destructive.

The command is normalized before matching to prevent bypass tricks like double spaces or backslash escapes.

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> 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<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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, 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.