src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.ts/createCandidateDecorations
async function createCandidateDecorations(model: ITextModel, breakpointDecorations: IBreakpointDecoration[], session: IDebugSession): Promise<{ range: Range; options: IModelDecorationOptions; breakpoint: IBreakpoint | undefined }[]> {
	const lineNumbers = distinct(breakpointDecorations.map(bpd => bpd.range.startLineNumber));
	const result: { range: Range; options: IModelDecorationOptions; breakpoint: IBreakpoint | undefined }[] = [];
	if (session.capabilities.supportsBreakpointLocationsRequest) {
		await Promise.all(lineNumbers.map(async lineNumber => {
			try {
				const positions = await session.breakpointsLocations(model.uri, lineNumber);
				if (positions.length > 1) {
					// Do not render candidates if there is only one, since it is already covered by the line breakpoint
					const firstColumn = model.getLineFirstNonWhitespaceColumn(lineNumber);
					const lastColumn = model.getLineLastNonWhitespaceColumn(lineNumber);
					positions.forEach(p => {
						const range = new Range(p.lineNumber, p.column, p.lineNumber, p.column + 1);
						if (p.column <= firstColumn || p.column > lastColumn) {
							// Do not render candidates on the start of the line.
							return;
						}

						const breakpointAtPosition = breakpointDecorations.find(bpd => bpd.range.equalsRange(range));
						if (breakpointAtPosition && breakpointAtPosition.inlineWidget) {
							// Space already occupied, do not render candidate.
							return;
						}
						result.push({
							range,
							options: {
								description: 'breakpoint-placeholder-decoration',
								stickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
								before: breakpointAtPosition ? undefined : {
									content: noBreakWhitespace,
									inlineClassName: `debug-breakpoint-placeholder`,
									inlineClassNameAffectsLetterSpacing: true
								},
							},
							breakpoint: breakpointAtPosition ? breakpointAtPosition.breakpoint : undefined
						});
					});
				}
			} catch (e) {
				// If there is an error when fetching breakpoint locations just do not render them
			}
		}));
	}

	return result;
}