mirror of
https://github.com/fbarrca/obsidian-inlineAI.git
synced 2026-07-22 11:50:24 +00:00
Add commands to accept and discard tooltip suggestions
This commit is contained in:
parent
875d773e4d
commit
f185e0da2b
1 changed files with 38 additions and 1 deletions
39
src/main.ts
39
src/main.ts
|
|
@ -2,7 +2,7 @@
|
|||
import { Plugin, MarkdownView, App } from "obsidian";
|
||||
import { EditorView } from "@codemirror/view";
|
||||
import { InlineAISettings, DEFAULT_SETTINGS, InlineAISettingsTab } from "./settings";
|
||||
import { commandEffect, FloatingTooltipExtension } from "./modules/WidgetExtension";
|
||||
import { acceptTooltipEffect, commandEffect, dismissTooltipEffect, FloatingTooltipExtension } from "./modules/WidgetExtension";
|
||||
import { ChatApiManager } from "./api";
|
||||
import { generatedResponseState } from "./modules/AIExtension";
|
||||
import { buildSelectionHiglightState, currentSelectionState, setSelectionInfoEffect } from "./modules/SelectionState";
|
||||
|
|
@ -58,7 +58,44 @@ export default class InlineAIChatPlugin extends Plugin {
|
|||
hotkeys: [
|
||||
],
|
||||
});
|
||||
this.addCommand({
|
||||
id: "accept-tooltip",
|
||||
name: "Accept Tooltip suggestion",
|
||||
callback: () => {
|
||||
const markdownView = this.app.workspace.getActiveViewOfType(MarkdownView);
|
||||
if (markdownView) {
|
||||
const cmEditor = (markdownView.editor as any).cm as EditorView;
|
||||
|
||||
const response = cmEditor.state.field(generatedResponseState, false);
|
||||
if (response) {
|
||||
cmEditor.dispatch({
|
||||
effects: acceptTooltipEffect.of(null),
|
||||
});
|
||||
cmEditor.dispatch({
|
||||
effects: dismissTooltipEffect.of(null),
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
this.addCommand({
|
||||
id: "discard-tooltip",
|
||||
name: "discard Tooltip suggestion",
|
||||
callback: () => {
|
||||
const markdownView = this.app.workspace.getActiveViewOfType(MarkdownView);
|
||||
if (markdownView) {
|
||||
const cmEditor = (markdownView.editor as any).cm as EditorView;
|
||||
const response = cmEditor.state.field(generatedResponseState, false);
|
||||
if (response) {
|
||||
cmEditor.dispatch({
|
||||
effects: dismissTooltipEffect.of(null),
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// Add settings tab
|
||||
this.addSettingTab(new InlineAISettingsTab(this.app, this));
|
||||
|
|
|
|||
Loading…
Reference in a new issue