Skip to main content

ToolFilter

Enum ToolFilter 

Source
pub enum ToolFilter {
    All,
    Only(Vec<String>),
    Skip(Vec<String>),
}
Expand description

Which tools sqz init should configure.

By default sqz init writes hook configs for every supported tool (Claude Code, Cursor, Windsurf, Cline, Gemini CLI, OpenCode, Codex). Users who only use one agent have asked (issue #11, @shochdoerfer) for a way to say “just OpenCode, please, leave the rest alone.” This filter is the plumbing for that.

Matching is by canonical tool name. The canonicalize_tool_name helper normalises user input (lowercase, hyphens/underscores/spaces collapsed, known aliases) so Opencode, open-code, opencode, OPENCODE all refer to the same tool.

Variants§

§

All

Install hook configs for every supported tool. The historical default of sqz init.

§

Only(Vec<String>)

Install hook configs only for the named tools. Unknown names are surfaced to the caller as errors by the canonicalisation layer so we don’t silently ignore typos.

§

Skip(Vec<String>)

Install hook configs for every supported tool EXCEPT the named tools. Useful when the user is fine with everything but wants one integration skipped (e.g. a project shared with collaborators who don’t want a .windsurfrules file in the repo).

Implementations§

Source§

impl ToolFilter

Source

pub fn includes(&self, tool_name: &str) -> bool

Return true if tool_name (as produced by generate_hook_configs) should be installed under this filter.

tool_name is the display name sqz uses internally:

  • "Claude Code", "Cursor", "Windsurf", "Cline", "Gemini CLI", "OpenCode", "Codex".

The caller is expected to have already canonicalised the filter entries via canonicalize_tool_name so the strings line up case- and alias-wise.

Trait Implementations§

Source§

impl Clone for ToolFilter

Source§

fn clone(&self) -> ToolFilter

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 ToolFilter

Source§

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

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

impl Default for ToolFilter

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl PartialEq for ToolFilter

Source§

fn eq(&self, other: &ToolFilter) -> 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 Eq for ToolFilter

Source§

impl StructuralPartialEq for ToolFilter

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> 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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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> Same for T

Source§

type Output = T

Should always be Self
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.