Documentation
¶
Overview ¶
Package configtui is a standalone Bubble Tea terminal Config Builder/Editor that mirrors the web Config Builder (web/configbuilder). It is reflection- driven: it walks config.Config so every field is editable automatically (it cannot drift from the schema), with a metadata table supplying the web-like polish — labels, help, select options, Hz formatting, fieldset grouping and the AdvancedJSON long-tail. It operates on the local filesystem via the config package directly (no daemon, no browser).
The labels / help / select options / Hz+freq-list flags all come from the shared registry in internal/configbuilder (sections.go + fieldmeta.go) so the terminal builder and the web builder present identical help from one source.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Model ¶
type Model struct {
// contains filtered or unexported fields
}
Model is the standalone terminal Config Builder.
func New ¶
func New(dirs []string, dirExplicit bool, rrAuth radioreference.Auth, parse ParseFunc, initialPath string) Model
New builds the model. dirs is the allowed config directories; dirExplicit says whether they came from an operator-supplied -config-dir (as opposed to the auto-discovery candidate list), which decides where Save-As defaults; rrAuth the RadioReference creds; parse the injected import parser; initialPath an optional file to open at start.
type ParseFunc ¶
type ParseFunc func(path, kind string) (config.SystemConfig, []configbuilder.TalkgroupCSVRow, error)
ParseFunc parses one PDF/CSV import file (kind "pdf"/"csv") into a parsed system, injected by the cmd wrapper which owns the parser. Returns the system config + talkgroup rows to fold into the draft.