diff options
Diffstat (limited to 'internal/lsp')
| -rw-r--r-- | internal/lsp/handlers.go | 35 | ||||
| -rw-r--r-- | internal/lsp/server.go | 1 |
2 files changed, 23 insertions, 13 deletions
diff --git a/internal/lsp/handlers.go b/internal/lsp/handlers.go index 565be64..40ae143 100644 --- a/internal/lsp/handlers.go +++ b/internal/lsp/handlers.go @@ -38,18 +38,22 @@ func (s *Server) handle(req Request) { } func (s *Server) handleInitialize(req Request) { - res := InitializeResult{ - Capabilities: ServerCapabilities{ - TextDocumentSync: 1, // 1 = TextDocumentSyncKindFull - CompletionProvider: &CompletionOptions{ - ResolveProvider: false, - // TODO: Make the trigger characters configurable - TriggerCharacters: []string{".", ":", "/", "_"}, - }, - }, - ServerInfo: &ServerInfo{Name: "hexai", Version: internal.Version}, - } - s.reply(req.ID, res, nil) + version := internal.Version + if s.llmClient != nil { + version = version + " [" + s.llmClient.Name() + ":" + s.llmClient.DefaultModel() + "]" + } + res := InitializeResult{ + Capabilities: ServerCapabilities{ + TextDocumentSync: 1, // 1 = TextDocumentSyncKindFull + CompletionProvider: &CompletionOptions{ + ResolveProvider: false, + // TODO: Make the trigger characters configurable + TriggerCharacters: []string{".", ":", "/", "_"}, + }, + }, + ServerInfo: &ServerInfo{Name: "hexai", Version: version}, + } + s.reply(req.ID, res, nil) } func (s *Server) handleInitialized() { @@ -158,10 +162,15 @@ func (s *Server) tryLLMCompletion(p CompletionParams, above, current, below, fun te, filter := computeTextEditAndFilter(cleaned, inParams, current, p) rm := s.collectPromptRemovalEdits(p.TextDocument.URI) label := labelForCompletion(cleaned, filter) + // Detail shows provider/model for visibility in client UI + detail := "Hexai LLM completion" + if s.llmClient != nil { + detail = "Hexai " + s.llmClient.Name() + ":" + s.llmClient.DefaultModel() + } items := []CompletionItem{{ Label: label, Kind: 1, - Detail: "OpenAI through Hexai completion", + Detail: detail, InsertTextFormat: 1, FilterText: strings.TrimLeft(filter, " \t"), TextEdit: te, diff --git a/internal/lsp/server.go b/internal/lsp/server.go index 65d0b95..4e077a4 100644 --- a/internal/lsp/server.go +++ b/internal/lsp/server.go @@ -52,6 +52,7 @@ func NewServer(r io.Reader, w io.Writer, logger *log.Logger, logContext bool, ma logging.Logf("lsp ", "llm disabled: %v", err) } else { s.llmClient = c + logging.Logf("lsp ", "llm enabled provider=%s model=%s", c.Name(), c.DefaultModel()) } return s } |
