blob: 25139463e1765766f77951c06e6cafda2f75479f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
package appconfig
import "slices"
// This file provides fine-grained, read-only accessors for the individual
// feature subsystems embedded in FeatureConfig. They let a consumer depend on
// just the subsystem config it needs (e.g. the MCP server only needs MCPConfig)
// instead of receiving the whole App God-struct. Each accessor returns a deep
// copy so callers cannot mutate App's internal slices.
// IgnoreSection returns a copy of the gitignore-aware filtering settings.
func (a *App) IgnoreSection() IgnoreConfig {
c := a.IgnoreConfig
c.IgnoreExtraPatterns = slices.Clone(a.IgnoreExtraPatterns)
return c
}
// StatsSection returns the usage statistics settings.
func (a *App) StatsSection() StatsConfig {
return a.StatsConfig
}
// TmuxEditSection returns a copy of the tmux popup editor settings.
func (a *App) TmuxEditSection() TmuxEditConfig {
c := a.TmuxEditConfig
c.TmuxEditAgents = append([]TmuxEditAgentCfg{}, a.TmuxEditAgents...)
return c
}
// TmuxActionSection returns a copy of the tmux action menu settings.
func (a *App) TmuxActionSection() TmuxActionConfig {
c := a.TmuxActionConfig
c.TmuxActionMenu = append([]TmuxActionMenuEntry{}, a.TmuxActionMenu...)
return c
}
// MCPSection returns the Model Context Protocol server settings.
func (a *App) MCPSection() MCPConfig {
return a.MCPConfig
}
|