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/hexailsp/run_test.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'internal/hexailsp') diff --git a/internal/hexailsp/run_test.go b/internal/hexailsp/run_test.go index 743f064..2b0198a 100644 --- a/internal/hexailsp/run_test.go +++ b/internal/hexailsp/run_test.go @@ -99,8 +99,10 @@ func TestRunWithFactory_NormalizesContextMode_AndSetsPreviewLimit(t *testing.T) var stderr bytes.Buffer logger := log.New(&stderr, "hexai-lsp-server ", 0) cfg := appconfig.App{ - ContextMode: " File-On-New-Func ", - LogPreviewLimit: 3, + CoreConfig: appconfig.CoreConfig{ + ContextMode: " File-On-New-Func ", + LogPreviewLimit: 3, + }, } var gotOpts lsp.ServerOptions factory := func(r io.Reader, w io.Writer, logger *log.Logger, opts lsp.ServerOptions) ServerRunner { -- cgit v1.2.3