Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/copilot/src/extension/ignore/vscode-node/ignoreProvider.ts
13399 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import * as vscode from 'vscode';
7
import { IIgnoreService } from '../../../platform/ignore/common/ignoreService';
8
import { Disposable } from '../../../util/vs/base/common/lifecycle';
9
import { IInstantiationService } from '../../../util/vs/platform/instantiation/common/instantiation';
10
import { IExtensionContribution } from '../../common/contributions';
11
12
class IgnoredFileProvider implements vscode.LanguageModelIgnoredFileProvider {
13
constructor(
14
@IIgnoreService private readonly _ignoreService: IIgnoreService,
15
) { }
16
17
provideFileIgnored(uri: vscode.Uri, token: vscode.CancellationToken): vscode.ProviderResult<boolean> {
18
return this._ignoreService.isCopilotIgnored(uri);
19
}
20
}
21
22
export class IgnoredFileProviderContribution extends Disposable implements IExtensionContribution {
23
constructor(
24
@IInstantiationService private readonly instantiationService: IInstantiationService,
25
) {
26
super();
27
28
this._register(vscode.lm.registerIgnoredFileProvider(this.instantiationService.createInstance(IgnoredFileProvider)));
29
}
30
}
31
32