mirror of
https://github.com/rabirabirara/obsidian-jelly-snippets.git
synced 2026-07-22 07:30:22 +00:00
remove funding, register keydown for new windows
From the feedback from maintainers. To allow the plugin to work on popup windows, we register an event on window open that registers the keydown DOM event implementing expand on Space/Tab. There may be a better solution.
This commit is contained in:
parent
bc98eadcd2
commit
06ced0a5a2
2 changed files with 29 additions and 14 deletions
42
main.ts
42
main.ts
|
|
@ -59,21 +59,36 @@ export default class JellySnippets extends Plugin {
|
|||
async onload() {
|
||||
await this.loadSettings();
|
||||
|
||||
// Check settings and load search snippets in.
|
||||
this.reloadSearchSnippets();
|
||||
|
||||
this.registerDomEvent(document, "keydown", (evt: KeyboardEvent) => {
|
||||
if (
|
||||
((this.settings.triggerOnSpace && evt.code === "Space") ||
|
||||
(this.settings.triggerOnTab && evt.code === "Tab")) &&
|
||||
// TODO: Add a dropdown setting so that users can control which modifier key cancels things out, or if any does at all.
|
||||
(!evt.shiftKey) // * don't trigger if shift is pressed down too however
|
||||
) {
|
||||
const view = this.app.workspace.getActiveViewOfType(MarkdownView);
|
||||
if (view) {
|
||||
this.triggerSearchSnippet(view.editor);
|
||||
|
||||
// If keydown events are set...
|
||||
if (this.settings.triggerOnSpace || this.settings.triggerOnTab) {
|
||||
const onKeyEvent = (evt: KeyboardEvent) => {
|
||||
if (this.settings === undefined) {
|
||||
console.log("undefined settings");
|
||||
}
|
||||
}
|
||||
});
|
||||
if (
|
||||
(!evt.shiftKey) && // * don't trigger if shift is pressed down too however
|
||||
((this.settings.triggerOnSpace && evt.code === "Space") ||
|
||||
(this.settings.triggerOnTab && evt.code === "Tab"))
|
||||
// TODO: Add a dropdown setting so that users can control which modifier key cancels things out, or if any does at all.
|
||||
) {
|
||||
const view = this.app.workspace.getActiveViewOfType(MarkdownView);
|
||||
if (view) {
|
||||
this.triggerSearchSnippet(view.editor);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// Register for main window.
|
||||
this.registerDomEvent(document, "keydown", onKeyEvent);
|
||||
|
||||
// If window changes, registerDomEvent for new window if so.
|
||||
this.registerEvent(this.app.workspace.on('window-open', (event) => {
|
||||
this.registerDomEvent(activeWindow, "keydown", onKeyEvent);
|
||||
}));
|
||||
}
|
||||
|
||||
this.addCommand({
|
||||
id: "trigger-search-snippet",
|
||||
|
|
@ -261,3 +276,4 @@ class JellySnippetsSettingTab extends PluginSettingTab {
|
|||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,5 @@
|
|||
"description": "This plugin implements text snippets: replace text after typing a snippet on some trigger or command.",
|
||||
"author": "Spencer Gouw",
|
||||
"authorUrl": "github.com/rabirabirara",
|
||||
"fundingUrl": "",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue