mirror of
https://github.com/marktext/marktext.git
synced 2025-05-03 02:41:23 +08:00

* Refactor menu actions and shortcut handling * Remove duplicated command id * Update docs
112 lines
3.1 KiB
JavaScript
112 lines
3.1 KiB
JavaScript
import * as actions from '../actions/format'
|
|
|
|
export default function (keybindings) {
|
|
return {
|
|
id: 'formatMenuItem',
|
|
label: 'F&ormat',
|
|
submenu: [{
|
|
id: 'strongMenuItem',
|
|
label: 'Bold',
|
|
type: 'checkbox',
|
|
accelerator: keybindings.getAccelerator('format.strong'),
|
|
click (menuItem, focusedWindow) {
|
|
actions.strong(focusedWindow)
|
|
}
|
|
}, {
|
|
id: 'emphasisMenuItem',
|
|
label: 'Italic',
|
|
type: 'checkbox',
|
|
accelerator: keybindings.getAccelerator('format.emphasis'),
|
|
click (menuItem, focusedWindow) {
|
|
actions.emphasis(focusedWindow)
|
|
}
|
|
}, {
|
|
id: 'underlineMenuItem',
|
|
label: 'Underline',
|
|
type: 'checkbox',
|
|
accelerator: keybindings.getAccelerator('format.underline'),
|
|
click (menuItem, focusedWindow) {
|
|
actions.underline(focusedWindow)
|
|
}
|
|
}, {
|
|
type: 'separator'
|
|
}, {
|
|
id: 'superscriptMenuItem',
|
|
label: 'Superscript',
|
|
type: 'checkbox',
|
|
accelerator: keybindings.getAccelerator('format.superscript'),
|
|
click (menuItem, focusedWindow) {
|
|
actions.superscript(focusedWindow)
|
|
}
|
|
}, {
|
|
id: 'subscriptMenuItem',
|
|
label: 'Subscript',
|
|
type: 'checkbox',
|
|
accelerator: keybindings.getAccelerator('format.subscript'),
|
|
click (menuItem, focusedWindow) {
|
|
actions.subscript(focusedWindow)
|
|
}
|
|
}, {
|
|
id: 'highlightMenuItem',
|
|
label: 'Highlight',
|
|
type: 'checkbox',
|
|
accelerator: keybindings.getAccelerator('format.highlight'),
|
|
click (menuItem, focusedWindow) {
|
|
actions.highlight(focusedWindow)
|
|
}
|
|
}, {
|
|
type: 'separator'
|
|
}, {
|
|
id: 'inlineCodeMenuItem',
|
|
label: 'Inline Code',
|
|
type: 'checkbox',
|
|
accelerator: keybindings.getAccelerator('format.inline-code'),
|
|
click (menuItem, focusedWindow) {
|
|
actions.inlineCode(focusedWindow)
|
|
}
|
|
}, {
|
|
id: 'inlineMathMenuItem',
|
|
label: 'Inline Math',
|
|
type: 'checkbox',
|
|
accelerator: keybindings.getAccelerator('format.inline-math'),
|
|
click (menuItem, focusedWindow) {
|
|
actions.inlineMath(focusedWindow)
|
|
}
|
|
}, {
|
|
type: 'separator'
|
|
}, {
|
|
id: 'strikeMenuItem',
|
|
label: 'Strikethrough',
|
|
type: 'checkbox',
|
|
accelerator: keybindings.getAccelerator('format.strike'),
|
|
click (menuItem, focusedWindow) {
|
|
actions.strikethrough(focusedWindow)
|
|
}
|
|
}, {
|
|
id: 'hyperlinkMenuItem',
|
|
label: 'Hyperlink',
|
|
type: 'checkbox',
|
|
accelerator: keybindings.getAccelerator('format.hyperlink'),
|
|
click (menuItem, focusedWindow) {
|
|
actions.hyperlink(focusedWindow)
|
|
}
|
|
}, {
|
|
id: 'imageMenuItem',
|
|
label: 'Image',
|
|
type: 'checkbox',
|
|
accelerator: keybindings.getAccelerator('format.image'),
|
|
click (menuItem, focusedWindow) {
|
|
actions.image(focusedWindow)
|
|
}
|
|
}, {
|
|
type: 'separator'
|
|
}, {
|
|
label: 'Clear Formatting',
|
|
accelerator: keybindings.getAccelerator('format.clear-format'),
|
|
click (menuItem, focusedWindow) {
|
|
actions.clearFormat(focusedWindow)
|
|
}
|
|
}]
|
|
}
|
|
}
|