mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-01 17:23:35 -05:00
25 lines
1.0 KiB
TypeScript
25 lines
1.0 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
'use strict';
|
|
|
|
import * as vscode from 'vscode';
|
|
|
|
import { MarkdownEngine } from './markdownEngine';
|
|
import { TableOfContentsProvider } from './tableOfContentsProvider';
|
|
|
|
export default class MDDocumentSymbolProvider implements vscode.DocumentSymbolProvider {
|
|
|
|
constructor(
|
|
private engine: MarkdownEngine
|
|
) { }
|
|
|
|
public async provideDocumentSymbols(document: vscode.TextDocument): Promise<vscode.SymbolInformation[]> {
|
|
const toc = await new TableOfContentsProvider(this.engine, document).getToc();
|
|
return toc.map(entry => {
|
|
return new vscode.SymbolInformation('#'.repeat(entry.level) + ' ' + entry.text, vscode.SymbolKind.Namespace, '', entry.location);
|
|
});
|
|
}
|
|
} |