add shortform to keys
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { Editor } from './Editor'
|
||||
import { Editor, Command } from './Editor'
|
||||
|
||||
export default abstract class Extension {
|
||||
|
||||
@@ -39,11 +39,11 @@ export default abstract class Extension {
|
||||
return []
|
||||
}
|
||||
|
||||
keys(): { [key: string]: any } {
|
||||
keys(): string | { [key: string]: Function } {
|
||||
return {}
|
||||
}
|
||||
|
||||
commands(): { [key: string]: any } {
|
||||
commands(): { [key: string]: Command } {
|
||||
return {}
|
||||
}
|
||||
|
||||
|
||||
@@ -79,7 +79,17 @@ export default class ExtensionManager {
|
||||
|
||||
get keymaps() {
|
||||
return collect(this.extensions)
|
||||
.map(extension => extension.keys())
|
||||
.map(extension => {
|
||||
const keys = extension.keys()
|
||||
|
||||
if (typeof keys === 'string') {
|
||||
return {
|
||||
[keys]: () => this.editor.command(extension.name)
|
||||
}
|
||||
}
|
||||
|
||||
return keys
|
||||
})
|
||||
.filter(keys => !!Object.keys(keys).length)
|
||||
.map(keys => keymap(keys))
|
||||
.toArray()
|
||||
|
||||
Reference in New Issue
Block a user