Skip to content

Commit

Permalink
Remove unnecessary calls to cloneAsWritable()
Browse files Browse the repository at this point in the history
Signed-off-by: William So <polyipseity@gmail.com>
  • Loading branch information
polyipseity committed May 5, 2023
1 parent 2440533 commit 3e43b2f
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 36 deletions.
8 changes: 8 additions & 0 deletions sources/@types/obsidian.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@ import type { Private } from "sources/utils/private"

declare module "obsidian" {
interface DataAdapter extends Private<$DataAdapter> { }
interface Scope {
// eslint-disable-next-line @typescript-eslint/method-signature-style
register(
modifiers: readonly Modifier[],
key: string | null,
func: KeymapEventListener,
): KeymapEventHandler
}
interface ViewStateResult extends Private<$ViewStateResult> { }
interface WorkspaceLeaf extends Private<$WorkspaceLeaf> { }
interface WorkspaceRibbon extends Private<$WorkspaceRibbon> { }
Expand Down
56 changes: 20 additions & 36 deletions sources/terminal/view.ts
Original file line number Diff line number Diff line change
Expand Up @@ -252,42 +252,26 @@ export class TerminalView extends ItemView {
super(leaf)
this.navigation = true
const { scope, focusedScope } = this
scope.register(
cloneAsWritable(TerminalView.modifiers),
"`",
event => {
this.#emulator?.terminal.focus()
consumeEvent(event)
},
)
focusedScope.register(
cloneAsWritable(TerminalView.modifiers),
"`",
event => {
const { contentEl: { ownerDocument: { activeElement } } } = this
if (instanceOf(activeElement, HTMLElement) ||
instanceOf(activeElement, SVGElement)) {
activeElement.blur()
}
consumeEvent(event)
},
)
focusedScope.register(
cloneAsWritable(TerminalView.modifiers),
"f",
event => {
this.startFind()
consumeEvent(event)
},
)
focusedScope.register(
cloneAsWritable(TerminalView.modifiers),
"k",
event => {
this.#emulator?.terminal.clear()
consumeEvent(event)
},
)
scope.register(TerminalView.modifiers, "`", event => {
this.#emulator?.terminal.focus()
consumeEvent(event)
})
focusedScope.register(TerminalView.modifiers, "`", event => {
const { contentEl: { ownerDocument: { activeElement } } } = this
if (instanceOf(activeElement, HTMLElement) ||
instanceOf(activeElement, SVGElement)) {
activeElement.blur()
}
consumeEvent(event)
})
focusedScope.register(TerminalView.modifiers, "f", event => {
this.startFind()
consumeEvent(event)
})
focusedScope.register(TerminalView.modifiers, "k", event => {
this.#emulator?.terminal.clear()
consumeEvent(event)
})
}

protected get state(): TerminalView.State {
Expand Down

0 comments on commit 3e43b2f

Please sign in to comment.