mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-03 15:01:57 +01:00
25 lines
991 B
TypeScript
25 lines
991 B
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. 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
|
|
) { }
|
|
|
|
provideDocumentSymbols(document: vscode.TextDocument): vscode.ProviderResult<vscode.SymbolInformation[]> {
|
|
const toc = new TableOfContentsProvider(this.engine, document);
|
|
return toc.getToc().map(entry => {
|
|
return new vscode.SymbolInformation(entry.text, vscode.SymbolKind.Namespace, '', entry.location);
|
|
});
|
|
}
|
|
} |