Skip to main content

Config

Struct Config 

Source
pub struct Config {
Show 20 fields pub path_template: String, pub default_base: Option<String>, pub copy: Vec<String>, pub hooks_post_create: Option<String>, pub hooks_pre_remove: Option<String>, pub editor: Option<String>, pub remove_delete_merged_branch: bool, pub remove_untracked_blocks: bool, pub pr_default_remote: String, pub submodules_init: SubmoduleInit, pub agent_model: AgentModel, pub agent_effort: Effort, pub list_show_untracked: bool, pub list_columns: Vec<Column>, pub ui_nerd_fonts: bool, pub ui_mouse: bool, pub ui_color: ColorChoice, pub ui_theme: ThemePreset, pub theme_overrides: ThemeOverrides, pub keybinding_overrides: Vec<(KeyAction, KeyChord)>,
}
Expand description

The fully-resolved configuration after merging all layers.

Fields§

§path_template: String

Worktree-store path template (spec §6).

§default_base: Option<String>

Base ref for new when a branch is created; None resolves the repo’s default branch at runtime.

§copy: Vec<String>

Glob patterns to copy into new worktrees (spec §8).

§hooks_post_create: Option<String>

Shell command run after worktree creation.

§hooks_pre_remove: Option<String>

Shell command run before worktree removal.

§editor: Option<String>

Editor command; None falls back to $VISUAL/$EDITOR.

§remove_delete_merged_branch: bool

Delete a wt-created branch on remove if fully merged.

§remove_untracked_blocks: bool

Whether untracked files count as dirty for remove/prune guards.

§pr_default_remote: String

Remote used for PR fetches.

§submodules_init: SubmoduleInit

When to auto-initialize git submodules on create/checkout (issue #50).

§agent_model: AgentModel

Default model for the AI PR auto-fill (wt pr open --ai); overridable per-invocation by --model or the TUI’s Ctrl-M key.

§agent_effort: Effort

Default effort for the AI PR auto-fill; overridable by --effort or the TUI’s Ctrl-E key.

§list_show_untracked: bool

Show ? in the dirty column for untracked files.

§list_columns: Vec<Column>

Ordered list of columns to display in wt list.

§ui_nerd_fonts: bool

Enable Nerd Font glyphs in the TUI.

§ui_mouse: bool

Enable mouse support in the TUI.

§ui_color: ColorChoice

Color output setting (reconciled with --color/NO_COLOR).

§ui_theme: ThemePreset

Built-in theme preset (the base TUI palette).

§theme_overrides: ThemeOverrides

Per-color overrides layered on top of the preset ([ui.theme]).

§keybinding_overrides: Vec<(KeyAction, KeyChord)>

Accumulated ui.keybindings overrides (applied over the defaults).

Implementations§

Source§

impl Config

Source

pub fn apply(&mut self, layer: ConfigLayer)

Applies a parsed layer on top of this config (spec §11 merge semantics): scalars replace, arrays (copy, list.columns) replace wholesale, ui.keybindings deep-merges per action, and the [ui.theme] colors deep-merge per slot (the preset is a scalar). Overrides accumulate in apply order, so a later layer wins.

Source

pub fn palette(&self) -> Palette

Resolves the effective TUI Palette: the selected preset’s base palette with any [ui.theme] per-color overrides applied on top.

Source

pub fn keymap(&self) -> Keymap

Builds the effective TUI keymap: the defaults with the configured overrides applied in order.

Source

pub fn color_enabled( &self, flag: Option<ColorChoice>, env: &Env, stdout_is_tty: bool, ) -> bool

Resolves whether to emit color, reconciling the --color flag, the NO_COLOR env var, and ui.color (spec §11 precedence).

Trait Implementations§

Source§

impl Clone for Config

Source§

fn clone(&self) -> Config

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 Config

Source§

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

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

impl Default for Config

Source§

fn default() -> Self

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

impl Eq for Config

Source§

impl PartialEq for Config

Source§

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

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

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

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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 more
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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more