Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/markdown-language-features/preview-src/messaging.ts
3292 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import { SettingsManager } from './settings';
7
import type { FromWebviewMessage } from '../types/previewMessaging';
8
9
export interface MessagePoster {
10
/**
11
* Post a message to the markdown extension
12
*/
13
postMessage<T extends FromWebviewMessage.Type>(
14
type: T['type'],
15
body: Omit<T, 'source' | 'type'>
16
): void;
17
}
18
19
export const createPosterForVsCode = (vscode: any, settingsManager: SettingsManager): MessagePoster => {
20
return {
21
postMessage<T extends FromWebviewMessage.Type>(
22
type: T['type'],
23
body: Omit<T, 'source' | 'type'>
24
): void {
25
vscode.postMessage({
26
type,
27
source: settingsManager.settings!.source,
28
...body
29
});
30
}
31
};
32
};
33
34
35