diff options
Diffstat (limited to 'internal/lsp/server.go')
| -rw-r--r-- | internal/lsp/server.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/internal/lsp/server.go b/internal/lsp/server.go index 974b926..8e210b4 100644 --- a/internal/lsp/server.go +++ b/internal/lsp/server.go @@ -48,6 +48,8 @@ type Server struct { nextID int64 lastLLMCall time.Time + completionsDisabled bool + // Dispatch table for JSON-RPC methods → handler functions handlers map[string]func(Request) } @@ -334,6 +336,20 @@ func (s *Server) storePendingCompletion(key string, items []CompletionItem) { s.mu.Unlock() } +func (s *Server) setCompletionsDisabled(disabled bool) bool { + s.mu.Lock() + prev := s.completionsDisabled + s.completionsDisabled = disabled + s.mu.Unlock() + return prev +} + +func (s *Server) completionDisabled() bool { + s.mu.RLock() + defer s.mu.RUnlock() + return s.completionsDisabled +} + func (s *Server) takePendingCompletion(key string) []CompletionItem { s.mu.Lock() defer s.mu.Unlock() |
