extensions/markdown-language-features/src/languageFeatures/folding.ts/MdFoldingProvider/getBlockFoldingRanges
class MdFoldingProvider:	private async getBlockFoldingRanges(document: ITextDocument): Promise<vscode.FoldingRange[]> {
		const tokens = await this.parser.tokenize(document);
		const multiLineListItems = tokens.filter(isFoldableToken);
		return multiLineListItems.map(listItem => {
			const start = listItem.map[0];
			let end = listItem.map[1] - 1;
			if (document.lineAt(end).isEmptyOrWhitespace && end >= start + 1) {
				end = end - 1;
			}
			return new vscode.FoldingRange(start, end, this.getFoldingRangeKind(listItem));
		});
	}