diff --git a/index.d.ts b/index.d.ts index 9a75420..690e169 100644 --- a/index.d.ts +++ b/index.d.ts @@ -67,6 +67,7 @@ declare namespace contextMenu { readonly saveImage: (options: ActionOptions) => MenuItem; readonly saveImageAs: (options: ActionOptions) => MenuItem; readonly copyImageAddress: (options: ActionOptions) => MenuItem; + readonly lookUpSelection: (options: ActionOptions) => MenuItem; } interface Options { @@ -115,6 +116,13 @@ declare namespace contextMenu { */ readonly showInspectElement?: boolean; + /** + Show the `Look Up [selection]` menu item when right-clicking text on macOS. + + @default true + */ + readonly showLookUpSelection?: boolean; + /** Overwrite labels for the default menu items. Useful for i18n. diff --git a/index.js b/index.js index c0fa678..d0a6b9a 100644 --- a/index.js +++ b/index.js @@ -1,5 +1,6 @@ 'use strict'; const electron = require('electron'); +const cliTruncate = require('cli-truncate'); const {download} = require('electron-dl'); const isDev = require('electron-is-dev'); @@ -126,10 +127,22 @@ const create = (win, options) => { text: props.srcURL }); } + }), + lookUpSelection: decorateMenuItem({ + id: 'lookUpWord', + label: `Look Up “${cliTruncate(props.selectionText.trim(), 25)}”`, + visible: process.platform === 'darwin' && hasText, + click() { + if (process.platform === 'darwin') { + webContents(win).showDefinitionForSelection(); + } + } }) }; let menuTemplate = [ + defaultActions.separator(), + options.showLookUpSelection !== false && defaultActions.lookUpSelection(), defaultActions.separator(), defaultActions.cut(), defaultActions.copy(), diff --git a/package.json b/package.json index 04f9e52..53d0417 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "image" ], "dependencies": { + "cli-truncate": "^1.1.0", "electron-dl": "^1.2.0", "electron-is-dev": "^1.0.1" }, diff --git a/readme.md b/readme.md index fadba9d..76c88de 100644 --- a/readme.md +++ b/readme.md @@ -93,6 +93,13 @@ Default: [Only in development](https://github.com/sindresorhus/electron-is-dev) Force enable or disable the `Inspect Element` menu item. +#### showLookUpSelection + +Type: `boolean`
+Default: `true` + +Show the `Look Up [selection]` menu item when right-clicking text on macOS. + #### labels Type: `Object`