| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-06-11 | Refactor lsp.Server God Object: extract chat and completion subsystems | Paul Buetow | |
| The Server type accumulated two large, tangled feature subsystems (in-editor chat and code completion) alongside its core LSP dispatch role. Pull them into cohesive types that own their state and logic while delegating shared infrastructure back to Server via a back-reference. - Add completionService (completion_service.go): owns the completion cache/throttle state (completionState) and all completion request-handling logic (handleCompletion, plan/jobs/execute, provider-native path, post-processing, message building, prefix heuristics). Methods moved off Server in handlers_completion.go to completionService. - Add chatService (chat_service.go + chat_handlers.go): owns the input-activity clock (lastInput, with its own mutex instead of Server.mu) and all in-editor chat logic (detection, transcript history, message building, edit application, inline prompts) plus the slash-command handlers (chat_commands.go). - Server now holds chat/completion fields, wires them in NewServer, and delegates (dispatch table, didChange, debounce gate) to them. Thin Server shims preserve the existing completion-state API for callers/tests. Pure refactor: no behavior or LSP protocol changes. Tests adjusted only to reach the relocated methods/state via the services. All tests pass with -race; coverage 86.1%. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> | |||
| 2026-03-16 | Document lock ordering, fix test data races, correct stateMu guard | Paul Buetow | |
| - Add doc comments clarifying Server.mu and completionState.stateMu are independent (no ordering constraint). - Fix test using wrong lock (s.mu instead of stateMu) for lastLLMCall. - Replace time.Sleep polling in 7 tests with s.inflight.Wait() to eliminate data races under -race. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> | |||
| 2026-03-16 | Decompose App God struct into embedded section structs | Paul Buetow | |
| 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 <noreply@anthropic.com> | |||
| 2026-03-02 | lsp: simplify ServerOptions to config-first model (task 410) | Paul Buetow | |
| 2025-10-03 | Switch inline prompt markers to >! prefixv0.15.1 | Paul Buetow | |
| 2025-09-24 | Add runtime config store and reload command | Paul Buetow | |
| 2025-09-19 | fix | Paul Buetow | |
| 2025-09-06 | use gofumpt | Paul Buetow | |
| 2025-09-06 | feat(lsp): configurable inline/chat triggers; switch inline markers to ↵ | Paul Buetow | |
| >text>/>>text>; update docs and example config; tests updated to new triggers and raise LSP coverage to >=85%; chore: remove semicolon legacy; chore(mage): auto-refresh coverage daily if docs/coverage.out is older than 24h | |||
