Skip to content
This repository was archived by the owner on May 20, 2026. It is now read-only.

Commit 6e05f61

Browse files
committed
feat: add languageDiagnosticsService in INESProviderOptions
1 parent 9e668cb commit 6e05f61

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

src/lib/node/chatLibMain.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,11 @@ export interface INESProviderOptions {
188188
readonly waitForTreatmentVariables?: boolean;
189189
readonly undesiredModelsManager?: IUndesiredModelsManager;
190190
readonly configOverrides?: Map<ConfigKeyType, unknown>;
191+
/**
192+
* Diagnostics provider used to enrich the NES prompt with the active file's
193+
* lint/error context. When omitted, falls back to a no-op {@link TestLanguageDiagnosticsService}.
194+
*/
195+
readonly languageDiagnosticsService?: ILanguageDiagnosticsService;
191196
}
192197

193198
export interface INESResult {
@@ -361,7 +366,7 @@ function setupServices(options: INESProviderOptions) {
361366
builder.define(ILogService, new SyncDescriptor(LogServiceImpl, [[logTarget || new ConsoleLog(undefined, InternalLogLevel.Trace)]]));
362367
builder.define(IGitExtensionService, new SyncDescriptor(NullGitExtensionService));
363368
builder.define(ILanguageContextProviderService, new SyncDescriptor(NullLanguageContextProviderService));
364-
builder.define(ILanguageDiagnosticsService, new SyncDescriptor(TestLanguageDiagnosticsService));
369+
builder.define(ILanguageDiagnosticsService, options.languageDiagnosticsService || new SyncDescriptor(TestLanguageDiagnosticsService));
365370
builder.define(IIgnoreService, new SyncDescriptor(NullIgnoreService));
366371
builder.define(ISnippyService, new SyncDescriptor(NullSnippyService));
367372
builder.define(IDomainService, new SyncDescriptor(DomainService));
@@ -719,6 +724,7 @@ export interface IInlineCompletionsProviderOptions {
719724
readonly capiClientService?: ICAPIClientService;
720725
readonly citationHandler?: IInlineCompletionsCitationHandler;
721726
readonly configOverrides?: Map<ConfigKeyType, unknown>;
727+
readonly languageDiagnosticsService?: ILanguageDiagnosticsService;
722728
}
723729

724730
export type IGetInlineCompletionsOptions = Exclude<Partial<GetGhostTextOptions>, 'promptOnly'> & {
@@ -958,7 +964,7 @@ function setupCompletionServices(options: IInlineCompletionsProviderOptions): II
958964
}
959965
});
960966
builder.define(ILanguageContextProviderService, options.languageContextProvider ?? new NullLanguageContextProviderService());
961-
builder.define(ILanguageDiagnosticsService, new SyncDescriptor(TestLanguageDiagnosticsService));
967+
builder.define(ILanguageDiagnosticsService, options.languageDiagnosticsService || new SyncDescriptor(TestLanguageDiagnosticsService));
962968
builder.define(IRequestLogger, new SyncDescriptor(NullRequestLogger));
963969

964970
return builder.seal();

0 commit comments

Comments
 (0)