mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-24 18:49:00 +01:00
feat: select the folding provider to use (#157434)
* feat: support extension id in property `editor.foldingStrategy` * work in progress * use new setting 'editor.defaultFoldingRangeProvider' defined in workspace * revert editorOptions changes Co-authored-by: Martin Aeschlimann <martinae@microsoft.com>
This commit is contained in:
@@ -695,8 +695,9 @@ export class MainThreadLanguageFeatures extends Disposable implements MainThread
|
||||
|
||||
// --- folding
|
||||
|
||||
$registerFoldingRangeProvider(handle: number, selector: IDocumentFilterDto[], eventHandle: number | undefined): void {
|
||||
$registerFoldingRangeProvider(handle: number, selector: IDocumentFilterDto[], extensionId: ExtensionIdentifier, eventHandle: number | undefined): void {
|
||||
const provider = <languages.FoldingRangeProvider>{
|
||||
id: extensionId.value,
|
||||
provideFoldingRanges: (model, context, token) => {
|
||||
return this._proxy.$provideFoldingRanges(handle, model.uri, context, token);
|
||||
}
|
||||
|
||||
@@ -389,7 +389,7 @@ export interface MainThreadLanguageFeaturesShape extends IDisposable {
|
||||
$emitInlayHintsEvent(eventHandle: number): void;
|
||||
$registerDocumentLinkProvider(handle: number, selector: IDocumentFilterDto[], supportsResolve: boolean): void;
|
||||
$registerDocumentColorProvider(handle: number, selector: IDocumentFilterDto[]): void;
|
||||
$registerFoldingRangeProvider(handle: number, selector: IDocumentFilterDto[], eventHandle: number | undefined): void;
|
||||
$registerFoldingRangeProvider(handle: number, selector: IDocumentFilterDto[], extensionId: ExtensionIdentifier, eventHandle: number | undefined): void;
|
||||
$emitFoldingRangeEvent(eventHandle: number, event?: any): void;
|
||||
$registerSelectionRangeProvider(handle: number, selector: IDocumentFilterDto[]): void;
|
||||
$registerCallHierarchyProvider(handle: number, selector: IDocumentFilterDto[]): void;
|
||||
|
||||
@@ -2358,7 +2358,7 @@ export class ExtHostLanguageFeatures implements extHostProtocol.ExtHostLanguageF
|
||||
const eventHandle = typeof provider.onDidChangeFoldingRanges === 'function' ? this._nextHandle() : undefined;
|
||||
|
||||
this._adapter.set(handle, new AdapterData(new FoldingProviderAdapter(this._documents, provider), extension));
|
||||
this._proxy.$registerFoldingRangeProvider(handle, this._transformDocumentSelector(selector), eventHandle);
|
||||
this._proxy.$registerFoldingRangeProvider(handle, this._transformDocumentSelector(selector), extension.identifier, eventHandle);
|
||||
let result = this._createDisposable(handle);
|
||||
|
||||
if (eventHandle !== undefined) {
|
||||
|
||||
Reference in New Issue
Block a user