src/vs/workbench/contrib/customEditor/browser/customEditors.ts/CustomEditorService/registerContributionPoints
class CustomEditorService:	private registerContributionPoints(): void {
		// Clear all previous contributions we know
		this._editorResolverDisposables.clear();

		for (const contributedEditor of this._contributedEditors) {
			for (const globPattern of contributedEditor.selector) {
				if (!globPattern.filenamePattern) {
					continue;
				}
				this._editorResolverDisposables.add(this.editorResolverService.registerEditor(
					globPattern.filenamePattern,
					{
						id: contributedEditor.id,
						label: contributedEditor.displayName,
						detail: contributedEditor.providerDisplayName,
						priority: contributedEditor.priority,
					},
					{
						singlePerResource: () => !this.getCustomEditorCapabilities(contributedEditor.id)?.supportsMultipleEditorsPerDocument ?? true
					},
					({ resource }, group) => {
						return { editor: CustomEditorInput.create(this.instantiationService, resource, contributedEditor.id, group.id) };
					},
					({ resource }, group) => {
						return { editor: CustomEditorInput.create(this.instantiationService, resource ?? URI.from({ scheme: Schemas.untitled, authority: `Untitled-${this._untitledCounter++}` }), contributedEditor.id, group.id) };
					},
					(diffEditorInput, group) => {
						return { editor: this.createDiffEditorInput(diffEditorInput, contributedEditor.id, group) };
					}
				));
			}
		}
	}