obsidian-dev-utils 59.0.2 → 61.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/lib/cjs/library.cjs +1 -1
- package/dist/lib/cjs/obsidian/{command-handlers/app-active-file-provider.cjs → active-file-provider.cjs} +4 -4
- package/dist/lib/{esm/obsidian/command-handlers/app-active-file-provider.d.mts → cjs/obsidian/active-file-provider.d.cts} +13 -2
- package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.cjs +1 -1
- package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.cjs +15 -11
- package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.d.cts +11 -5
- package/dist/lib/cjs/obsidian/command-handlers/command-handler.cjs +1 -1
- package/dist/lib/cjs/obsidian/command-handlers/command-handler.d.cts +3 -61
- package/dist/lib/cjs/obsidian/command-handlers/index.cjs +1 -7
- package/dist/lib/cjs/obsidian/command-handlers/index.d.cts +0 -2
- package/dist/lib/cjs/obsidian/command-registrar.cjs +154 -0
- package/dist/lib/cjs/obsidian/command-registrar.d.cts +30 -0
- package/dist/lib/cjs/obsidian/data-handler.cjs +163 -0
- package/dist/lib/cjs/obsidian/data-handler.d.cts +48 -0
- package/dist/lib/cjs/obsidian/index.cjs +13 -1
- package/dist/lib/cjs/obsidian/index.d.cts +4 -0
- package/dist/lib/cjs/obsidian/menu-event-registrar.cjs +173 -0
- package/dist/lib/cjs/obsidian/menu-event-registrar.d.cts +90 -0
- package/dist/lib/cjs/obsidian/plugin/components/plugin-settings-component.cjs +32 -33
- package/dist/lib/cjs/obsidian/plugin/components/plugin-settings-component.d.cts +5 -24
- package/dist/lib/cjs/obsidian/plugin/components/plugin-settings-tab-component.cjs +1 -12
- package/dist/lib/esm/library.mjs +1 -1
- package/dist/lib/{cjs/obsidian/command-handlers/app-active-file-provider.d.cts → esm/obsidian/active-file-provider.d.mts} +13 -2
- package/dist/lib/esm/obsidian/active-file-provider.mjs +46 -0
- package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.mjs +1 -1
- package/dist/lib/esm/obsidian/command-handlers/command-handler-component.d.mts +11 -5
- package/dist/lib/esm/obsidian/command-handlers/command-handler-component.mjs +15 -11
- package/dist/lib/esm/obsidian/command-handlers/command-handler.d.mts +3 -61
- package/dist/lib/esm/obsidian/command-handlers/command-handler.mjs +1 -1
- package/dist/lib/esm/obsidian/command-handlers/index.d.mts +0 -2
- package/dist/lib/esm/obsidian/command-handlers/index.mjs +1 -5
- package/dist/lib/esm/obsidian/command-registrar.d.mts +30 -0
- package/dist/lib/esm/obsidian/command-registrar.mjs +46 -0
- package/dist/lib/esm/obsidian/data-handler.d.mts +48 -0
- package/dist/lib/esm/obsidian/data-handler.mjs +55 -0
- package/dist/lib/esm/obsidian/index.d.mts +4 -0
- package/dist/lib/esm/obsidian/index.mjs +9 -1
- package/dist/lib/esm/obsidian/menu-event-registrar.d.mts +90 -0
- package/dist/lib/esm/obsidian/menu-event-registrar.mjs +65 -0
- package/dist/lib/esm/obsidian/plugin/components/plugin-settings-component.d.mts +5 -24
- package/dist/lib/esm/obsidian/plugin/components/plugin-settings-component.mjs +32 -33
- package/dist/lib/esm/obsidian/plugin/components/plugin-settings-tab-component.mjs +1 -12
- package/obsidian/active-file-provider/package.json +6 -0
- package/obsidian/command-registrar/package.json +6 -0
- package/obsidian/data-handler/package.json +6 -0
- package/obsidian/menu-event-registrar/package.json +6 -0
- package/package.json +2 -1
- package/dist/lib/cjs/obsidian/command-handlers/app-menu-event-registrar.cjs +0 -173
- package/dist/lib/cjs/obsidian/command-handlers/app-menu-event-registrar.d.cts +0 -41
- package/dist/lib/esm/obsidian/command-handlers/app-active-file-provider.mjs +0 -46
- package/dist/lib/esm/obsidian/command-handlers/app-menu-event-registrar.d.mts +0 -41
- package/dist/lib/esm/obsidian/command-handlers/app-menu-event-registrar.mjs +0 -65
- package/obsidian/command-handlers/app-active-file-provider/package.json +0 -6
- package/obsidian/command-handlers/app-menu-event-registrar/package.json +0 -6
|
@@ -3,19 +3,25 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Component that wraps a {@link CommandHandler} and manages its registration with Obsidian.
|
|
5
5
|
*/
|
|
6
|
-
import type {
|
|
6
|
+
import type { ActiveFileProvider } from '../active-file-provider.mjs';
|
|
7
|
+
import type { CommandRegistrar } from '../command-registrar.mjs';
|
|
8
|
+
import type { MenuEventRegistrar } from '../menu-event-registrar.mjs';
|
|
7
9
|
import type { CommandHandler } from './command-handler.mjs';
|
|
8
10
|
import { AsyncComponentBase } from '../components/async-component.mjs';
|
|
9
11
|
interface CommandHandlerComponentConstructorParams {
|
|
10
|
-
readonly
|
|
11
|
-
readonly
|
|
12
|
+
readonly activeFileProvider: ActiveFileProvider;
|
|
13
|
+
readonly commandHandlers: CommandHandler[];
|
|
14
|
+
readonly commandRegistrar: CommandRegistrar;
|
|
15
|
+
readonly menuEventRegistrar: MenuEventRegistrar;
|
|
12
16
|
}
|
|
13
17
|
/**
|
|
14
18
|
* Wraps a {@link CommandHandler} and registers it with Obsidian on load.
|
|
15
19
|
*/
|
|
16
20
|
export declare class CommandHandlerComponent extends AsyncComponentBase {
|
|
17
|
-
private readonly
|
|
18
|
-
private readonly
|
|
21
|
+
private readonly activeFileProvider;
|
|
22
|
+
private readonly commandHandlers;
|
|
23
|
+
private readonly commandRegistrar;
|
|
24
|
+
private readonly menuEventRegistrar;
|
|
19
25
|
/**
|
|
20
26
|
* Creates a new command handler component.
|
|
21
27
|
*
|
|
@@ -22,11 +22,11 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
22
22
|
})();
|
|
23
23
|
|
|
24
24
|
import { AsyncComponentBase } from "../components/async-component.mjs";
|
|
25
|
-
import { AppActiveFileProvider } from "./app-active-file-provider.mjs";
|
|
26
|
-
import { AppMenuEventRegistrar } from "./app-menu-event-registrar.mjs";
|
|
27
25
|
class CommandHandlerComponent extends AsyncComponentBase {
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
activeFileProvider;
|
|
27
|
+
commandHandlers;
|
|
28
|
+
commandRegistrar;
|
|
29
|
+
menuEventRegistrar;
|
|
30
30
|
/**
|
|
31
31
|
* Creates a new command handler component.
|
|
32
32
|
*
|
|
@@ -34,22 +34,26 @@ class CommandHandlerComponent extends AsyncComponentBase {
|
|
|
34
34
|
*/
|
|
35
35
|
constructor(params) {
|
|
36
36
|
super();
|
|
37
|
-
this.
|
|
38
|
-
this.
|
|
37
|
+
this.commandHandlers = params.commandHandlers;
|
|
38
|
+
this.activeFileProvider = params.activeFileProvider;
|
|
39
|
+
this.menuEventRegistrar = params.menuEventRegistrar;
|
|
40
|
+
this.commandRegistrar = params.commandRegistrar;
|
|
39
41
|
}
|
|
40
42
|
/**
|
|
41
43
|
* Registers the command with Obsidian and provides runtime context to the handler.
|
|
42
44
|
*/
|
|
43
45
|
async onload() {
|
|
44
|
-
this.plugin.addCommand(this.commandHandler.buildCommand());
|
|
45
46
|
const context = {
|
|
46
|
-
activeFileProvider:
|
|
47
|
-
menuEventRegistrar:
|
|
47
|
+
activeFileProvider: this.activeFileProvider,
|
|
48
|
+
menuEventRegistrar: this.menuEventRegistrar
|
|
48
49
|
};
|
|
49
|
-
|
|
50
|
+
for (const commandHandler of this.commandHandlers) {
|
|
51
|
+
this.commandRegistrar.addCommand(commandHandler.buildCommand());
|
|
52
|
+
await commandHandler.onRegistered(context);
|
|
53
|
+
}
|
|
50
54
|
}
|
|
51
55
|
}
|
|
52
56
|
export {
|
|
53
57
|
CommandHandlerComponent
|
|
54
58
|
};
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbW1hbmQtaGFuZGxlcnMvY29tbWFuZC1oYW5kbGVyLWNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbXBvbmVudCB0aGF0IHdyYXBzIGEge0BsaW5rIENvbW1hbmRIYW5kbGVyfSBhbmQgbWFuYWdlcyBpdHMgcmVnaXN0cmF0aW9uIHdpdGggT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBY3RpdmVGaWxlUHJvdmlkZXIgfSBmcm9tICcuLi9hY3RpdmUtZmlsZS1wcm92aWRlci50cyc7XG5pbXBvcnQgdHlwZSB7IENvbW1hbmRSZWdpc3RyYXIgfSBmcm9tICcuLi9jb21tYW5kLXJlZ2lzdHJhci50cyc7XG5pbXBvcnQgdHlwZSB7IE1lbnVFdmVudFJlZ2lzdHJhciB9IGZyb20gJy4uL21lbnUtZXZlbnQtcmVnaXN0cmFyLnRzJztcbmltcG9ydCB0eXBlIHtcbiAgQ29tbWFuZEhhbmRsZXIsXG4gIENvbW1hbmRIYW5kbGVyUmVnaXN0cmF0aW9uQ29udGV4dFxufSBmcm9tICcuL2NvbW1hbmQtaGFuZGxlci50cyc7XG5cbmltcG9ydCB7IEFzeW5jQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXN5bmMtY29tcG9uZW50LnRzJztcblxuaW50ZXJmYWNlIENvbW1hbmRIYW5kbGVyQ29tcG9uZW50Q29uc3RydWN0b3JQYXJhbXMge1xuICByZWFkb25seSBhY3RpdmVGaWxlUHJvdmlkZXI6IEFjdGl2ZUZpbGVQcm92aWRlcjtcbiAgcmVhZG9ubHkgY29tbWFuZEhhbmRsZXJzOiBDb21tYW5kSGFuZGxlcltdO1xuICByZWFkb25seSBjb21tYW5kUmVnaXN0cmFyOiBDb21tYW5kUmVnaXN0cmFyO1xuICByZWFkb25seSBtZW51RXZlbnRSZWdpc3RyYXI6IE1lbnVFdmVudFJlZ2lzdHJhcjtcbn1cblxuLyoqXG4gKiBXcmFwcyBhIHtAbGluayBDb21tYW5kSGFuZGxlcn0gYW5kIHJlZ2lzdGVycyBpdCB3aXRoIE9ic2lkaWFuIG9uIGxvYWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb21tYW5kSGFuZGxlckNvbXBvbmVudCBleHRlbmRzIEFzeW5jQ29tcG9uZW50QmFzZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZlRmlsZVByb3ZpZGVyOiBBY3RpdmVGaWxlUHJvdmlkZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZEhhbmRsZXJzOiBDb21tYW5kSGFuZGxlcltdO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbW1hbmRSZWdpc3RyYXI6IENvbW1hbmRSZWdpc3RyYXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgbWVudUV2ZW50UmVnaXN0cmFyOiBNZW51RXZlbnRSZWdpc3RyYXI7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgY29tbWFuZCBoYW5kbGVyIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXJzLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBhcmFtczogQ29tbWFuZEhhbmRsZXJDb21wb25lbnRDb25zdHJ1Y3RvclBhcmFtcykge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5jb21tYW5kSGFuZGxlcnMgPSBwYXJhbXMuY29tbWFuZEhhbmRsZXJzO1xuICAgIHRoaXMuYWN0aXZlRmlsZVByb3ZpZGVyID0gcGFyYW1zLmFjdGl2ZUZpbGVQcm92aWRlcjtcbiAgICB0aGlzLm1lbnVFdmVudFJlZ2lzdHJhciA9IHBhcmFtcy5tZW51RXZlbnRSZWdpc3RyYXI7XG4gICAgdGhpcy5jb21tYW5kUmVnaXN0cmFyID0gcGFyYW1zLmNvbW1hbmRSZWdpc3RyYXI7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIHRoZSBjb21tYW5kIHdpdGggT2JzaWRpYW4gYW5kIHByb3ZpZGVzIHJ1bnRpbWUgY29udGV4dCB0byB0aGUgaGFuZGxlci5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBvbmxvYWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29udGV4dDogQ29tbWFuZEhhbmRsZXJSZWdpc3RyYXRpb25Db250ZXh0ID0ge1xuICAgICAgYWN0aXZlRmlsZVByb3ZpZGVyOiB0aGlzLmFjdGl2ZUZpbGVQcm92aWRlcixcbiAgICAgIG1lbnVFdmVudFJlZ2lzdHJhcjogdGhpcy5tZW51RXZlbnRSZWdpc3RyYXJcbiAgICB9O1xuXG4gICAgZm9yIChjb25zdCBjb21tYW5kSGFuZGxlciBvZiB0aGlzLmNvbW1hbmRIYW5kbGVycykge1xuICAgICAgdGhpcy5jb21tYW5kUmVnaXN0cmFyLmFkZENvbW1hbmQoY29tbWFuZEhhbmRsZXIuYnVpbGRDb21tYW5kKCkpO1xuICAgICAgYXdhaXQgY29tbWFuZEhhbmRsZXIub25SZWdpc3RlcmVkKGNvbnRleHQpO1xuICAgIH1cbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFjQSxTQUFTLDBCQUEwQjtBQVk1QixNQUFNLGdDQUFnQyxtQkFBbUI7QUFBQSxFQUM3QztBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9WLFlBQVksUUFBa0Q7QUFDbkUsVUFBTTtBQUNOLFNBQUssa0JBQWtCLE9BQU87QUFDOUIsU0FBSyxxQkFBcUIsT0FBTztBQUNqQyxTQUFLLHFCQUFxQixPQUFPO0FBQ2pDLFNBQUssbUJBQW1CLE9BQU87QUFBQSxFQUNqQztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0EsTUFBc0IsU0FBd0I7QUFDNUMsVUFBTSxVQUE2QztBQUFBLE1BQ2pELG9CQUFvQixLQUFLO0FBQUEsTUFDekIsb0JBQW9CLEtBQUs7QUFBQSxJQUMzQjtBQUVBLGVBQVcsa0JBQWtCLEtBQUssaUJBQWlCO0FBQ2pELFdBQUssaUJBQWlCLFdBQVcsZUFBZSxhQUFhLENBQUM7QUFDOUQsWUFBTSxlQUFlLGFBQWEsT0FBTztBQUFBLElBQzNDO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -3,18 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Base class and interfaces for command handlers.
|
|
5
5
|
*/
|
|
6
|
-
import type { Command,
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
*/
|
|
10
|
-
export interface ActiveFileProvider {
|
|
11
|
-
/**
|
|
12
|
-
* Gets the currently active file.
|
|
13
|
-
*
|
|
14
|
-
* @returns The active file, or `null` if no file is active.
|
|
15
|
-
*/
|
|
16
|
-
getActiveFile(): null | TFile;
|
|
17
|
-
}
|
|
6
|
+
import type { Command, IconName } from 'obsidian';
|
|
7
|
+
import type { ActiveFileProvider } from '../active-file-provider.mjs';
|
|
8
|
+
import type { MenuEventRegistrar } from '../menu-event-registrar.mjs';
|
|
18
9
|
/**
|
|
19
10
|
* Parameters for creating a command handler.
|
|
20
11
|
*/
|
|
@@ -49,55 +40,6 @@ export interface CommandHandlerRegistrationContext {
|
|
|
49
40
|
*/
|
|
50
41
|
readonly menuEventRegistrar: MenuEventRegistrar;
|
|
51
42
|
}
|
|
52
|
-
/**
|
|
53
|
-
* Handler for the editor context menu event.
|
|
54
|
-
*
|
|
55
|
-
* @param menu - The menu to add items to.
|
|
56
|
-
* @param editor - The editor instance.
|
|
57
|
-
* @param ctx - The markdown file context.
|
|
58
|
-
*/
|
|
59
|
-
export type EditorMenuEventHandler = (menu: Menu, editor: Editor, ctx: MarkdownFileInfo) => void;
|
|
60
|
-
/**
|
|
61
|
-
* Handler for the single-file context menu event.
|
|
62
|
-
*
|
|
63
|
-
* @param menu - The menu to add items to.
|
|
64
|
-
* @param abstractFile - The file or folder.
|
|
65
|
-
* @param source - The source of the event.
|
|
66
|
-
* @param leaf - The workspace leaf, if available.
|
|
67
|
-
*/
|
|
68
|
-
export type FileMenuEventHandler = (menu: Menu, abstractFile: TAbstractFile, source: string, leaf?: WorkspaceLeaf) => void;
|
|
69
|
-
/**
|
|
70
|
-
* Handler for the multi-file context menu event.
|
|
71
|
-
*
|
|
72
|
-
* @param menu - The menu to add items to.
|
|
73
|
-
* @param abstractFiles - The files or folders.
|
|
74
|
-
* @param source - The source of the event.
|
|
75
|
-
* @param leaf - The workspace leaf, if available.
|
|
76
|
-
*/
|
|
77
|
-
export type FilesMenuEventHandler = (menu: Menu, abstractFiles: TAbstractFile[], source: string, leaf?: WorkspaceLeaf) => void;
|
|
78
|
-
/**
|
|
79
|
-
* Registers menu event handlers with lifecycle management.
|
|
80
|
-
*/
|
|
81
|
-
export interface MenuEventRegistrar {
|
|
82
|
-
/**
|
|
83
|
-
* Registers a handler for the editor context menu event.
|
|
84
|
-
*
|
|
85
|
-
* @param handler - The handler to register.
|
|
86
|
-
*/
|
|
87
|
-
registerEditorMenuEventHandler(handler: EditorMenuEventHandler): void;
|
|
88
|
-
/**
|
|
89
|
-
* Registers a handler for the single-file context menu event.
|
|
90
|
-
*
|
|
91
|
-
* @param handler - The handler to register.
|
|
92
|
-
*/
|
|
93
|
-
registerFileMenuEventHandler(handler: FileMenuEventHandler): void;
|
|
94
|
-
/**
|
|
95
|
-
* Registers a handler for the multi-file context menu event.
|
|
96
|
-
*
|
|
97
|
-
* @param handler - The handler to register.
|
|
98
|
-
*/
|
|
99
|
-
registerFilesMenuEventHandler(handler: FilesMenuEventHandler): void;
|
|
100
|
-
}
|
|
101
43
|
/**
|
|
102
44
|
* Base class for command handlers.
|
|
103
45
|
*
|
|
@@ -63,4 +63,4 @@ class CommandHandler {
|
|
|
63
63
|
export {
|
|
64
64
|
CommandHandler
|
|
65
65
|
};
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbW1hbmQtaGFuZGxlcnMvY29tbWFuZC1oYW5kbGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQmFzZSBjbGFzcyBhbmQgaW50ZXJmYWNlcyBmb3IgY29tbWFuZCBoYW5kbGVycy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIENvbW1hbmQsXG4gIEljb25OYW1lXG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBBY3RpdmVGaWxlUHJvdmlkZXIgfSBmcm9tICcuLi9hY3RpdmUtZmlsZS1wcm92aWRlci50cyc7XG5pbXBvcnQgdHlwZSB7IE1lbnVFdmVudFJlZ2lzdHJhciB9IGZyb20gJy4uL21lbnUtZXZlbnQtcmVnaXN0cmFyLnRzJztcblxuaW1wb3J0IHsgbm9vcEFzeW5jIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb24udHMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIGNyZWF0aW5nIGEgY29tbWFuZCBoYW5kbGVyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbW1hbmRIYW5kbGVyUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBpY29uIGZvciB0aGUgY29tbWFuZC5cbiAgICovXG4gIHJlYWRvbmx5IGljb246IEljb25OYW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIGNvbW1hbmQuXG4gICAqL1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGlzcGxheSBuYW1lIG9mIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcGx1Z2luIHRoYXQgb3ducyB0aGlzIGNvbW1hbmQuXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29udGV4dCBwcm92aWRlZCB0byBjb21tYW5kIGhhbmRsZXJzIGR1cmluZyByZWdpc3RyYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWFuZEhhbmRsZXJSZWdpc3RyYXRpb25Db250ZXh0IHtcbiAgLyoqXG4gICAqIFByb3ZpZGVyIGZvciBhY2Nlc3NpbmcgdGhlIGN1cnJlbnRseSBhY3RpdmUgZmlsZS5cbiAgICovXG4gIHJlYWRvbmx5IGFjdGl2ZUZpbGVQcm92aWRlcjogQWN0aXZlRmlsZVByb3ZpZGVyO1xuXG4gIC8qKlxuICAgKiBSZWdpc3RyYXIgZm9yIG1lbnUgZXZlbnQgaGFuZGxlcnMuXG4gICAqL1xuICByZWFkb25seSBtZW51RXZlbnRSZWdpc3RyYXI6IE1lbnVFdmVudFJlZ2lzdHJhcjtcbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBjb21tYW5kIGhhbmRsZXJzLlxuICpcbiAqIFVubGlrZSB0aGUgT2JzaWRpYW4ge0BsaW5rIENvbW1hbmR9IGludGVyZmFjZSwgaGFuZGxlcnMgYXJlIG5ldmVyIG11dGF0ZWQgYnkgT2JzaWRpYW4uXG4gKiBUaGUge0BsaW5rIGJ1aWxkQ29tbWFuZH0gbWV0aG9kIHByb2R1Y2VzIGEgcGxhaW4ge0BsaW5rIENvbW1hbmR9IG9iamVjdCBmb3IgcmVnaXN0cmF0aW9uLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29tbWFuZEhhbmRsZXIge1xuICAvKipcbiAgICogVGhlIGljb24gZm9yIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGljb246IEljb25OYW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIGNvbW1hbmQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgY29tbWFuZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBwbHVnaW4gdGhhdCBvd25zIHRoaXMgY29tbWFuZC5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBwbHVnaW5OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgY29tbWFuZCBoYW5kbGVyLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBjb21tYW5kIGhhbmRsZXIuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBDb21tYW5kSGFuZGxlclBhcmFtcykge1xuICAgIHRoaXMuaWNvbiA9IHBhcmFtcy5pY29uO1xuICAgIHRoaXMuaWQgPSBwYXJhbXMuaWQ7XG4gICAgdGhpcy5uYW1lID0gcGFyYW1zLm5hbWU7XG4gICAgdGhpcy5wbHVnaW5OYW1lID0gcGFyYW1zLnBsdWdpbk5hbWU7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIGEgcGxhaW4gT2JzaWRpYW4ge0BsaW5rIENvbW1hbmR9IG9iamVjdCBmb3IgcmVnaXN0cmF0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJucyBBIG5ldyB7QGxpbmsgQ29tbWFuZH0gb2JqZWN0LiBPYnNpZGlhbiBtYXkgbXV0YXRlIHRoaXMgb2JqZWN0IGFmdGVyIHJlZ2lzdHJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBidWlsZENvbW1hbmQoKTogQ29tbWFuZDtcblxuICAvKipcbiAgICogQ2FsbGVkIGFmdGVyIHRoZSBjb21tYW5kIGhhcyBiZWVuIHJlZ2lzdGVyZWQgd2l0aCBPYnNpZGlhbi5cbiAgICogU3ViY2xhc3NlcyB1c2UgdGhlIHByb3ZpZGVkIGNvbnRleHQgdG8gcmVnaXN0ZXIgbWVudSBldmVudCBoYW5kbGVycy5cbiAgICpcbiAgICogQHBhcmFtIF9jb250ZXh0IC0gVGhlIHJlZ2lzdHJhdGlvbiBjb250ZXh0IHByb3ZpZGluZyBydW50aW1lIGNhcGFiaWxpdGllcy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBvblJlZ2lzdGVyZWQoX2NvbnRleHQ6IENvbW1hbmRIYW5kbGVyUmVnaXN0cmF0aW9uQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IG5vb3BBc3luYygpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWNBLFNBQVMsaUJBQWlCO0FBZ0RuQixNQUFlLGVBQWU7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUluQjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLRztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9aLFlBQVksUUFBOEI7QUFDL0MsU0FBSyxPQUFPLE9BQU87QUFDbkIsU0FBSyxLQUFLLE9BQU87QUFDakIsU0FBSyxPQUFPLE9BQU87QUFDbkIsU0FBSyxhQUFhLE9BQU87QUFBQSxFQUMzQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBZUEsTUFBYSxhQUFhLFVBQTREO0FBQ3BGLFVBQU0sVUFBVTtBQUFBLEVBQ2xCO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
export * as abstract_file_command_handler from './abstract-file-command-handler.mjs';
|
|
2
|
-
export * as app_active_file_provider from './app-active-file-provider.mjs';
|
|
3
|
-
export * as app_menu_event_registrar from './app-menu-event-registrar.mjs';
|
|
4
2
|
export * as command_handler_component from './command-handler-component.mjs';
|
|
5
3
|
export * as command_handler from './command-handler.mjs';
|
|
6
4
|
export * as editor_command_handler from './editor-command-handler.mjs';
|
|
@@ -22,8 +22,6 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
22
22
|
})();
|
|
23
23
|
|
|
24
24
|
import * as abstract_file_command_handler from "./abstract-file-command-handler.mjs";
|
|
25
|
-
import * as app_active_file_provider from "./app-active-file-provider.mjs";
|
|
26
|
-
import * as app_menu_event_registrar from "./app-menu-event-registrar.mjs";
|
|
27
25
|
import * as command_handler_component from "./command-handler-component.mjs";
|
|
28
26
|
import * as command_handler from "./command-handler.mjs";
|
|
29
27
|
import * as editor_command_handler from "./editor-command-handler.mjs";
|
|
@@ -33,8 +31,6 @@ import * as global_command_handler from "./global-command-handler.mjs";
|
|
|
33
31
|
import * as open_settings_command_handler from "./open-settings-command-handler.mjs";
|
|
34
32
|
export {
|
|
35
33
|
abstract_file_command_handler,
|
|
36
|
-
app_active_file_provider,
|
|
37
|
-
app_menu_event_registrar,
|
|
38
34
|
command_handler,
|
|
39
35
|
command_handler_component,
|
|
40
36
|
editor_command_handler,
|
|
@@ -43,4 +39,4 @@ export {
|
|
|
43
39
|
global_command_handler,
|
|
44
40
|
open_settings_command_handler
|
|
45
41
|
};
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbW1hbmQtaGFuZGxlcnMvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qIFRISVMgSVMgQSBHRU5FUkFURUQvQlVORExFRCBGSUxFIEJZIEJVSUxEIFNDUklQVCAqL1xuXG5leHBvcnQgKiBhcyBhYnN0cmFjdF9maWxlX2NvbW1hbmRfaGFuZGxlciBmcm9tICcuL2Fic3RyYWN0LWZpbGUtY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCAqIGFzIGNvbW1hbmRfaGFuZGxlcl9jb21wb25lbnQgZnJvbSAnLi9jb21tYW5kLWhhbmRsZXItY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzIGNvbW1hbmRfaGFuZGxlciBmcm9tICcuL2NvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgKiBhcyBlZGl0b3JfY29tbWFuZF9oYW5kbGVyIGZyb20gJy4vZWRpdG9yLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgKiBhcyBmaWxlX2NvbW1hbmRfaGFuZGxlciBmcm9tICcuL2ZpbGUtY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCAqIGFzIGZvbGRlcl9jb21tYW5kX2hhbmRsZXIgZnJvbSAnLi9mb2xkZXItY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCAqIGFzIGdsb2JhbF9jb21tYW5kX2hhbmRsZXIgZnJvbSAnLi9nbG9iYWwtY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCAqIGFzIG9wZW5fc2V0dGluZ3NfY29tbWFuZF9oYW5kbGVyIGZyb20gJy4vb3Blbi1zZXR0aW5ncy1jb21tYW5kLWhhbmRsZXIudHMnO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxZQUFZLG1DQUFtQztBQUMvQyxZQUFZLCtCQUErQjtBQUMzQyxZQUFZLHFCQUFxQjtBQUNqQyxZQUFZLDRCQUE0QjtBQUN4QyxZQUFZLDBCQUEwQjtBQUN0QyxZQUFZLDRCQUE0QjtBQUN4QyxZQUFZLDRCQUE0QjtBQUN4QyxZQUFZLG1DQUFtQzsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file
|
|
3
|
+
*
|
|
4
|
+
* Registrar for commands.
|
|
5
|
+
*/
|
|
6
|
+
import type { Command, Plugin } from 'obsidian';
|
|
7
|
+
/**
|
|
8
|
+
* A registrar for commands.
|
|
9
|
+
*/
|
|
10
|
+
export interface CommandRegistrar {
|
|
11
|
+
addCommand(command: Command): void;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* A command registrar that adds commands to a plugin.
|
|
15
|
+
*/
|
|
16
|
+
export declare class PluginCommandRegistrar implements CommandRegistrar {
|
|
17
|
+
private readonly plugin;
|
|
18
|
+
/**
|
|
19
|
+
* Creates a new plugin command registrar.
|
|
20
|
+
*
|
|
21
|
+
* @param plugin - The plugin to add commands to.
|
|
22
|
+
*/
|
|
23
|
+
constructor(plugin: Plugin);
|
|
24
|
+
/**
|
|
25
|
+
* Adds a command to the plugin.
|
|
26
|
+
*
|
|
27
|
+
* @param command - The command to add.
|
|
28
|
+
*/
|
|
29
|
+
addCommand(command: Command): void;
|
|
30
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
(function initEsm() {
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
|
+
if (globalThis.process) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const browserProcess = {
|
|
13
|
+
browser: true,
|
|
14
|
+
cwd() {
|
|
15
|
+
return '/';
|
|
16
|
+
},
|
|
17
|
+
env: {},
|
|
18
|
+
platform: 'android'
|
|
19
|
+
};
|
|
20
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
21
|
+
globalThis.process = browserProcess;
|
|
22
|
+
})();
|
|
23
|
+
|
|
24
|
+
class PluginCommandRegistrar {
|
|
25
|
+
/**
|
|
26
|
+
* Creates a new plugin command registrar.
|
|
27
|
+
*
|
|
28
|
+
* @param plugin - The plugin to add commands to.
|
|
29
|
+
*/
|
|
30
|
+
constructor(plugin) {
|
|
31
|
+
this.plugin = plugin;
|
|
32
|
+
}
|
|
33
|
+
plugin;
|
|
34
|
+
/**
|
|
35
|
+
* Adds a command to the plugin.
|
|
36
|
+
*
|
|
37
|
+
* @param command - The command to add.
|
|
38
|
+
*/
|
|
39
|
+
addCommand(command) {
|
|
40
|
+
this.plugin.addCommand(command);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export {
|
|
44
|
+
PluginCommandRegistrar
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbW1hbmQtcmVnaXN0cmFyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUmVnaXN0cmFyIGZvciBjb21tYW5kcy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIENvbW1hbmQsXG4gIFBsdWdpblxufSBmcm9tICdvYnNpZGlhbic7XG5cbi8qKlxuICogQSByZWdpc3RyYXIgZm9yIGNvbW1hbmRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbW1hbmRSZWdpc3RyYXIge1xuICBhZGRDb21tYW5kKGNvbW1hbmQ6IENvbW1hbmQpOiB2b2lkO1xufVxuXG4vKipcbiAqIEEgY29tbWFuZCByZWdpc3RyYXIgdGhhdCBhZGRzIGNvbW1hbmRzIHRvIGEgcGx1Z2luLlxuICovXG5leHBvcnQgY2xhc3MgUGx1Z2luQ29tbWFuZFJlZ2lzdHJhciBpbXBsZW1lbnRzIENvbW1hbmRSZWdpc3RyYXIge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBwbHVnaW4gY29tbWFuZCByZWdpc3RyYXIuXG4gICAqXG4gICAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIHRvIGFkZCBjb21tYW5kcyB0by5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBsdWdpbjogUGx1Z2luKSB7fVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgY29tbWFuZCB0byB0aGUgcGx1Z2luLlxuICAgKlxuICAgKiBAcGFyYW0gY29tbWFuZCAtIFRoZSBjb21tYW5kIHRvIGFkZC5cbiAgICovXG4gIHB1YmxpYyBhZGRDb21tYW5kKGNvbW1hbmQ6IENvbW1hbmQpOiB2b2lkIHtcbiAgICB0aGlzLnBsdWdpbi5hZGRDb21tYW5kKGNvbW1hbmQpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFCTyxNQUFNLHVCQUFtRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU12RCxZQUE2QixRQUFnQjtBQUFoQjtBQUFBLEVBQWlCO0FBQUEsRUFBakI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPN0IsV0FBVyxTQUF3QjtBQUN4QyxTQUFLLE9BQU8sV0FBVyxPQUFPO0FBQUEsRUFDaEM7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file
|
|
3
|
+
*
|
|
4
|
+
* A module for handling data loading and saving to the plugin's data file.
|
|
5
|
+
*/
|
|
6
|
+
import type { Plugin } from 'obsidian';
|
|
7
|
+
/**
|
|
8
|
+
* A handler for loading and saving data to the plugin's data file.
|
|
9
|
+
*/
|
|
10
|
+
export interface DataHandler {
|
|
11
|
+
/**
|
|
12
|
+
* A function to load data from the plugin's data file.
|
|
13
|
+
*
|
|
14
|
+
* @returns The loaded data.
|
|
15
|
+
*/
|
|
16
|
+
loadData(): Promise<unknown>;
|
|
17
|
+
/**
|
|
18
|
+
* A function to save data to the plugin's data file.
|
|
19
|
+
*
|
|
20
|
+
* @param data - The data to save.
|
|
21
|
+
*/
|
|
22
|
+
saveData(data: unknown): Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* A handler for loading and saving data to the plugin's data file.
|
|
26
|
+
*/
|
|
27
|
+
export declare class PluginDataHandler implements DataHandler {
|
|
28
|
+
private readonly plugin;
|
|
29
|
+
/**
|
|
30
|
+
* Creates a new plugin data handler.
|
|
31
|
+
*
|
|
32
|
+
* @param plugin - The plugin instance.
|
|
33
|
+
*/
|
|
34
|
+
constructor(plugin: Plugin);
|
|
35
|
+
/**
|
|
36
|
+
* Loads data from the plugin's data file.
|
|
37
|
+
*
|
|
38
|
+
* @returns The loaded data.
|
|
39
|
+
*/
|
|
40
|
+
loadData(): Promise<unknown>;
|
|
41
|
+
/**
|
|
42
|
+
* Saves data to the plugin's data file.
|
|
43
|
+
*
|
|
44
|
+
* @param data - The data to save.
|
|
45
|
+
* @returns A promise that resolves when the data is saved.
|
|
46
|
+
*/
|
|
47
|
+
saveData(data: unknown): Promise<void>;
|
|
48
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
(function initEsm() {
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
|
+
if (globalThis.process) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const browserProcess = {
|
|
13
|
+
browser: true,
|
|
14
|
+
cwd() {
|
|
15
|
+
return '/';
|
|
16
|
+
},
|
|
17
|
+
env: {},
|
|
18
|
+
platform: 'android'
|
|
19
|
+
};
|
|
20
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
21
|
+
globalThis.process = browserProcess;
|
|
22
|
+
})();
|
|
23
|
+
|
|
24
|
+
class PluginDataHandler {
|
|
25
|
+
/**
|
|
26
|
+
* Creates a new plugin data handler.
|
|
27
|
+
*
|
|
28
|
+
* @param plugin - The plugin instance.
|
|
29
|
+
*/
|
|
30
|
+
constructor(plugin) {
|
|
31
|
+
this.plugin = plugin;
|
|
32
|
+
}
|
|
33
|
+
plugin;
|
|
34
|
+
/**
|
|
35
|
+
* Loads data from the plugin's data file.
|
|
36
|
+
*
|
|
37
|
+
* @returns The loaded data.
|
|
38
|
+
*/
|
|
39
|
+
async loadData() {
|
|
40
|
+
return this.plugin.loadData();
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Saves data to the plugin's data file.
|
|
44
|
+
*
|
|
45
|
+
* @param data - The data to save.
|
|
46
|
+
* @returns A promise that resolves when the data is saved.
|
|
47
|
+
*/
|
|
48
|
+
async saveData(data) {
|
|
49
|
+
return this.plugin.saveData(data);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export {
|
|
53
|
+
PluginDataHandler
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2RhdGEtaGFuZGxlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEEgbW9kdWxlIGZvciBoYW5kbGluZyBkYXRhIGxvYWRpbmcgYW5kIHNhdmluZyB0byB0aGUgcGx1Z2luJ3MgZGF0YSBmaWxlLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG4vKipcbiAqIEEgaGFuZGxlciBmb3IgbG9hZGluZyBhbmQgc2F2aW5nIGRhdGEgdG8gdGhlIHBsdWdpbidzIGRhdGEgZmlsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhSGFuZGxlciB7XG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRvIGxvYWQgZGF0YSBmcm9tIHRoZSBwbHVnaW4ncyBkYXRhIGZpbGUuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBsb2FkZWQgZGF0YS5cbiAgICovXG4gIGxvYWREYXRhKCk6IFByb21pc2U8dW5rbm93bj47XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdG8gc2F2ZSBkYXRhIHRvIHRoZSBwbHVnaW4ncyBkYXRhIGZpbGUuXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhIC0gVGhlIGRhdGEgdG8gc2F2ZS5cbiAgICovXG4gIHNhdmVEYXRhKGRhdGE6IHVua25vd24pOiBQcm9taXNlPHZvaWQ+O1xufVxuXG4vKipcbiAqIEEgaGFuZGxlciBmb3IgbG9hZGluZyBhbmQgc2F2aW5nIGRhdGEgdG8gdGhlIHBsdWdpbidzIGRhdGEgZmlsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFBsdWdpbkRhdGFIYW5kbGVyIGltcGxlbWVudHMgRGF0YUhhbmRsZXIge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBwbHVnaW4gZGF0YSBoYW5kbGVyLlxuICAgKlxuICAgKiBAcGFyYW0gcGx1Z2luIC0gVGhlIHBsdWdpbiBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBsdWdpbjogUGx1Z2luKSB7XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgZGF0YSBmcm9tIHRoZSBwbHVnaW4ncyBkYXRhIGZpbGUuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBsb2FkZWQgZGF0YS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBsb2FkRGF0YSgpOiBQcm9taXNlPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5wbHVnaW4ubG9hZERhdGEoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlcyBkYXRhIHRvIHRoZSBwbHVnaW4ncyBkYXRhIGZpbGUuXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhIC0gVGhlIGRhdGEgdG8gc2F2ZS5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZGF0YSBpcyBzYXZlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzYXZlRGF0YShkYXRhOiB1bmtub3duKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucGx1Z2luLnNhdmVEYXRhKGRhdGEpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQThCTyxNQUFNLGtCQUF5QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU03QyxZQUE2QixRQUFnQjtBQUFoQjtBQUFBLEVBQ3BDO0FBQUEsRUFEb0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRcEMsTUFBYSxXQUE2QjtBQUN4QyxXQUFPLEtBQUssT0FBTyxTQUFTO0FBQUEsRUFDOUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE1BQWEsU0FBUyxNQUE4QjtBQUNsRCxXQUFPLEtBQUssT0FBTyxTQUFTLElBQUk7QUFBQSxFQUNsQztBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export * as active_file_provider from './active-file-provider.mjs';
|
|
1
2
|
export * as app from './app.mjs';
|
|
2
3
|
export * as async_with_notice from './async-with-notice.mjs';
|
|
3
4
|
export * as attachment_path from './attachment-path.mjs';
|
|
@@ -5,8 +6,10 @@ export * as backlink from './backlink.mjs';
|
|
|
5
6
|
export * as callout from './callout.mjs';
|
|
6
7
|
export * as code_block_markdown_information from './code-block-markdown-information.mjs';
|
|
7
8
|
export * as command_handlers from './command-handlers/index.mjs';
|
|
9
|
+
export * as command_registrar from './command-registrar.mjs';
|
|
8
10
|
export * as components from './components/index.mjs';
|
|
9
11
|
export * as constructors from './constructors/index.mjs';
|
|
12
|
+
export * as data_handler from './data-handler.mjs';
|
|
10
13
|
export * as dataview_link from './dataview-link.mjs';
|
|
11
14
|
export * as dataview from './dataview.mjs';
|
|
12
15
|
export * as editor from './editor.mjs';
|
|
@@ -23,6 +26,7 @@ export * as loop from './loop.mjs';
|
|
|
23
26
|
export * as markdown_code_block_processor from './markdown-code-block-processor.mjs';
|
|
24
27
|
export * as markdown_view from './markdown-view.mjs';
|
|
25
28
|
export * as markdown from './markdown.mjs';
|
|
29
|
+
export * as menu_event_registrar from './menu-event-registrar.mjs';
|
|
26
30
|
export * as metadata_cache from './metadata-cache.mjs';
|
|
27
31
|
export * as modals from './modals/index.mjs';
|
|
28
32
|
export * as monkey_around from './monkey-around.mjs';
|
|
@@ -21,6 +21,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
21
21
|
globalThis.process = browserProcess;
|
|
22
22
|
})();
|
|
23
23
|
|
|
24
|
+
import * as active_file_provider from "./active-file-provider.mjs";
|
|
24
25
|
import * as app from "./app.mjs";
|
|
25
26
|
import * as async_with_notice from "./async-with-notice.mjs";
|
|
26
27
|
import * as attachment_path from "./attachment-path.mjs";
|
|
@@ -28,8 +29,10 @@ import * as backlink from "./backlink.mjs";
|
|
|
28
29
|
import * as callout from "./callout.mjs";
|
|
29
30
|
import * as code_block_markdown_information from "./code-block-markdown-information.mjs";
|
|
30
31
|
import * as command_handlers from "./command-handlers/index.mjs";
|
|
32
|
+
import * as command_registrar from "./command-registrar.mjs";
|
|
31
33
|
import * as components from "./components/index.mjs";
|
|
32
34
|
import * as constructors from "./constructors/index.mjs";
|
|
35
|
+
import * as data_handler from "./data-handler.mjs";
|
|
33
36
|
import * as dataview_link from "./dataview-link.mjs";
|
|
34
37
|
import * as dataview from "./dataview.mjs";
|
|
35
38
|
import * as editor from "./editor.mjs";
|
|
@@ -46,6 +49,7 @@ import * as loop from "./loop.mjs";
|
|
|
46
49
|
import * as markdown_code_block_processor from "./markdown-code-block-processor.mjs";
|
|
47
50
|
import * as markdown_view from "./markdown-view.mjs";
|
|
48
51
|
import * as markdown from "./markdown.mjs";
|
|
52
|
+
import * as menu_event_registrar from "./menu-event-registrar.mjs";
|
|
49
53
|
import * as metadata_cache from "./metadata-cache.mjs";
|
|
50
54
|
import * as modals from "./modals/index.mjs";
|
|
51
55
|
import * as monkey_around from "./monkey-around.mjs";
|
|
@@ -64,6 +68,7 @@ import * as vault_delete from "./vault-delete.mjs";
|
|
|
64
68
|
import * as vault from "./vault.mjs";
|
|
65
69
|
import * as workspace from "./workspace.mjs";
|
|
66
70
|
export {
|
|
71
|
+
active_file_provider,
|
|
67
72
|
app,
|
|
68
73
|
async_with_notice,
|
|
69
74
|
attachment_path,
|
|
@@ -71,8 +76,10 @@ export {
|
|
|
71
76
|
callout,
|
|
72
77
|
code_block_markdown_information,
|
|
73
78
|
command_handlers,
|
|
79
|
+
command_registrar,
|
|
74
80
|
components,
|
|
75
81
|
constructors,
|
|
82
|
+
data_handler,
|
|
76
83
|
dataview,
|
|
77
84
|
dataview_link,
|
|
78
85
|
editor,
|
|
@@ -89,6 +96,7 @@ export {
|
|
|
89
96
|
markdown,
|
|
90
97
|
markdown_code_block_processor,
|
|
91
98
|
markdown_view,
|
|
99
|
+
menu_event_registrar,
|
|
92
100
|
metadata_cache,
|
|
93
101
|
modals,
|
|
94
102
|
monkey_around,
|
|
@@ -107,4 +115,4 @@ export {
|
|
|
107
115
|
vault_delete,
|
|
108
116
|
workspace
|
|
109
117
|
};
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0ICogYXMgYWN0aXZlX2ZpbGVfcHJvdmlkZXIgZnJvbSAnLi9hY3RpdmUtZmlsZS1wcm92aWRlci50cyc7XG5leHBvcnQgKiBhcyBhcHAgZnJvbSAnLi9hcHAudHMnO1xuZXhwb3J0ICogYXMgYXN5bmNfd2l0aF9ub3RpY2UgZnJvbSAnLi9hc3luYy13aXRoLW5vdGljZS50cyc7XG5leHBvcnQgKiBhcyBhdHRhY2htZW50X3BhdGggZnJvbSAnLi9hdHRhY2htZW50LXBhdGgudHMnO1xuZXhwb3J0ICogYXMgYmFja2xpbmsgZnJvbSAnLi9iYWNrbGluay50cyc7XG5leHBvcnQgKiBhcyBjYWxsb3V0IGZyb20gJy4vY2FsbG91dC50cyc7XG5leHBvcnQgKiBhcyBjb2RlX2Jsb2NrX21hcmtkb3duX2luZm9ybWF0aW9uIGZyb20gJy4vY29kZS1ibG9jay1tYXJrZG93bi1pbmZvcm1hdGlvbi50cyc7XG5leHBvcnQgKiBhcyBjb21tYW5kX2hhbmRsZXJzIGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyBjb21tYW5kX3JlZ2lzdHJhciBmcm9tICcuL2NvbW1hbmQtcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9jb21wb25lbnRzL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzIGNvbnN0cnVjdG9ycyBmcm9tICcuL2NvbnN0cnVjdG9ycy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyBkYXRhX2hhbmRsZXIgZnJvbSAnLi9kYXRhLWhhbmRsZXIudHMnO1xuZXhwb3J0ICogYXMgZGF0YXZpZXdfbGluayBmcm9tICcuL2RhdGF2aWV3LWxpbmsudHMnO1xuZXhwb3J0ICogYXMgZGF0YXZpZXcgZnJvbSAnLi9kYXRhdmlldy50cyc7XG5leHBvcnQgKiBhcyBlZGl0b3IgZnJvbSAnLi9lZGl0b3IudHMnO1xuZXhwb3J0ICogYXMgZmlsZV9jaGFuZ2UgZnJvbSAnLi9maWxlLWNoYW5nZS50cyc7XG5leHBvcnQgKiBhcyBmaWxlX21hbmFnZXIgZnJvbSAnLi9maWxlLW1hbmFnZXIudHMnO1xuZXhwb3J0ICogYXMgZmlsZV9zeXN0ZW0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5leHBvcnQgKiBhcyBmcm9udG1hdHRlcl9saW5rX2NhY2hlX3dpdGhfb2Zmc2V0cyBmcm9tICcuL2Zyb250bWF0dGVyLWxpbmstY2FjaGUtd2l0aC1vZmZzZXRzLnRzJztcbmV4cG9ydCAqIGFzIGZyb250bWF0dGVyIGZyb20gJy4vZnJvbnRtYXR0ZXIudHMnO1xuZXhwb3J0ICogYXMgaTE4biBmcm9tICcuL2kxOG4vaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgaXNfaW5fb2JzaWRpYW4gZnJvbSAnLi9pcy1pbi1vYnNpZGlhbi50cyc7XG5leHBvcnQgKiBhcyBsaW5rIGZyb20gJy4vbGluay50cyc7XG5leHBvcnQgKiBhcyBsb2dnZXIgZnJvbSAnLi9sb2dnZXIudHMnO1xuZXhwb3J0ICogYXMgbG9vcCBmcm9tICcuL2xvb3AudHMnO1xuZXhwb3J0ICogYXMgbWFya2Rvd25fY29kZV9ibG9ja19wcm9jZXNzb3IgZnJvbSAnLi9tYXJrZG93bi1jb2RlLWJsb2NrLXByb2Nlc3Nvci50cyc7XG5leHBvcnQgKiBhcyBtYXJrZG93bl92aWV3IGZyb20gJy4vbWFya2Rvd24tdmlldy50cyc7XG5leHBvcnQgKiBhcyBtYXJrZG93biBmcm9tICcuL21hcmtkb3duLnRzJztcbmV4cG9ydCAqIGFzIG1lbnVfZXZlbnRfcmVnaXN0cmFyIGZyb20gJy4vbWVudS1ldmVudC1yZWdpc3RyYXIudHMnO1xuZXhwb3J0ICogYXMgbWV0YWRhdGFfY2FjaGUgZnJvbSAnLi9tZXRhZGF0YS1jYWNoZS50cyc7XG5leHBvcnQgKiBhcyBtb2RhbHMgZnJvbSAnLi9tb2RhbHMvaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgbW9ua2V5X2Fyb3VuZCBmcm9tICcuL21vbmtleS1hcm91bmQudHMnO1xuZXhwb3J0ICogYXMgb2JzaWRpYW5fc2V0dGluZ3MgZnJvbSAnLi9vYnNpZGlhbi1zZXR0aW5ncy50cyc7XG5leHBvcnQgKiBhcyBwZGYgZnJvbSAnLi9wZGYudHMnO1xuZXhwb3J0ICogYXMgcGx1Z2luIGZyb20gJy4vcGx1Z2luL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzIHF1ZXVlIGZyb20gJy4vcXVldWUudHMnO1xuZXhwb3J0ICogYXMgcmVhY3QgZnJvbSAnLi9yZWFjdC9pbmRleC50cyc7XG5leHBvcnQgKiBhcyByZWZlcmVuY2UgZnJvbSAnLi9yZWZlcmVuY2UudHMnO1xuZXhwb3J0ICogYXMgcmVuYW1lX2RlbGV0ZV9oYW5kbGVyIGZyb20gJy4vcmVuYW1lLWRlbGV0ZS1oYW5kbGVyLnRzJztcbmV4cG9ydCAqIGFzIHJlc291cmNlX3VybCBmcm9tICcuL3Jlc291cmNlLXVybC50cyc7XG5leHBvcnQgKiBhcyBzZXR0aW5nX2V4IGZyb20gJy4vc2V0dGluZy1leC50cyc7XG5leHBvcnQgKiBhcyBzZXR0aW5nX2dyb3VwX2V4IGZyb20gJy4vc2V0dGluZy1ncm91cC1leC50cyc7XG5leHBvcnQgKiBhcyB2YWxpZGF0aW9uIGZyb20gJy4vdmFsaWRhdGlvbi50cyc7XG5leHBvcnQgKiBhcyB2YXVsdF9kZWxldGUgZnJvbSAnLi92YXVsdC1kZWxldGUudHMnO1xuZXhwb3J0ICogYXMgdmF1bHQgZnJvbSAnLi92YXVsdC50cyc7XG5leHBvcnQgKiBhcyB3b3Jrc3BhY2UgZnJvbSAnLi93b3Jrc3BhY2UudHMnO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxZQUFZLDBCQUEwQjtBQUN0QyxZQUFZLFNBQVM7QUFDckIsWUFBWSx1QkFBdUI7QUFDbkMsWUFBWSxxQkFBcUI7QUFDakMsWUFBWSxjQUFjO0FBQzFCLFlBQVksYUFBYTtBQUN6QixZQUFZLHFDQUFxQztBQUNqRCxZQUFZLHNCQUFzQjtBQUNsQyxZQUFZLHVCQUF1QjtBQUNuQyxZQUFZLGdCQUFnQjtBQUM1QixZQUFZLGtCQUFrQjtBQUM5QixZQUFZLGtCQUFrQjtBQUM5QixZQUFZLG1CQUFtQjtBQUMvQixZQUFZLGNBQWM7QUFDMUIsWUFBWSxZQUFZO0FBQ3hCLFlBQVksaUJBQWlCO0FBQzdCLFlBQVksa0JBQWtCO0FBQzlCLFlBQVksaUJBQWlCO0FBQzdCLFlBQVkseUNBQXlDO0FBQ3JELFlBQVksaUJBQWlCO0FBQzdCLFlBQVksVUFBVTtBQUN0QixZQUFZLG9CQUFvQjtBQUNoQyxZQUFZLFVBQVU7QUFDdEIsWUFBWSxZQUFZO0FBQ3hCLFlBQVksVUFBVTtBQUN0QixZQUFZLG1DQUFtQztBQUMvQyxZQUFZLG1CQUFtQjtBQUMvQixZQUFZLGNBQWM7QUFDMUIsWUFBWSwwQkFBMEI7QUFDdEMsWUFBWSxvQkFBb0I7QUFDaEMsWUFBWSxZQUFZO0FBQ3hCLFlBQVksbUJBQW1CO0FBQy9CLFlBQVksdUJBQXVCO0FBQ25DLFlBQVksU0FBUztBQUNyQixZQUFZLFlBQVk7QUFDeEIsWUFBWSxXQUFXO0FBQ3ZCLFlBQVksV0FBVztBQUN2QixZQUFZLGVBQWU7QUFDM0IsWUFBWSwyQkFBMkI7QUFDdkMsWUFBWSxrQkFBa0I7QUFDOUIsWUFBWSxnQkFBZ0I7QUFDNUIsWUFBWSxzQkFBc0I7QUFDbEMsWUFBWSxnQkFBZ0I7QUFDNUIsWUFBWSxrQkFBa0I7QUFDOUIsWUFBWSxXQUFXO0FBQ3ZCLFlBQVksZUFBZTsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file
|
|
3
|
+
*
|
|
4
|
+
* Menu event registrar.
|
|
5
|
+
*/
|
|
6
|
+
import type { App, Component, Editor, MarkdownFileInfo, Menu, TAbstractFile, WorkspaceLeaf } from 'obsidian';
|
|
7
|
+
/**
|
|
8
|
+
* Handler for the editor context menu event.
|
|
9
|
+
*
|
|
10
|
+
* @param menu - The menu to add items to.
|
|
11
|
+
* @param editor - The editor instance.
|
|
12
|
+
* @param ctx - The markdown file context.
|
|
13
|
+
*/
|
|
14
|
+
export type EditorMenuEventHandler = (menu: Menu, editor: Editor, ctx: MarkdownFileInfo) => void;
|
|
15
|
+
/**
|
|
16
|
+
* Handler for the single-file context menu event.
|
|
17
|
+
*
|
|
18
|
+
* @param menu - The menu to add items to.
|
|
19
|
+
* @param abstractFile - The file or folder.
|
|
20
|
+
* @param source - The source of the event.
|
|
21
|
+
* @param leaf - The workspace leaf, if available.
|
|
22
|
+
*/
|
|
23
|
+
export type FileMenuEventHandler = (menu: Menu, abstractFile: TAbstractFile, source: string, leaf?: WorkspaceLeaf) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Handler for the multi-file context menu event.
|
|
26
|
+
*
|
|
27
|
+
* @param menu - The menu to add items to.
|
|
28
|
+
* @param abstractFiles - The files or folders.
|
|
29
|
+
* @param source - The source of the event.
|
|
30
|
+
* @param leaf - The workspace leaf, if available.
|
|
31
|
+
*/
|
|
32
|
+
export type FilesMenuEventHandler = (menu: Menu, abstractFiles: TAbstractFile[], source: string, leaf?: WorkspaceLeaf) => void;
|
|
33
|
+
/**
|
|
34
|
+
* Registers menu event handlers with lifecycle management.
|
|
35
|
+
*/
|
|
36
|
+
/** */
|
|
37
|
+
export interface MenuEventRegistrar {
|
|
38
|
+
/**
|
|
39
|
+
* Registers a handler for the editor context menu event.
|
|
40
|
+
*
|
|
41
|
+
* @param handler - The handler to register.
|
|
42
|
+
*/
|
|
43
|
+
registerEditorMenuEventHandler(handler: EditorMenuEventHandler): void;
|
|
44
|
+
/**
|
|
45
|
+
* Registers a handler for the single-file context menu event.
|
|
46
|
+
*
|
|
47
|
+
* @param handler - The handler to register.
|
|
48
|
+
*/
|
|
49
|
+
registerFileMenuEventHandler(handler: FileMenuEventHandler): void;
|
|
50
|
+
/**
|
|
51
|
+
* Registers a handler for the multi-file context menu event.
|
|
52
|
+
*
|
|
53
|
+
* @param handler - The handler to register.
|
|
54
|
+
*/
|
|
55
|
+
registerFilesMenuEventHandler(handler: FilesMenuEventHandler): void;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* {@link MenuEventRegistrar} backed by Obsidian's {@link App} workspace events.
|
|
59
|
+
*
|
|
60
|
+
* Event handlers are registered with the provided {@link Component} for lifecycle management.
|
|
61
|
+
*/
|
|
62
|
+
export declare class AppMenuEventRegistrar implements MenuEventRegistrar {
|
|
63
|
+
private readonly app;
|
|
64
|
+
private readonly component;
|
|
65
|
+
/**
|
|
66
|
+
* Creates a new app-backed menu event registrar.
|
|
67
|
+
*
|
|
68
|
+
* @param app - The Obsidian app instance.
|
|
69
|
+
* @param component - The component for lifecycle management.
|
|
70
|
+
*/
|
|
71
|
+
constructor(app: App, component: Component);
|
|
72
|
+
/**
|
|
73
|
+
* Registers a handler for the editor context menu event.
|
|
74
|
+
*
|
|
75
|
+
* @param handler - The handler to register.
|
|
76
|
+
*/
|
|
77
|
+
registerEditorMenuEventHandler(handler: EditorMenuEventHandler): void;
|
|
78
|
+
/**
|
|
79
|
+
* Registers a handler for the single-file context menu event.
|
|
80
|
+
*
|
|
81
|
+
* @param handler - The handler to register.
|
|
82
|
+
*/
|
|
83
|
+
registerFileMenuEventHandler(handler: FileMenuEventHandler): void;
|
|
84
|
+
/**
|
|
85
|
+
* Registers a handler for the multi-file context menu event.
|
|
86
|
+
*
|
|
87
|
+
* @param handler - The handler to register.
|
|
88
|
+
*/
|
|
89
|
+
registerFilesMenuEventHandler(handler: FilesMenuEventHandler): void;
|
|
90
|
+
}
|