PR fixes for obsidian-releases

https://github.com/obsidianmd/obsidian-releases/pull/920#issuecomment-1110183606
This commit is contained in:
Simon Cambier
2022-04-26 22:10:05 +02:00
parent 664d2ef30b
commit e7b552dc92
2 changed files with 24 additions and 42 deletions

View File

@@ -1,4 +1,4 @@
import { MarkdownView, Plugin, TFile } from 'obsidian' import { Plugin, TFile } from 'obsidian'
import { import {
addToIndex, addToIndex,
initGlobalSearchIndex, initGlobalSearchIndex,
@@ -21,16 +21,8 @@ export default class OmnisearchPlugin extends Plugin {
this.addCommand({ this.addCommand({
id: 'show-modal-infile', id: 'show-modal-infile',
name: 'In-file search', name: 'In-file search',
checkCallback: (checking: boolean) => { editorCallback: (_editor, view) => {
// Can only be shown when a note is active new OmnisearchInFileModal(app, view.file).open()
const view = app.workspace.getActiveViewOfType(MarkdownView)
if (view) {
if (!checking) {
new OmnisearchInFileModal(app, view.file).open()
}
return true
}
return false
}, },
}) })

View File

@@ -17,37 +17,27 @@ abstract class OmnisearchModal extends Modal {
this.modalEl.tabIndex = -1 this.modalEl.tabIndex = -1
// Setup events that can be listened through the event bus // Setup events that can be listened through the event bus
this.modalEl.onkeydown = ev => { this.scope.register([], 'ArrowDown', () => {
switch (ev.key) { eventBus.emit('arrow-down')
case 'ArrowDown': })
ev.preventDefault() this.scope.register([], 'ArrowUp', () => {
eventBus.emit('arrow-down') eventBus.emit('arrow-up')
break })
case 'ArrowUp': this.scope.register(['Ctrl'], 'Enter', () => {
ev.preventDefault() eventBus.emit('ctrl-enter') // Open in new pane
eventBus.emit('arrow-up') })
break this.scope.register(['Meta'], 'Enter', () => {
case 'Enter': eventBus.emit('ctrl-enter') // Open in new pane (but on Mac)
ev.preventDefault() })
if (ev.ctrlKey || ev.metaKey) { this.scope.register(['Alt'], 'Enter', () => {
// Open in a new pane eventBus.emit('alt-enter') // Open the InFile modal
eventBus.emit('ctrl-enter') })
} this.scope.register(['Shift'], 'Enter', () => {
else if (ev.shiftKey) { eventBus.emit('shift-enter') // Create a new note
// Create a new note })
eventBus.emit('shift-enter') this.scope.register([], 'Enter', () => {
} eventBus.emit('enter') // Open in current pane
else if (ev.altKey) { })
// Expand in-note results
eventBus.emit('alt-enter')
}
else {
// Open in current pane
eventBus.emit('enter')
}
break
}
}
} }
} }