Skip to content

Commit

Permalink
fix: #52
Browse files Browse the repository at this point in the history
  • Loading branch information
lazyloong committed May 4, 2024
1 parent dcc972d commit 0c40ada
Show file tree
Hide file tree
Showing 3 changed files with 70 additions and 16 deletions.
2 changes: 1 addition & 1 deletion manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@
"author": "lazyloong",

"minAppVersion": "1.0.0",
"version": "2.22.1"
"version": "2.22.2"
}
43 changes: 30 additions & 13 deletions obsidian.d.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,27 @@
import { EditorSuggest } from "obsidian";
import NavboxManager from "./src/manager";

declare module "obsidian" {
interface MarkdownView {
navboxManager: NavboxManager;
}
interface WorkspaceLeaf {
openLinkText: (link: string, currentPath: string, unknown = undefined) => void;
parent: WorkspaceParent;
}
interface Workspace {
handleLinkContextMenu: (
menu: Menu,
path: string,
currentPath: string,
unknown = undefined
) => void;
editorSuggest: {
currentSuggest: EditorSuggest<any> | null;
suggests: EditorSuggest<any>[];
removeSuggest(suggest: EditorSuggest<any>): void;
};
createLeafInTabGroup(root: WorkspaceParent): WorkspaceLeaf;
}
interface App {
hotkeyManager: {
printHotkeyForCommand(command_id: string): string;
Expand All @@ -12,6 +33,7 @@ declare module "obsidian" {
plugins: Plugin[];
};
commands: {
registerCommand(command: string, callback: () => void): void;
executeCommand(command: Command);
listCommands(): Command[];
};
Expand All @@ -20,22 +42,17 @@ declare module "obsidian" {
openTabById(id: string): { setQuery(query: string): void };
};
}
interface DataAdapter {
getBasePath: () => string;
}
interface Menu {
addSections: (sections: string[]) => this;
setParentElement: (element: HTMLElement) => this;
}
interface MetadataCache {
getTags(): { [k: `#${string}`]: number };
userIgnoreFilterCache: { [k: string]: boolean };
}
interface Workspace {
editorSuggest: {
currentSuggest: EditorSuggest<any> | null;
suggests: EditorSuggest<any>[];
removeSuggest(suggest: EditorSuggest<any>): void;
};
createLeafInTabGroup(root: WorkspaceParent): WorkspaceLeaf;
}
interface WorkspaceLeaf {
parent: WorkspaceParent;
openLinkText(linktext: string, source: string): void;
}
interface WorkspaceParent {
id: string;
}
Expand Down
41 changes: 39 additions & 2 deletions src/modal/fileModal.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
import { TFile, App, WorkspaceLeaf, TAbstractFile, CachedMetadata, TextComponent } from "obsidian";
import {
TFile,
App,
WorkspaceLeaf,
TAbstractFile,
CachedMetadata,
TextComponent,
Menu,
} from "obsidian";
import {
Pinyin,
PinyinIndex as PI,
Expand Down Expand Up @@ -48,11 +56,12 @@ export default class FuzzyFileModal extends FuzzyModal<Item> {
this.emptyStateText = "未发现该笔记,按下回车创建。";
this.setPlaceholder("输入以切换或创建文件……");

var i = {
let i = {
scope: this.scope,
modifiers: null,
key: "Enter",
func: async (e: KeyboardEvent) => {
e.preventDefault();
const modKey = e.ctrlKey || e.metaKey;
const altKey = e.altKey;
const shiftKey = e.shiftKey;
Expand All @@ -76,6 +85,34 @@ export default class FuzzyFileModal extends FuzzyModal<Item> {
},
};
this.scope.keys.unshift(i);
this.scope.register([], "ContextMenu", async (event: KeyboardEvent) => {
event.preventDefault();
event.stopPropagation();
console.log(this);
let item = this.getChoosenItem();
if (item.type == "unresolvedLink") return;
let menu = new Menu().addSections([
"title",
"correction",
"spellcheck",
"open",
"selection-link",
"selection",
"insert",
"clipboard",
"action",
"view",
"info",
"",
"danger",
]);
this.plugin.app.workspace.handleLinkContextMenu(menu, item.file.path, "");
let element = this.chooser.suggestions[this.chooser.selectedItem];
menu.setParentElement(element).showAtPosition({
x: element.offsetLeft,
y: element.offsetTop + element.offsetHeight,
});
});
let prompt = [
{
command: "ctrl ↵",
Expand Down

0 comments on commit 0c40ada

Please sign in to comment.