diff options
Diffstat (limited to 'internal/lsp/handlers_utils.go')
| -rw-r--r-- | internal/lsp/handlers_utils.go | 38 |
1 files changed, 18 insertions, 20 deletions
diff --git a/internal/lsp/handlers_utils.go b/internal/lsp/handlers_utils.go index 3bd13ee..c8d2d24 100644 --- a/internal/lsp/handlers_utils.go +++ b/internal/lsp/handlers_utils.go @@ -81,43 +81,41 @@ func resolveDefaultModel(cfg appconfig.App, provider string) string { } } -func surfaceModelFromConfig(cfg appconfig.App, surface surfaceKind) string { +func surfaceConfigsFor(cfg appconfig.App, surface surfaceKind) []appconfig.SurfaceConfig { switch surface { case surfaceCompletion: - return cfg.CompletionModel + return cfg.CompletionConfigs case surfaceCodeAction: - return cfg.CodeActionModel + return cfg.CodeActionConfigs case surfaceChat: - return cfg.ChatModel + return cfg.ChatConfigs default: + return nil + } +} + +func surfaceModelFromConfig(cfg appconfig.App, surface surfaceKind) string { + configs := surfaceConfigsFor(cfg, surface) + if len(configs) == 0 { return "" } + return configs[0].Model } func surfaceProviderFromConfig(cfg appconfig.App, surface surfaceKind) string { - switch surface { - case surfaceCompletion: - return cfg.CompletionProvider - case surfaceCodeAction: - return cfg.CodeActionProvider - case surfaceChat: - return cfg.ChatProvider - default: + configs := surfaceConfigsFor(cfg, surface) + if len(configs) == 0 { return "" } + return configs[0].Provider } func surfaceTemperatureFromConfig(cfg appconfig.App, surface surfaceKind) *float64 { - switch surface { - case surfaceCompletion: - return cfg.CompletionTemperature - case surfaceCodeAction: - return cfg.CodeActionTemperature - case surfaceChat: - return cfg.ChatTemperature - default: + configs := surfaceConfigsFor(cfg, surface) + if len(configs) == 0 { return nil } + return configs[0].Temperature } func chooseSurfaceTemperature(surface surfaceKind, cfg appconfig.App, provider string, overrideModel, fallbackModel string) (float64, bool) { |
