diff options
| author | Paul Buetow <paul@buetow.org> | 2025-08-18 09:13:41 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-08-18 09:13:41 +0300 |
| commit | 6d29ac7e4b2604b5c7df50f33f8ef2357709faf2 (patch) | |
| tree | 6a164ee0a7c5a1f726447e8f29ab871af63528a1 /internal/lsp/server.go | |
| parent | 3217d2738af345629e7da14c52fa4ee5cb288fe9 (diff) | |
feat(lsp): add coding_temperature knob and remove hardcoded temps\n\n- Add to app config and server options.\n- Use in LSP code actions and completions.\n- Default to provider temperature when not set.\n- Update README and config.json.example.
Diffstat (limited to 'internal/lsp/server.go')
| -rw-r--r-- | internal/lsp/server.go | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/internal/lsp/server.go b/internal/lsp/server.go index 5f4423a..f1ca302 100644 --- a/internal/lsp/server.go +++ b/internal/lsp/server.go @@ -29,7 +29,9 @@ type Server struct { windowLines int maxContextTokens int noDiskIO bool - triggerChars []string + triggerChars []string + // If set, used as the LSP coding temperature for all LLM calls + codingTemperature *float64 // LLM request stats llmReqTotal int64 llmSentBytesTotal int64 @@ -40,14 +42,15 @@ type Server struct { // ServerOptions collects configuration for NewServer to avoid long parameter lists. type ServerOptions struct { - LogContext bool - MaxTokens int - ContextMode string - WindowLines int - MaxContextTokens int - - Client llm.Client - TriggerCharacters []string + LogContext bool + MaxTokens int + ContextMode string + WindowLines int + MaxContextTokens int + + Client llm.Client + TriggerCharacters []string + CodingTemperature *float64 } func NewServer(r io.Reader, w io.Writer, logger *log.Logger, opts ServerOptions) *Server { @@ -74,13 +77,14 @@ func NewServer(r io.Reader, w io.Writer, logger *log.Logger, opts ServerOptions) s.maxContextTokens = maxContextTokens s.startTime = time.Now() - s.llmClient = opts.Client - if len(opts.TriggerCharacters) == 0 { - s.triggerChars = []string{".", ":", "/", "_", ";", "?"} - } else { - s.triggerChars = append([]string{}, opts.TriggerCharacters...) - } - return s + s.llmClient = opts.Client + if len(opts.TriggerCharacters) == 0 { + s.triggerChars = []string{".", ":", "/", "_", ";", "?"} + } else { + s.triggerChars = append([]string{}, opts.TriggerCharacters...) + } + s.codingTemperature = opts.CodingTemperature + return s } func (s *Server) Run() error { |
