-export const expandMacroUri = vscode.Uri.parse(
- 'rust-analyzer://expandMacro/[EXPANSION].rs',
-);
-
-export class ExpandMacroContentProvider
- implements vscode.TextDocumentContentProvider {
- public eventEmitter = new vscode.EventEmitter<vscode.Uri>();
-
- public provideTextDocumentContent(
- _uri: vscode.Uri,
- ): vscode.ProviderResult<string> {
- async function handle() {
- const editor = vscode.window.activeTextEditor;
- if (editor == null) {
- return '';
- }
-
- const position = editor.selection.active;
- const request: MacroExpandParams = {
- textDocument: { uri: editor.document.uri.toString() },
- position,
- };
- const expanded = await Server.client.sendRequest<ExpandedMacro>(
- 'rust-analyzer/expandMacro',
- request,
- );
-
- if (expanded == null) {
- return 'Not available';
- }
-
- return code_format(expanded);
- }
-
- return handle();
- }
-
- get onDidChange(): vscode.Event<vscode.Uri> {
- return this.eventEmitter.event;
- }
-}