UNPKG

nyaovim

Version:

Web-enhanced Extensible Neovim Frontend

195 lines 6.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const electron_1 = require("electron"); const path_1 = require("path"); const about_window_1 = require("about-window"); function startAboutWindow() { about_window_1.default({ icon_path: path_1.join(__dirname, '..', 'resources', 'icon', 'nyaovim-logo.png'), copyright: 'Copyright (c) 2015 rhysd', }); } function setMenu(win) { const template = [ { label: 'Edit', submenu: [ { label: 'Undo', accelerator: 'CmdOrCtrl+Z', click: () => { if (win.webContents.isFocused()) { win.webContents.send('nyaovim:exec-commands', ['undo']); } else { electron_1.webContents.getFocusedWebContents().undo(); } }, }, { label: 'Redo', accelerator: 'Shift+CmdOrCtrl+Z', click: () => { if (win.webContents.isFocused()) { win.webContents.send('nyaovim:exec-commands', ['redo']); } else { electron_1.webContents.getFocusedWebContents().redo(); } }, }, { type: 'separator', }, { label: 'Cut', accelerator: 'CmdOrCtrl+X', click: () => { if (win.webContents.isFocused()) { win.webContents.send('nyaovim:cut'); } else { electron_1.webContents.getFocusedWebContents().cut(); } }, }, { label: 'Copy', accelerator: 'CmdOrCtrl+C', click: () => { if (win.webContents.isFocused()) { win.webContents.send('nyaovim:copy'); } else { electron_1.webContents.getFocusedWebContents().copy(); } }, }, { label: 'Paste', accelerator: 'CmdOrCtrl+V', click: () => { if (win.webContents.isFocused()) { win.webContents.send('nyaovim:paste'); } else { electron_1.webContents.getFocusedWebContents().paste(); } }, }, { label: 'Select All', accelerator: 'CmdOrCtrl+A', click: () => { if (win.webContents.isFocused()) { win.webContents.send('nyaovim:select-all'); } else { electron_1.webContents.getFocusedWebContents().selectAll(); } }, }, ], }, { label: 'View', submenu: [ { label: 'Reload', accelerator: 'CmdOrCtrl+R', click: () => win.reload(), }, { label: 'Toggle Full Screen', accelerator: process.platform === 'darwin' ? 'Ctrl+Command+F' : 'F11', click: () => win.setFullScreen(!win.isFullScreen()), }, { label: 'Open Developer Tools', accelerator: process.platform === 'darwin' ? 'Alt+Command+I' : 'Ctrl+Shift+I', click: () => win.webContents.openDevTools({ mode: 'detach' }), }, ], }, { label: 'Window', role: 'window', submenu: [ { label: 'Minimize', accelerator: 'CmdOrCtrl+M', role: 'minimize', }, { label: 'Close', accelerator: 'CmdOrCtrl+W', role: 'close', }, ], }, { label: 'Help', role: 'help', submenu: [ { label: 'About NyaoVim', click: () => startAboutWindow(), }, ], }, ]; if (process.platform === 'darwin') { template.unshift({ label: 'NyaoVim', submenu: [ { label: 'About NyaoVim', click: () => startAboutWindow(), }, { type: 'separator', }, { label: 'Services', role: 'services', }, { type: 'separator', }, { label: 'Hide NyaoVim', accelerator: 'Command+H', role: 'hide', }, { label: 'Hide Others', accelerator: 'Command+Shift+H', role: 'hideothers', }, { label: 'Show All', role: 'unhide', }, { type: 'separator', }, { label: 'Quit', accelerator: 'Command+Q', click: () => { electron_1.app.quit(); }, }, ], }); template[3].submenu.push({ type: 'separator', }, { label: 'Bring All to Front', role: 'front', }); } const menu = electron_1.Menu.buildFromTemplate(template); electron_1.Menu.setApplicationMenu(menu); return menu; } exports.default = setMenu; //# sourceMappingURL=menu.js.map