From de3e878ad12bbd3e609bd5b7d741fc792c72f255 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Mon, 16 Mar 2026 03:51:43 +0200 Subject: Decompose App God struct into embedded section structs Replace 60+ flat fields in App with 4 embedded section structs: CoreConfig, ProviderConfig, PromptConfig, FeatureConfig. Go field promotion preserves all existing field access patterns. Updated flattenAppConfig to recurse into embedded structs for runtimeconfig. Co-Authored-By: Claude Opus 4.6 --- internal/lsp/triggers_config_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'internal/lsp/triggers_config_test.go') diff --git a/internal/lsp/triggers_config_test.go b/internal/lsp/triggers_config_test.go index 193e117..dbcefd0 100644 --- a/internal/lsp/triggers_config_test.go +++ b/internal/lsp/triggers_config_test.go @@ -30,7 +30,7 @@ func TestShouldSuppressForChatTriggerEOL_CustomConfig(t *testing.T) { func TestNewServer_AssignsTriggerGlobals_AndParsingUsesThem(t *testing.T) { var out bytes.Buffer - cfg := appconfig.App{InlineOpen: "<", InlineClose: ">", ChatSuffix: ")", ChatPrefixes: []string{":"}} + cfg := appconfig.App{CoreConfig: appconfig.CoreConfig{InlineOpen: "<", InlineClose: ">", ChatSuffix: ")", ChatPrefixes: []string{":"}}} s := NewServer(bytes.NewReader(nil), &out, log.New(io.Discard, "", 0), ServerOptions{Config: &cfg}) openStr, _, openChar, closeChar := s.inlineMarkers() if openChar != '<' || closeChar != '>' { @@ -68,7 +68,7 @@ func TestIsTriggerEvent_BareDoubleOpenBlocksEvenWithContextTriggerChar(t *testin func TestDetectAndHandleChat_CustomConfig_InsertsReply(t *testing.T) { var out bytes.Buffer - cfg := appconfig.App{ChatSuffix: "#", ChatPrefixes: []string{")"}} + cfg := appconfig.App{CoreConfig: appconfig.CoreConfig{ChatSuffix: "#", ChatPrefixes: []string{")"}}} s := NewServer(bytes.NewReader(nil), &out, log.New(io.Discard, "", 0), ServerOptions{Config: &cfg}) s.llmClient = fakeLLM{resp: "Hello\nmulti-line reply"} uri := "file:///chat2.go" -- cgit v1.2.3