mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-21 17:19:01 +01:00
@@ -70,8 +70,19 @@ export default class MarkdownFoldingProvider implements vscode.FoldingRangeProvi
|
||||
|
||||
private async getBlockFoldingRanges(document: vscode.TextDocument): Promise<vscode.FoldingRange[]> {
|
||||
|
||||
const isFoldableToken = (token: Token) =>
|
||||
['fence', 'list_item_open'].indexOf(token.type) >= 0 && token.map[1] > token.map[0];
|
||||
const isFoldableToken = (token: Token) => {
|
||||
switch (token.type) {
|
||||
case 'fence':
|
||||
case 'list_item_open':
|
||||
return token.map[1] > token.map[0];
|
||||
|
||||
case 'html_block':
|
||||
return token.map[1] > token.map[0] + 1;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
const tokens = await this.engine.parse(document.uri, document.getText());
|
||||
const multiLineListItems = tokens.filter(isFoldableToken);
|
||||
|
||||
Reference in New Issue
Block a user