From 1e62612fd18a2e15eb992760b1b1b41a5420d456 Mon Sep 17 00:00:00 2001 From: nautatva Date: Tue, 14 Apr 2020 23:46:45 +0530 Subject: [PATCH 01/11] Spellcheck with electron-context-menu update! --- package-lock.json | 432 ++++++++++++++++++++-------------------------- package.json | 14 +- source/index.ts | 1 + 3 files changed, 194 insertions(+), 253 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4a3a4529d..a1e3b5ba9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -72,12 +72,12 @@ } }, "@babel/generator": { - "version": "7.9.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.4.tgz", - "integrity": "sha512-rjP8ahaDy/ouhrvCoU1E5mqaitWrxwuNGU+dy1EpaoK48jZay4MdkskKGIMHLZNewg8sAsqpGSREJwP0zH3YQA==", + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.5.tgz", + "integrity": "sha512-GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ==", "dev": true, "requires": { - "@babel/types": "^7.9.0", + "@babel/types": "^7.9.5", "jsesc": "^2.5.1", "lodash": "^4.17.13", "source-map": "^0.5.0" @@ -92,14 +92,14 @@ } }, "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", - "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz", + "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==", "dev": true, "requires": { "@babel/helper-get-function-arity": "^7.8.3", "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/types": "^7.9.5" } }, "@babel/helper-get-function-arity": { @@ -185,9 +185,9 @@ } }, "@babel/helper-validator-identifier": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz", - "integrity": "sha512-6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw==", + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", + "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", "dev": true }, "@babel/helpers": { @@ -261,17 +261,17 @@ } }, "@babel/traverse": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.0.tgz", - "integrity": "sha512-jAZQj0+kn4WTHO5dUZkZKhbFrqZE7K5LAQ5JysMnmvGij+wOdr+8lWqPeW0BcF4wFwrEXXtdGO7wcV6YPJcf3w==", + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.5.tgz", + "integrity": "sha512-c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ==", "dev": true, "requires": { "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.0", - "@babel/helper-function-name": "^7.8.3", + "@babel/generator": "^7.9.5", + "@babel/helper-function-name": "^7.9.5", "@babel/helper-split-export-declaration": "^7.8.3", "@babel/parser": "^7.9.0", - "@babel/types": "^7.9.0", + "@babel/types": "^7.9.5", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.13" @@ -300,12 +300,12 @@ } }, "@babel/types": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.0.tgz", - "integrity": "sha512-BS9JKfXkzzJl8RluW4JGknzpiUV7ZrvTayM6yfqLTVBEnFtyowVIOu6rqxRd5cVO6yGoWf4T8u8dgK9oB+GCng==", + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", + "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.9.0", + "@babel/helper-validator-identifier": "^7.9.5", "lodash": "^4.17.13", "to-fast-properties": "^2.0.0" } @@ -321,9 +321,9 @@ } }, "@electron/get": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.9.0.tgz", - "integrity": "sha512-OBIKtF6ttIJotDXe4KJMUyTBO4xMii+mFjlA8R4CORuD4HvCUaCK3lPjhdTRCvuEv6gzWNbAvd9DNBv0v780lw==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.10.0.tgz", + "integrity": "sha512-hlueNXU51c3CwQjBw/i5fwt+VfQgSQVUTdicpCHkhEjNZaa4CXJ5W1GaxSwtLE2dvRmAHjpIjUMHTqJ53uojfg==", "dev": true, "requires": { "debug": "^4.1.1", @@ -507,6 +507,25 @@ "integrity": "sha512-on7+0FFpUH7+g5iLFkmk0oruqzE6uUnpKK0D6HM637aIvQ/mlXz33VlamsS4TSU6pifWSNIrUxrNKjAReU2Juw==", "dev": true }, + "@stylelint/postcss-css-in-js": { + "version": "0.37.1", + "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.1.tgz", + "integrity": "sha512-UMf2Rni3JGKi3ZwYRGMYJ5ipOA5ENJSKMtYA/pE1ZLURwdh7B5+z2r73RmWvub+N0UuH1Lo+TGfCgYwPvqpXNw==", + "dev": true, + "requires": { + "@babel/core": ">=7.9.0" + } + }, + "@stylelint/postcss-markdown": { + "version": "0.36.1", + "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.1.tgz", + "integrity": "sha512-iDxMBWk9nB2BPi1VFQ+Dc5+XpvODBHw2n3tYpaBZuEAFQlbtF9If0Qh5LTTwSi/XwdbJ2jt+0dis3i8omyggpw==", + "dev": true, + "requires": { + "remark": "^12.0.0", + "unist-util-find-all-after": "^3.0.1" + } + }, "@szmarczak/http-timer": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", @@ -628,26 +647,6 @@ "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==", "dev": true }, - "@types/vfile": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/vfile/-/vfile-3.0.2.tgz", - "integrity": "sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/unist": "*", - "@types/vfile-message": "*" - } - }, - "@types/vfile-message": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-2.0.0.tgz", - "integrity": "sha512-GpTIuDpb9u4zIO165fUy9+fXcULdD8HFRNli04GehoMVbeNq7D6OBnqSmg3lxZnC+UvgUhEWKxdKiwYUkGltIw==", - "dev": true, - "requires": { - "vfile-message": "*" - } - }, "@types/yargs": { "version": "15.0.4", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", @@ -664,45 +663,45 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.27.0.tgz", - "integrity": "sha512-/my+vVHRN7zYgcp0n4z5A6HAK7bvKGBiswaM5zIlOQczsxj/aiD7RcgD+dvVFuwFaGh5+kM7XA6Q6PN0bvb1tw==", + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.28.0.tgz", + "integrity": "sha512-w0Ugcq2iatloEabQP56BRWJowliXUP5Wv6f9fKzjJmDW81hOTBxRoJ4LoEOxRpz9gcY51Libytd2ba3yLmSOfg==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "2.27.0", + "@typescript-eslint/experimental-utils": "2.28.0", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.0.0", "tsutils": "^3.17.1" } }, "@typescript-eslint/experimental-utils": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.27.0.tgz", - "integrity": "sha512-vOsYzjwJlY6E0NJRXPTeCGqjv5OHgRU1kzxHKWJVPjDYGbPgLudBXjIlc+OD1hDBZ4l1DLbOc5VjofKahsu9Jw==", + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.28.0.tgz", + "integrity": "sha512-4SL9OWjvFbHumM/Zh/ZeEjUFxrYKtdCi7At4GyKTbQlrj1HcphIDXlje4Uu4cY+qzszR5NdVin4CCm6AXCjd6w==", "dev": true, "requires": { "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.27.0", + "@typescript-eslint/typescript-estree": "2.28.0", "eslint-scope": "^5.0.0", "eslint-utils": "^2.0.0" } }, "@typescript-eslint/parser": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.27.0.tgz", - "integrity": "sha512-HFUXZY+EdwrJXZo31DW4IS1ujQW3krzlRjBrFRrJcMDh0zCu107/nRfhk/uBasO8m0NVDbBF5WZKcIUMRO7vPg==", + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.28.0.tgz", + "integrity": "sha512-RqPybRDquui9d+K86lL7iPqH6Dfp9461oyqvlXMNtap+PyqYbkY5dB7LawQjDzot99fqzvS0ZLZdfe+1Bt3Jgw==", "dev": true, "requires": { "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.27.0", - "@typescript-eslint/typescript-estree": "2.27.0", + "@typescript-eslint/experimental-utils": "2.28.0", + "@typescript-eslint/typescript-estree": "2.28.0", "eslint-visitor-keys": "^1.1.0" } }, "@typescript-eslint/typescript-estree": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.27.0.tgz", - "integrity": "sha512-t2miCCJIb/FU8yArjAvxllxbTiyNqaXJag7UOpB5DVoM3+xnjeOngtqlJkLRnMtzaRcJhe3CIR9RmL40omubhg==", + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.28.0.tgz", + "integrity": "sha512-HDr8MP9wfwkiuqzRVkuM3BeDrOC4cKbO5a6BymZBHUt5y/2pL0BXD6I/C/ceq2IZoHWhcASk+5/zo+dwgu9V8Q==", "dev": true, "requires": { "debug": "^4.1.1", @@ -1466,9 +1465,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001039", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001039.tgz", - "integrity": "sha512-SezbWCTT34eyFoWHgx8UWso7YtvtM7oosmFoXbCkdC6qJzRfBTeTgE9REtKtiuKXuMwWTZEvdnFNGAyVMorv8Q==", + "version": "1.0.30001041", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001041.tgz", + "integrity": "sha512-fqDtRCApddNrQuBxBS7kEiSGdBsgO4wiVw4G/IClfqzfhW45MbTumfN4cuUJGTM0YGFNn97DCXPJ683PS6zwvA==", "dev": true }, "ccount": { @@ -1869,9 +1868,9 @@ } }, "core-js": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.4.tgz", - "integrity": "sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw==", + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", "dev": true, "optional": true }, @@ -2369,9 +2368,9 @@ "dev": true }, "electron": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/electron/-/electron-8.2.1.tgz", - "integrity": "sha512-+1PispFqjyKj3VeOPbEKEl6LYxPW41OxHgh9CGN8KeGygsKDHSZuuG9rYc+b9NeeaAl+gnV9VO2JOe7BIzXyOg==", + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/electron/-/electron-8.2.2.tgz", + "integrity": "sha512-GH4RCbpuzEn3XpTmsf+wLaJ2KOPSOoBJvQ0s6ftTLs5+IQEgKZvkdYCj8TCBNXFhss31RT3BUqoEQQUyZErK0A==", "dev": true, "requires": { "@electron/get": "^1.0.1", @@ -2380,9 +2379,9 @@ }, "dependencies": { "@types/node": { - "version": "12.12.34", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.34.tgz", - "integrity": "sha512-BneGN0J9ke24lBRn44hVHNeDlrXRYF+VRp0HbSUNnEZahXGAysHZIqnf/hER6aabdBgzM4YOV4jrR8gj4Zfi0g==", + "version": "12.12.35", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.35.tgz", + "integrity": "sha512-ASYsaKecA7TUsDrqIGPNk3JeEox0z/0XR/WsJJ8BIX/9+SkMSImQXKWfU/yBrSyc7ZSE/NPqLu36Nur0miCFfQ==", "dev": true } } @@ -2651,12 +2650,12 @@ } }, "electron-context-menu": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/electron-context-menu/-/electron-context-menu-0.16.0.tgz", - "integrity": "sha512-lGr1/nRlNGmU8THc0hl2dYEB5bwXJpsi7vCjjsnsNGJKPZZLY8nHY3xvtjdtwKocErvp1h8wUb19moWenzoGPw==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/electron-context-menu/-/electron-context-menu-1.0.0.tgz", + "integrity": "sha512-Vg20fMnUv/DQjcTg1F2pFVsufE+t5RhRDLbxMaPG5x7KOcevT7iWnNrenGPgAdPzezVMf/S2blin8jhUxJilcA==", "requires": { "cli-truncate": "^2.0.0", - "electron-dl": "^1.2.0", + "electron-dl": "^3.0.0", "electron-is-dev": "^1.0.1" }, "dependencies": { @@ -2696,16 +2695,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "electron-dl": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/electron-dl/-/electron-dl-1.14.0.tgz", - "integrity": "sha512-4okyei42a1mLsvLK7hLrIfd20EQzB18nIlLTwBV992aMSmTGLUEFRTmO1MfSslGNrzD8nuPuy1l/VxO8so4lig==", - "requires": { - "ext-name": "^5.0.0", - "pupa": "^1.0.0", - "unused-filename": "^1.0.0" - } - }, "slice-ansi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", @@ -2887,9 +2876,9 @@ } }, "electron-to-chromium": { - "version": "1.3.398", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.398.tgz", - "integrity": "sha512-BJjxuWLKFbM5axH3vES7HKMQgAknq9PZHBkMK/rEXUQG9i1Iw5R+6hGkm6GtsQSANjSUrh/a6m32nzCNDNo/+w==", + "version": "1.3.405", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.405.tgz", + "integrity": "sha512-D+xkP+hAQY/790DzImC8bI8QJLaArNG4b74bYvkhkK/fli51JmNyUYxwKLSl/8VPGkkXEqKCupSDD05/E5P72w==", "dev": true }, "electron-updater": { @@ -4347,9 +4336,9 @@ }, "dependencies": { "semver": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.2.1.tgz", - "integrity": "sha512-aHhm1pD02jXXkyIpq25qBZjr3CQgg8KST8uX0OWXch3xE6jw+1bfbWnCjzMwojsTquroUmKFHNzU6x26mEiRxw==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", "dev": true, "optional": true } @@ -4447,14 +4436,6 @@ "dev": true, "requires": { "minimist": "^1.2.5" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - } } }, "got": { @@ -4619,14 +4600,14 @@ "dev": true }, "husky": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/husky/-/husky-4.2.3.tgz", - "integrity": "sha512-VxTsSTRwYveKXN4SaH1/FefRJYCtx+wx04sSVcOpD7N2zjoHxa+cEJ07Qg5NmV3HAK+IRKOyNVpi2YBIVccIfQ==", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/husky/-/husky-4.2.5.tgz", + "integrity": "sha512-SYZ95AjKcX7goYVZtVZF2i6XiZcHknw50iXvY7b0MiGoj5RwdgRQNEHdb+gPDPCXKlzwrybjFjkL6FOj8uRhZQ==", "dev": true, "requires": { - "chalk": "^3.0.0", + "chalk": "^4.0.0", "ci-info": "^2.0.0", - "compare-versions": "^3.5.1", + "compare-versions": "^3.6.0", "cosmiconfig": "^6.0.0", "find-versions": "^3.2.0", "opencollective-postinstall": "^2.0.2", @@ -4647,9 +4628,9 @@ } }, "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", + "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -5978,10 +5959,13 @@ "dev": true }, "markdown-table": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", - "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", - "dev": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", + "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", + "dev": true, + "requires": { + "repeat-string": "^1.0.0" + } }, "matcher": { "version": "2.1.0", @@ -6009,12 +5993,12 @@ "dev": true }, "mdast-util-compact": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz", - "integrity": "sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz", + "integrity": "sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA==", "dev": true, "requires": { - "unist-util-visit": "^1.1.0" + "unist-util-visit": "^2.0.0" } }, "mem": { @@ -6138,9 +6122,9 @@ } }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, "minimist-options": { @@ -7066,9 +7050,9 @@ } }, "parse-entities": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", - "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", "dev": true, "requires": { "character-entities": "^1.0.0", @@ -7404,15 +7388,6 @@ "htmlparser2": "^3.10.0" } }, - "postcss-jsx": { - "version": "0.36.4", - "resolved": "https://registry.npmjs.org/postcss-jsx/-/postcss-jsx-0.36.4.tgz", - "integrity": "sha512-jwO/7qWUvYuWYnpOb0+4bIIgJt7003pgU3P6nETBLaOyBXuTD55ho21xnals5nBrlpTIFodyd3/jBi6UO3dHvA==", - "dev": true, - "requires": { - "@babel/core": ">=7.2.2" - } - }, "postcss-less": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz", @@ -7422,16 +7397,6 @@ "postcss": "^7.0.14" } }, - "postcss-markdown": { - "version": "0.36.0", - "resolved": "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-0.36.0.tgz", - "integrity": "sha512-rl7fs1r/LNSB2bWRhyZ+lM/0bwKv9fhl38/06gF6mKMo/NPnp55+K1dSTosSVjFZc0e1ppBlu+WT91ba0PMBfQ==", - "dev": true, - "requires": { - "remark": "^10.0.1", - "unist-util-find-all-after": "^1.0.2" - } - }, "postcss-media-query-parser": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", @@ -7609,11 +7574,6 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, - "pupa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-1.0.0.tgz", - "integrity": "sha1-mpVopa9+ZXuEYqbp1TKHQ1YM7/Y=" - }, "quick-lru": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", @@ -7751,43 +7711,44 @@ } }, "remark": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz", - "integrity": "sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/remark/-/remark-12.0.0.tgz", + "integrity": "sha512-oX4lMIS0csgk8AEbzY0h2jdR0ngiCHOpwwpxjmRa5TqAkeknY+tkhjRJGZqnCmvyuWh55/0SW5WY3R3nn3PH9A==", "dev": true, "requires": { - "remark-parse": "^6.0.0", - "remark-stringify": "^6.0.0", - "unified": "^7.0.0" + "remark-parse": "^8.0.0", + "remark-stringify": "^8.0.0", + "unified": "^9.0.0" } }, "remark-parse": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz", - "integrity": "sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.0.tgz", + "integrity": "sha512-Ck14G1Ns/GEPXhSw6m1Uv28kMtVk63e59NyL+QlhBBwBdIUXROM6MPfBehPhW6TW2d73batMdZsKwuxl5i3tEA==", "dev": true, "requires": { + "ccount": "^1.0.0", "collapse-white-space": "^1.0.2", "is-alphabetical": "^1.0.0", "is-decimal": "^1.0.0", "is-whitespace-character": "^1.0.0", "is-word-character": "^1.0.0", "markdown-escapes": "^1.0.0", - "parse-entities": "^1.1.0", + "parse-entities": "^2.0.0", "repeat-string": "^1.5.4", "state-toggle": "^1.0.0", "trim": "0.0.1", "trim-trailing-lines": "^1.0.0", "unherit": "^1.0.4", - "unist-util-remove-position": "^1.0.0", - "vfile-location": "^2.0.0", + "unist-util-remove-position": "^2.0.0", + "vfile-location": "^3.0.0", "xtend": "^4.0.1" } }, "remark-stringify": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-6.0.4.tgz", - "integrity": "sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-8.0.0.tgz", + "integrity": "sha512-cABVYVloFH+2ZI5bdqzoOmemcz/ZuhQSH6W6ZNYnLojAUUn3xtX7u+6BpnYp35qHoGr2NFBsERV14t4vCIeW8w==", "dev": true, "requires": { "ccount": "^1.0.0", @@ -7796,12 +7757,12 @@ "is-whitespace-character": "^1.0.0", "longest-streak": "^2.0.1", "markdown-escapes": "^1.0.0", - "markdown-table": "^1.1.0", - "mdast-util-compact": "^1.0.0", - "parse-entities": "^1.0.2", + "markdown-table": "^2.0.0", + "mdast-util-compact": "^2.0.0", + "parse-entities": "^2.0.0", "repeat-string": "^1.5.4", "state-toggle": "^1.0.0", - "stringify-entities": "^1.0.1", + "stringify-entities": "^3.0.0", "unherit": "^1.0.4", "xtend": "^4.0.1" } @@ -8483,14 +8444,15 @@ } }, "stringify-entities": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz", - "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.0.0.tgz", + "integrity": "sha512-h7NJJIssprqlyjHT2eQt2W1F+MCcNmwPGlKb0bWEdET/3N44QN3QbUF/ueKCgAssyKRZ3Br9rQ7FcXjHr0qLHw==", "dev": true, "requires": { "character-entities-html4": "^1.0.0", "character-entities-legacy": "^1.0.0", "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.2", "is-hexadecimal": "^1.0.0" } }, @@ -8547,14 +8509,16 @@ "dev": true }, "stylelint": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.3.0.tgz", - "integrity": "sha512-ehNzQu9JAbxuiNhUhmoyPgMjIdz7Fg1AxC5urPVhKotto/faF5GxwljSoLvQa6pB6yd+BVuofApWjWT/6/rBMQ==", + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.3.2.tgz", + "integrity": "sha512-kpO3/Gz2ZY40EWUwFYYkgpzhf8ZDUyKpcui5+pS0XKJBj/EMYmZpOJoL8IFAz2yApYeg91NVy5yAjE39hDzWvQ==", "dev": true, "requires": { - "autoprefixer": "^9.7.5", + "@stylelint/postcss-css-in-js": "^0.37.1", + "@stylelint/postcss-markdown": "^0.36.1", + "autoprefixer": "^9.7.6", "balanced-match": "^1.0.0", - "chalk": "^3.0.0", + "chalk": "^4.0.0", "cosmiconfig": "^6.0.0", "debug": "^4.1.1", "execall": "^2.0.0", @@ -8577,14 +8541,12 @@ "normalize-selector": "^0.2.0", "postcss": "^7.0.27", "postcss-html": "^0.36.0", - "postcss-jsx": "^0.36.4", "postcss-less": "^3.1.4", - "postcss-markdown": "^0.36.0", "postcss-media-query-parser": "^0.2.3", "postcss-reporter": "^6.0.1", "postcss-resolve-nested-selector": "^0.1.1", "postcss-safe-parser": "^4.0.2", - "postcss-sass": "^0.4.2", + "postcss-sass": "^0.4.4", "postcss-scss": "^2.0.0", "postcss-selector-parser": "^6.0.2", "postcss-syntax": "^0.36.2", @@ -8636,9 +8598,9 @@ } }, "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", + "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -9429,19 +9391,25 @@ } }, "unified": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz", - "integrity": "sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.0.0.tgz", + "integrity": "sha512-ssFo33gljU3PdlWLjNp15Inqb77d6JnJSfyplGJPT/a+fNRNyCBeveBAYJdO5khKdF6WVHa/yYCC7Xl6BDwZUQ==", "dev": true, "requires": { - "@types/unist": "^2.0.0", - "@types/vfile": "^3.0.0", "bail": "^1.0.0", "extend": "^3.0.0", - "is-plain-obj": "^1.1.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", "trough": "^1.0.0", - "vfile": "^3.0.0", - "x-is-string": "^0.1.0" + "vfile": "^4.0.0" + }, + "dependencies": { + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true + } } }, "union-value": { @@ -9472,27 +9440,27 @@ } }, "unist-util-find-all-after": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-1.0.5.tgz", - "integrity": "sha512-lWgIc3rrTMTlK1Y0hEuL+k+ApzFk78h+lsaa2gHf63Gp5Ww+mt11huDniuaoq1H+XMK2lIIjjPkncxXcDp3QDw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.1.tgz", + "integrity": "sha512-0GICgc++sRJesLwEYDjFVJPJttBpVQaTNgc6Jw0Jhzvfs+jtKePEMu+uD+PqkRUrAvGQqwhpDwLGWo1PK8PDEw==", "dev": true, "requires": { - "unist-util-is": "^3.0.0" + "unist-util-is": "^4.0.0" } }, "unist-util-is": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", - "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz", + "integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==", "dev": true }, "unist-util-remove-position": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz", - "integrity": "sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz", + "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", "dev": true, "requires": { - "unist-util-visit": "^1.1.0" + "unist-util-visit": "^2.0.0" } }, "unist-util-stringify-position": { @@ -9505,21 +9473,24 @@ } }, "unist-util-visit": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", - "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.2.tgz", + "integrity": "sha512-HoHNhGnKj6y+Sq+7ASo2zpVdfdRifhTgX2KTU3B/sO/TTlZchp7E3S4vjRzDJ7L60KmrCPsQkVK3lEF3cz36XQ==", "dev": true, "requires": { - "unist-util-visit-parents": "^2.0.0" + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" } }, "unist-util-visit-parents": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz", - "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.0.2.tgz", + "integrity": "sha512-yJEfuZtzFpQmg1OSCyS9M5NJRrln/9FbYosH3iW0MG402QbdbaB8ZESwUv9RO6nRfLAKvWcMxCwdLWOov36x/g==", "dev": true, "requires": { - "unist-util-is": "^3.0.0" + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" } }, "universalify": { @@ -9567,15 +9538,6 @@ } } }, - "unused-filename": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unused-filename/-/unused-filename-1.0.0.tgz", - "integrity": "sha1-00CID3GuIRXrqhMlvvBcxmhEacY=", - "requires": { - "modify-filename": "^1.1.0", - "path-exists": "^3.0.0" - } - }, "update-notifier": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-3.0.1.tgz", @@ -9672,38 +9634,22 @@ } }, "vfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-3.0.1.tgz", - "integrity": "sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.1.0.tgz", + "integrity": "sha512-BaTPalregj++64xbGK6uIlsurN3BCRNM/P2Pg8HezlGzKd1O9PrwIac6bd9Pdx2uTb0QHoioZ+rXKolbVXEgJg==", "dev": true, "requires": { + "@types/unist": "^2.0.0", "is-buffer": "^2.0.0", "replace-ext": "1.0.0", - "unist-util-stringify-position": "^1.0.0", - "vfile-message": "^1.0.0" - }, - "dependencies": { - "unist-util-stringify-position": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz", - "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==", - "dev": true - }, - "vfile-message": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz", - "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==", - "dev": true, - "requires": { - "unist-util-stringify-position": "^1.1.1" - } - } + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" } }, "vfile-location": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz", - "integrity": "sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.0.1.tgz", + "integrity": "sha512-yYBO06eeN/Ki6Kh1QAkgzYpWT1d3Qln+ZCtSbJqFExPl1S3y2qqotJQXoh6qEvl/jDlgpUJolBn3PItVnnZRqQ==", "dev": true }, "vfile-message": { @@ -10010,12 +9956,6 @@ } } }, - "x-is-string": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz", - "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=", - "dev": true - }, "xdg-basedir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", diff --git a/package.json b/package.json index d45e44d81..9a41d9dc8 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "dependencies": { "@sindresorhus/do-not-disturb": "^1.1.0", "electron-better-ipc": "^0.8.0", - "electron-context-menu": "^0.16.0", + "electron-context-menu": "^1.0.0", "electron-debug": "^3.0.1", "electron-dl": "^3.0.0", "electron-localshortcut": "^3.2.1", @@ -47,15 +47,15 @@ "@types/electron-localshortcut": "^3.1.0", "@types/facebook-locales": "^1.0.0", "@types/lodash": "^4.14.149", - "@typescript-eslint/eslint-plugin": "^2.27.0", - "@typescript-eslint/parser": "^2.27.0", + "@typescript-eslint/eslint-plugin": "^2.28.0", + "@typescript-eslint/parser": "^2.28.0", "del-cli": "^3.0.0", - "electron": "^8.2.1", + "electron": "^8.2.2", "electron-builder": "^22.4.1", "eslint-config-xo-typescript": "^0.26.0", - "husky": "^4.2.3", + "husky": "^4.2.5", "np": "^5.2.1", - "stylelint": "^13.3.0", + "stylelint": "^13.3.2", "stylelint-config-xo": "^0.16.1", "typescript": "^3.8.3", "xo": "^0.25.4" @@ -141,4 +141,4 @@ "pre-push": "npm test" } } -} +} \ No newline at end of file diff --git a/source/index.ts b/source/index.ts index c75651fdb..23f1a56ad 100644 --- a/source/index.ts +++ b/source/index.ts @@ -309,6 +309,7 @@ function createMainWindow(): BrowserWindow { preload: path.join(__dirname, 'browser.js'), nativeWindowOpen: true, contextIsolation: true, + spellcheck: true, plugins: true } }); From f2f7cb82d08b8dd8d4d7175bc0f3a6059c6f832c Mon Sep 17 00:00:00 2001 From: nautatva Date: Mon, 20 Apr 2020 15:49:48 +0530 Subject: [PATCH 02/11] Set custom dictionaries if available --- readme.md | 4 ++ source/config.ts | 5 +++ source/menu.ts | 105 ++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 113 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 3e7083be6..87ec89cb0 100644 --- a/readme.md +++ b/readme.md @@ -149,6 +149,10 @@ Note that you can change the behavior of Caprine so that the app closes when the +### Custom languages for spell-check *(Does not support macOS)* + +Users can select supported languages from `Conversation` → `Set spell checker language` + ### Custom styles Advanced users can modify the colors/styles of Caprine. Click the menu item `Caprine`/`File` → `Caprine Settings` → `Advanced` → `Custom Styles` and a CSS file will open up in your default editor. diff --git a/source/config.ts b/source/config.ts index 4207a4ec5..2ff64b678 100644 --- a/source/config.ts +++ b/source/config.ts @@ -40,6 +40,7 @@ type StoreType = { quitOnWindowClose: boolean; keepMeSignedIn: boolean; autoplayVideos: boolean; + languagesChecked: string[]; }; const schema: {[Key in keyof StoreType]: Store.Schema} = { @@ -196,6 +197,10 @@ const schema: {[Key in keyof StoreType]: Store.Schema} = { autoplayVideos: { type: 'boolean', default: true + }, + languagesChecked: { + type: 'array', + default: [] } }; diff --git a/source/menu.ts b/source/menu.ts index ee0ca8618..ede875050 100644 --- a/source/menu.ts +++ b/source/menu.ts @@ -1,6 +1,6 @@ import * as path from 'path'; import {existsSync, writeFileSync} from 'fs'; -import {app, shell, Menu, MenuItemConstructorOptions, dialog} from 'electron'; +import {app, session, shell, Menu, MenuItemConstructorOptions, dialog} from 'electron'; import { is, appMenu, @@ -504,6 +504,101 @@ Press Command/Ctrl+R in Caprine to see your changes. } } ]; + const languageToCode: any = { + // All languages available in electron spellchecker + af: 'Afrikaans', + bg: 'Bulgarian', + ca: 'Catalan; Valencian', + cs: 'Czech', + cy: 'Welsh', + da: 'Danish ', + de: 'German', + el: 'Greek(Modern)', + en: 'English', + et: 'Estonian', + fa: 'Persian', + fo: 'Faroese', + fr: 'French', + he: 'Hebrew', + hi: 'Hindi', + hr: 'Croatian', + hu: 'Hungarian', + hy: 'Armenian', + id: 'Indonesian', + it: 'Italian', + ko: 'Korean', + lt: 'Lithuanian', + lv: 'Latvian', + nb: 'Norwegian', + nl: 'Dutch; Flemish', + pl: 'Polish', + pt: 'Portuguese', + ro: 'Romanian; Moldavian; Moldovan', + ru: 'Russian', + sh: 'Serbo-Croatian', + sk: 'Slovak', + sl: 'Slovenian', + sq: 'Albanian', + sr: 'Serbian', + sv: 'Swedish', + ta: 'Tamil', + tg: 'Tajik', + tr: 'Turkish', + uk: 'Ukrainian', + vi: 'Vietnamese' + }; + + function getLanguages(): MenuItemConstructorOptions[] { + const spellCheckLanguages = session.defaultSession.getSpellCheckerLanguages(); + const availableLanguages = session.defaultSession.availableSpellCheckerLanguages; + const languageItem = new Array(spellCheckLanguages.length); + + let languagesChecked = config.get('languagesChecked'); + for (const language of spellCheckLanguages) { + if (availableLanguages.includes(language)) { + let display = language; + + if (Object.prototype.hasOwnProperty.call(languageToCode, display.split('-')[0])) { + display = languageToCode[display]; + } + + languageItem.push( + { + label: language, + type: 'checkbox', + checked: languagesChecked.includes(language), + click() { + const index = languagesChecked.indexOf(language); + if (index > -1) { + // Remove language + languagesChecked.splice(index, 1); + config.set('languagesChecked', languagesChecked); + } else { + // Add language + languagesChecked = languagesChecked.concat(language); + config.set('languagesChecked', languagesChecked); + } + + session.defaultSession.setSpellCheckerLanguages(languageItem); + } + } + ); + } + } + + if (languageItem.length === 1) { + return [{ + label: 'System default', + type: 'checkbox', + checked: true, + enabled: false + }]; + } + + return languageItem; + } + + const spellCheckerSubmenu: MenuItemConstructorOptions[] = getLanguages(); const conversationSubmenu: MenuItemConstructorOptions[] = [ { @@ -598,6 +693,14 @@ Press Command/Ctrl+R in Caprine to see your changes. click() { sendAction('focus-text-input'); } + }, + { + type: 'separator' + }, + { + label: 'Set spell checker language', + visible: !is.macos, + submenu: spellCheckerSubmenu } ]; From 623eae5a670ade3dfde733acda3123854a2dedf2 Mon Sep 17 00:00:00 2001 From: nautatva Date: Wed, 22 Apr 2020 23:11:04 +0530 Subject: [PATCH 03/11] Using map to specify type of element. --- source/menu.ts | 95 +++++++++++++++++++++++--------------------------- 1 file changed, 44 insertions(+), 51 deletions(-) diff --git a/source/menu.ts b/source/menu.ts index ede875050..0c7ff1eaa 100644 --- a/source/menu.ts +++ b/source/menu.ts @@ -504,67 +504,60 @@ Press Command/Ctrl+R in Caprine to see your changes. } } ]; - const languageToCode: any = { + const languageToCode = new Map([ // All languages available in electron spellchecker - af: 'Afrikaans', - bg: 'Bulgarian', - ca: 'Catalan; Valencian', - cs: 'Czech', - cy: 'Welsh', - da: 'Danish ', - de: 'German', - el: 'Greek(Modern)', - en: 'English', - et: 'Estonian', - fa: 'Persian', - fo: 'Faroese', - fr: 'French', - he: 'Hebrew', - hi: 'Hindi', - hr: 'Croatian', - hu: 'Hungarian', - hy: 'Armenian', - id: 'Indonesian', - it: 'Italian', - ko: 'Korean', - lt: 'Lithuanian', - lv: 'Latvian', - nb: 'Norwegian', - nl: 'Dutch; Flemish', - pl: 'Polish', - pt: 'Portuguese', - ro: 'Romanian; Moldavian; Moldovan', - ru: 'Russian', - sh: 'Serbo-Croatian', - sk: 'Slovak', - sl: 'Slovenian', - sq: 'Albanian', - sr: 'Serbian', - sv: 'Swedish', - ta: 'Tamil', - tg: 'Tajik', - tr: 'Turkish', - uk: 'Ukrainian', - vi: 'Vietnamese' - }; + ['af', 'Afrikaans'], + ['bg', 'Bulgarian'], + ['ca', 'Catalan; Valencian'], + ['cs', 'Czech'], + ['cy', 'Welsh'], + ['da', 'Danish '], + ['de', 'German'], + ['el', 'Greek(Modern)'], + ['en', 'English'], + ['et', 'Estonian'], + ['fa', 'Persian'], + ['fo', 'Faroese'], + ['fr', 'French'], + ['he', 'Hebrew'], + ['hi', 'Hindi'], + ['hr', 'Croatian'], + ['hu', 'Hungarian'], + ['hy', 'Armenian'], + ['id', 'Indonesian'], + ['it', 'Italian'], + ['ko', 'Korean'], + ['lt', 'Lithuanian'], + ['lv', 'Latvian'], + ['nb', 'Norwegian'], + ['nl', 'Dutch; Flemish'], + ['pl', 'Polish'], + ['pt', 'Portuguese'], + ['ro', 'Romanian; Moldavian; Moldovan'], + ['ru', 'Russian'], + ['sh', 'Serbo-Croatian'], + ['sk', 'Slovak'], + ['sl', 'Slovenian'], + ['sq', 'Albanian'], + ['sr', 'Serbian'], + ['sv', 'Swedish'], + ['ta', 'Tamil'], + ['tg', 'Tajik'], + ['tr', 'Turkish'], + ['uk', 'Ukrainian'], + ['vi', 'Vietnamese'] + ]); function getLanguages(): MenuItemConstructorOptions[] { const spellCheckLanguages = session.defaultSession.getSpellCheckerLanguages(); const availableLanguages = session.defaultSession.availableSpellCheckerLanguages; const languageItem = new Array(spellCheckLanguages.length); - let languagesChecked = config.get('languagesChecked'); for (const language of spellCheckLanguages) { if (availableLanguages.includes(language)) { - let display = language; - - if (Object.prototype.hasOwnProperty.call(languageToCode, display.split('-')[0])) { - display = languageToCode[display]; - } - languageItem.push( { - label: language, + label: languageToCode.get(String(language.split('-')[0])) ?? language, type: 'checkbox', checked: languagesChecked.includes(language), click() { @@ -579,7 +572,7 @@ Press Command/Ctrl+R in Caprine to see your changes. config.set('languagesChecked', languagesChecked); } - session.defaultSession.setSpellCheckerLanguages(languageItem); + session.defaultSession.setSpellCheckerLanguages(languagesChecked); } } ); From f00aeb695b6a03bb2ff57d454bbfca3c29f2bcb1 Mon Sep 17 00:00:00 2001 From: nautatva Date: Thu, 23 Apr 2020 21:22:49 +0530 Subject: [PATCH 04/11] Lnaguages seperated with "-" --- source/menu.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/source/menu.ts b/source/menu.ts index 0c7ff1eaa..c5ee556e0 100644 --- a/source/menu.ts +++ b/source/menu.ts @@ -515,6 +515,13 @@ Press Command/Ctrl+R in Caprine to see your changes. ['de', 'German'], ['el', 'Greek(Modern)'], ['en', 'English'], + ['en-AU', 'English (Australia)'], + ['en-CA', 'English (Canada)'], + ['en-GB', 'English (United Kingdom)'], + ['en-US', 'English (United States)'], + ['es-419', 'Spanish (Central and South America)'], + ['es-AR', 'Spanish (Argentina)'], + ['es-MX', 'Spanish (Mexico)'], ['et', 'Estonian'], ['fa', 'Persian'], ['fo', 'Faroese'], @@ -533,6 +540,8 @@ Press Command/Ctrl+R in Caprine to see your changes. ['nl', 'Dutch; Flemish'], ['pl', 'Polish'], ['pt', 'Portuguese'], + ['pt-BR', 'Portuguese (Brazil)'], + ['pt-PT', 'Portuguese'], ['ro', 'Romanian; Moldavian; Moldovan'], ['ru', 'Russian'], ['sh', 'Serbo-Croatian'], @@ -557,7 +566,7 @@ Press Command/Ctrl+R in Caprine to see your changes. if (availableLanguages.includes(language)) { languageItem.push( { - label: languageToCode.get(String(language.split('-')[0])) ?? language, + label: languageToCode.get(language) ?? languageToCode.get(language.split('-')[0]) ?? language, type: 'checkbox', checked: languagesChecked.includes(language), click() { From a03792ef91e3b75f410996ee74adc41cdb7b3a31 Mon Sep 17 00:00:00 2001 From: nautatva Date: Sat, 25 Apr 2020 03:02:23 +0530 Subject: [PATCH 05/11] User chooses languages from a complete list --- source/menu.ts | 59 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 24 deletions(-) diff --git a/source/menu.ts b/source/menu.ts index c5ee556e0..4e7317744 100644 --- a/source/menu.ts +++ b/source/menu.ts @@ -519,9 +519,12 @@ Press Command/Ctrl+R in Caprine to see your changes. ['en-CA', 'English (Canada)'], ['en-GB', 'English (United Kingdom)'], ['en-US', 'English (United States)'], + ['es', 'es: Spanish'], + ['es-ES', 'es-ES: Spanish'], ['es-419', 'Spanish (Central and South America)'], ['es-AR', 'Spanish (Argentina)'], ['es-MX', 'Spanish (Mexico)'], + ['es-US', 'Spanish (United States)'], ['et', 'Estonian'], ['fa', 'Persian'], ['fo', 'Faroese'], @@ -558,34 +561,42 @@ Press Command/Ctrl+R in Caprine to see your changes. ]); function getLanguages(): MenuItemConstructorOptions[] { - const spellCheckLanguages = session.defaultSession.getSpellCheckerLanguages(); const availableLanguages = session.defaultSession.availableSpellCheckerLanguages; - const languageItem = new Array(spellCheckLanguages.length); + const languageItem = new Array(availableLanguages.length); let languagesChecked = config.get('languagesChecked'); - for (const language of spellCheckLanguages) { - if (availableLanguages.includes(language)) { - languageItem.push( - { - label: languageToCode.get(language) ?? languageToCode.get(language.split('-')[0]) ?? language, - type: 'checkbox', - checked: languagesChecked.includes(language), - click() { - const index = languagesChecked.indexOf(language); - if (index > -1) { - // Remove language - languagesChecked.splice(index, 1); - config.set('languagesChecked', languagesChecked); - } else { - // Add language - languagesChecked = languagesChecked.concat(language); - config.set('languagesChecked', languagesChecked); - } - - session.defaultSession.setSpellCheckerLanguages(languagesChecked); + + for (const language of languagesChecked) { + const index = availableLanguages.indexOf(language); + if (index === -1) { + // Not in spell checker dictionary. remove! + const removeIndex = languagesChecked.indexOf(language); + languagesChecked.splice(removeIndex, 1); + config.set('languagesChecked', languagesChecked); + } + } + + for (const language of availableLanguages) { + languageItem.push( + { + label: languageToCode.get(language) ?? languageToCode.get(language.split('-')[0]) ?? language, + type: 'checkbox', + checked: languagesChecked.includes(language), + click() { + const index = languagesChecked.indexOf(language); + if (index > -1) { + // Remove language + languagesChecked.splice(index, 1); + config.set('languagesChecked', languagesChecked); + } else { + // Add language + languagesChecked = languagesChecked.concat(language); + config.set('languagesChecked', languagesChecked); } + + session.defaultSession.setSpellCheckerLanguages(languagesChecked); } - ); - } + } + ); } if (languageItem.length === 1) { From ba994fdb35918a9cd93d51a83bc1fc442bb67742 Mon Sep 17 00:00:00 2001 From: nautatva Date: Wed, 29 Apr 2020 20:55:17 +0530 Subject: [PATCH 06/11] spell-checker gets a new file! --- readme.md | 4 +- source/config.ts | 4 +- source/menu.ts | 113 ++-------------------------------------- source/spell-checker.ts | 108 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 116 insertions(+), 113 deletions(-) create mode 100644 source/spell-checker.ts diff --git a/readme.md b/readme.md index 87ec89cb0..940ff7eda 100644 --- a/readme.md +++ b/readme.md @@ -149,9 +149,9 @@ Note that you can change the behavior of Caprine so that the app closes when the -### Custom languages for spell-check *(Does not support macOS)* +### Custom languages for spell-check *(Not for macOS)* -Users can select supported languages from `Conversation` → `Set spell checker language` +Users can select supported languages from `Conversation` → `Set spell checker language`. MacOS detects the language automatically, hence this option is not needed. ### Custom styles diff --git a/source/config.ts b/source/config.ts index 2ff64b678..389536564 100644 --- a/source/config.ts +++ b/source/config.ts @@ -40,7 +40,7 @@ type StoreType = { quitOnWindowClose: boolean; keepMeSignedIn: boolean; autoplayVideos: boolean; - languagesChecked: string[]; + spellCheckerLanguages: string[]; }; const schema: {[Key in keyof StoreType]: Store.Schema} = { @@ -198,7 +198,7 @@ const schema: {[Key in keyof StoreType]: Store.Schema} = { type: 'boolean', default: true }, - languagesChecked: { + spellCheckerLanguages: { type: 'array', default: [] } diff --git a/source/menu.ts b/source/menu.ts index 4e7317744..8e7e1dba9 100644 --- a/source/menu.ts +++ b/source/menu.ts @@ -1,6 +1,6 @@ import * as path from 'path'; import {existsSync, writeFileSync} from 'fs'; -import {app, session, shell, Menu, MenuItemConstructorOptions, dialog} from 'electron'; +import {app, shell, Menu, MenuItemConstructorOptions, dialog} from 'electron'; import { is, appMenu, @@ -10,6 +10,7 @@ import { debugInfo } from 'electron-util'; import config from './config'; +import getSpellCheckerLanguages from './spell-checker'; import {sendAction, showRestartDialog, getWindow, toggleTrayIcon, toggleLaunchMinimized} from './util'; import {generateSubmenu as generateEmojiSubmenu} from './emoji'; import {toggleMenuBarMode} from './menu-bar-mode'; @@ -504,114 +505,8 @@ Press Command/Ctrl+R in Caprine to see your changes. } } ]; - const languageToCode = new Map([ - // All languages available in electron spellchecker - ['af', 'Afrikaans'], - ['bg', 'Bulgarian'], - ['ca', 'Catalan; Valencian'], - ['cs', 'Czech'], - ['cy', 'Welsh'], - ['da', 'Danish '], - ['de', 'German'], - ['el', 'Greek(Modern)'], - ['en', 'English'], - ['en-AU', 'English (Australia)'], - ['en-CA', 'English (Canada)'], - ['en-GB', 'English (United Kingdom)'], - ['en-US', 'English (United States)'], - ['es', 'es: Spanish'], - ['es-ES', 'es-ES: Spanish'], - ['es-419', 'Spanish (Central and South America)'], - ['es-AR', 'Spanish (Argentina)'], - ['es-MX', 'Spanish (Mexico)'], - ['es-US', 'Spanish (United States)'], - ['et', 'Estonian'], - ['fa', 'Persian'], - ['fo', 'Faroese'], - ['fr', 'French'], - ['he', 'Hebrew'], - ['hi', 'Hindi'], - ['hr', 'Croatian'], - ['hu', 'Hungarian'], - ['hy', 'Armenian'], - ['id', 'Indonesian'], - ['it', 'Italian'], - ['ko', 'Korean'], - ['lt', 'Lithuanian'], - ['lv', 'Latvian'], - ['nb', 'Norwegian'], - ['nl', 'Dutch; Flemish'], - ['pl', 'Polish'], - ['pt', 'Portuguese'], - ['pt-BR', 'Portuguese (Brazil)'], - ['pt-PT', 'Portuguese'], - ['ro', 'Romanian; Moldavian; Moldovan'], - ['ru', 'Russian'], - ['sh', 'Serbo-Croatian'], - ['sk', 'Slovak'], - ['sl', 'Slovenian'], - ['sq', 'Albanian'], - ['sr', 'Serbian'], - ['sv', 'Swedish'], - ['ta', 'Tamil'], - ['tg', 'Tajik'], - ['tr', 'Turkish'], - ['uk', 'Ukrainian'], - ['vi', 'Vietnamese'] - ]); - function getLanguages(): MenuItemConstructorOptions[] { - const availableLanguages = session.defaultSession.availableSpellCheckerLanguages; - const languageItem = new Array(availableLanguages.length); - let languagesChecked = config.get('languagesChecked'); - - for (const language of languagesChecked) { - const index = availableLanguages.indexOf(language); - if (index === -1) { - // Not in spell checker dictionary. remove! - const removeIndex = languagesChecked.indexOf(language); - languagesChecked.splice(removeIndex, 1); - config.set('languagesChecked', languagesChecked); - } - } - - for (const language of availableLanguages) { - languageItem.push( - { - label: languageToCode.get(language) ?? languageToCode.get(language.split('-')[0]) ?? language, - type: 'checkbox', - checked: languagesChecked.includes(language), - click() { - const index = languagesChecked.indexOf(language); - if (index > -1) { - // Remove language - languagesChecked.splice(index, 1); - config.set('languagesChecked', languagesChecked); - } else { - // Add language - languagesChecked = languagesChecked.concat(language); - config.set('languagesChecked', languagesChecked); - } - - session.defaultSession.setSpellCheckerLanguages(languagesChecked); - } - } - ); - } - - if (languageItem.length === 1) { - return [{ - label: 'System default', - type: 'checkbox', - checked: true, - enabled: false - }]; - } - - return languageItem; - } - - const spellCheckerSubmenu: MenuItemConstructorOptions[] = getLanguages(); + const spellCheckerSubmenu: MenuItemConstructorOptions[] = getSpellCheckerLanguages(); const conversationSubmenu: MenuItemConstructorOptions[] = [ { @@ -711,7 +606,7 @@ Press Command/Ctrl+R in Caprine to see your changes. type: 'separator' }, { - label: 'Set spell checker language', + label: 'Spell Checker Language', visible: !is.macos, submenu: spellCheckerSubmenu } diff --git a/source/spell-checker.ts b/source/spell-checker.ts new file mode 100644 index 000000000..2b6ffe029 --- /dev/null +++ b/source/spell-checker.ts @@ -0,0 +1,108 @@ +import {session, MenuItemConstructorOptions} from 'electron'; +import config from './config'; + +const languageToCode = new Map([ + // All languages available in electron spellchecker + ['af', 'Afrikaans'], + ['bg', 'Bulgarian'], + ['ca', 'Catalan; Valencian'], + ['cs', 'Czech'], + ['cy', 'Welsh'], + ['da', 'Danish '], + ['de', 'German'], + ['el', 'Greek(Modern)'], + ['en', 'English'], + ['en-AU', 'English (Australia)'], + ['en-CA', 'English (Canada)'], + ['en-GB', 'English (United Kingdom)'], + ['en-US', 'English (United States)'], + ['es-ES', 'Spanish'], + ['es-419', 'Spanish (Central and South America)'], + ['es-AR', 'Spanish (Argentina)'], + ['es-MX', 'Spanish (Mexico)'], + ['es-US', 'Spanish (United States)'], + ['et', 'Estonian'], + ['fa', 'Persian'], + ['fo', 'Faroese'], + ['fr', 'French'], + ['he', 'Hebrew'], + ['hi', 'Hindi'], + ['hr', 'Croatian'], + ['hu', 'Hungarian'], + ['hy', 'Armenian'], + ['id', 'Indonesian'], + ['it', 'Italian'], + ['ko', 'Korean'], + ['lt', 'Lithuanian'], + ['lv', 'Latvian'], + ['nb', 'Norwegian'], + ['nl', 'Dutch; Flemish'], + ['pl', 'Polish'], + ['pt', 'Portuguese'], + ['pt-BR', 'Portuguese (Brazil)'], + ['pt-PT', 'Portuguese'], + ['ro', 'Moldovan'], + ['ru', 'Russian'], + ['sh', 'Serbo-Croatian'], + ['sk', 'Slovak'], + ['sl', 'Slovenian'], + ['sq', 'Albanian'], + ['sr', 'Serbian'], + ['sv', 'Swedish'], + ['ta', 'Tamil'], + ['tg', 'Tajik'], + ['tr', 'Turkish'], + ['uk', 'Ukrainian'], + ['vi', 'Vietnamese'] +]); + +function getSpellCheckerLanguages(): MenuItemConstructorOptions[] { + const availableLanguages = session.defaultSession.availableSpellCheckerLanguages; + const languageItem = new Array(availableLanguages.length); + let languagesChecked = config.get('spellCheckerLanguages'); + + for (const language of languagesChecked) { + if (!availableLanguages.includes(language)) { + // Not in spell checker dictionary. remove! + languagesChecked = languagesChecked.filter(currentLang => currentLang !== language); + config.set('spellCheckerLanguages', languagesChecked); + } + } + + for (const language of availableLanguages) { + languageItem.push( + { + label: languageToCode.get(language) ?? languageToCode.get(language.split('-')[0]) ?? language, + type: 'checkbox', + checked: languagesChecked.includes(language), + click() { + const index = languagesChecked.indexOf(language); + if (index > -1) { + // Remove language + languagesChecked.splice(index, 1); + config.set('spellCheckerLanguages', languagesChecked); + } else { + // Add language + languagesChecked = languagesChecked.concat(language); + config.set('spellCheckerLanguages', languagesChecked); + } + + session.defaultSession.setSpellCheckerLanguages(languagesChecked); + } + } + ); + } + + if (languageItem.length === 1) { + return [{ + label: 'System Default', + type: 'checkbox', + checked: true, + enabled: false + }]; + } + + return languageItem; +} + +export default getSpellCheckerLanguages; From b4ee6a46fd5454423177bb376c5960e9a07c5db1 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sun, 3 May 2020 16:48:40 +0800 Subject: [PATCH 07/11] Update spell-checker.ts --- source/spell-checker.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/source/spell-checker.ts b/source/spell-checker.ts index 2b6ffe029..a43f7c123 100644 --- a/source/spell-checker.ts +++ b/source/spell-checker.ts @@ -63,7 +63,7 @@ function getSpellCheckerLanguages(): MenuItemConstructorOptions[] { for (const language of languagesChecked) { if (!availableLanguages.includes(language)) { - // Not in spell checker dictionary. remove! + // Remove it since it's not in the spell checker dictionary. languagesChecked = languagesChecked.filter(currentLang => currentLang !== language); config.set('spellCheckerLanguages', languagesChecked); } @@ -94,12 +94,14 @@ function getSpellCheckerLanguages(): MenuItemConstructorOptions[] { } if (languageItem.length === 1) { - return [{ - label: 'System Default', - type: 'checkbox', - checked: true, - enabled: false - }]; + return [ + { + label: 'System Default', + type: 'checkbox', + checked: true, + enabled: false + } + ]; } return languageItem; From c5dced893c9c164d4c0f925abe8572ffde442768 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sun, 3 May 2020 16:50:21 +0800 Subject: [PATCH 08/11] Update readme.md --- readme.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 940ff7eda..93f8655e0 100644 --- a/readme.md +++ b/readme.md @@ -151,7 +151,9 @@ Note that you can change the behavior of Caprine so that the app closes when the ### Custom languages for spell-check *(Not for macOS)* -Users can select supported languages from `Conversation` → `Set spell checker language`. MacOS detects the language automatically, hence this option is not needed. +You can choose spell checker languages from `Conversation` → `Set spell checker language`. + +macOS detects languages automatically. ### Custom styles From e3f8a28926d64cb6f6a557cba5743669b97feed1 Mon Sep 17 00:00:00 2001 From: nautatva Date: Sun, 3 May 2020 14:55:05 +0530 Subject: [PATCH 09/11] Specify JSON Schema --- package.json | 2 +- readme.md | 4 +++- source/config.ts | 3 +++ source/spell-checker.ts | 19 +++++++++++-------- 4 files changed, 18 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 9a41d9dc8..a38e1cc23 100644 --- a/package.json +++ b/package.json @@ -141,4 +141,4 @@ "pre-push": "npm test" } } -} \ No newline at end of file +} diff --git a/readme.md b/readme.md index 940ff7eda..261a7d8b0 100644 --- a/readme.md +++ b/readme.md @@ -151,7 +151,9 @@ Note that you can change the behavior of Caprine so that the app closes when the ### Custom languages for spell-check *(Not for macOS)* -Users can select supported languages from `Conversation` → `Set spell checker language`. MacOS detects the language automatically, hence this option is not needed. +Users can select supported languages from `Conversation` → `Spell Checker Language`. + +MacOS detects the language automatically. ### Custom styles diff --git a/source/config.ts b/source/config.ts index 389536564..91414abd8 100644 --- a/source/config.ts +++ b/source/config.ts @@ -200,6 +200,9 @@ const schema: {[Key in keyof StoreType]: Store.Schema} = { }, spellCheckerLanguages: { type: 'array', + items: { + type: 'string' + }, default: [] } }; diff --git a/source/spell-checker.ts b/source/spell-checker.ts index 2b6ffe029..d53a895ec 100644 --- a/source/spell-checker.ts +++ b/source/spell-checker.ts @@ -16,6 +16,7 @@ const languageToCode = new Map([ ['en-CA', 'English (Canada)'], ['en-GB', 'English (United Kingdom)'], ['en-US', 'English (United States)'], + ['es', 'Spanish'], ['es-ES', 'Spanish'], ['es-419', 'Spanish (Central and South America)'], ['es-AR', 'Spanish (Argentina)'], @@ -36,7 +37,7 @@ const languageToCode = new Map([ ['lt', 'Lithuanian'], ['lv', 'Latvian'], ['nb', 'Norwegian'], - ['nl', 'Dutch; Flemish'], + ['nl', 'Dutch'], ['pl', 'Polish'], ['pt', 'Portuguese'], ['pt-BR', 'Portuguese (Brazil)'], @@ -63,7 +64,7 @@ function getSpellCheckerLanguages(): MenuItemConstructorOptions[] { for (const language of languagesChecked) { if (!availableLanguages.includes(language)) { - // Not in spell checker dictionary. remove! + // Remove it since it's not in the spell checker dictionary. languagesChecked = languagesChecked.filter(currentLang => currentLang !== language); config.set('spellCheckerLanguages', languagesChecked); } @@ -94,12 +95,14 @@ function getSpellCheckerLanguages(): MenuItemConstructorOptions[] { } if (languageItem.length === 1) { - return [{ - label: 'System Default', - type: 'checkbox', - checked: true, - enabled: false - }]; + return [ + { + label: 'System Default', + type: 'checkbox', + checked: true, + enabled: false + } + ]; } return languageItem; From 953a852f6b775d10bf470889c527c417fb1da326 Mon Sep 17 00:00:00 2001 From: nautatva Date: Sat, 9 May 2020 04:09:55 +0530 Subject: [PATCH 10/11] Cleaning up --- readme.md | 2 +- source/spell-checker.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/readme.md b/readme.md index 420e288b0..b9a0878f4 100644 --- a/readme.md +++ b/readme.md @@ -153,7 +153,7 @@ Note that you can change the behavior of Caprine so that the app closes when the Users can select supported languages from `Conversation` → `Spell Checker Language`. -MacOS detects language automatically. +MacOS detects language the automatically. ### Custom styles diff --git a/source/spell-checker.ts b/source/spell-checker.ts index d53a895ec..8e1fde3dd 100644 --- a/source/spell-checker.ts +++ b/source/spell-checker.ts @@ -2,15 +2,15 @@ import {session, MenuItemConstructorOptions} from 'electron'; import config from './config'; const languageToCode = new Map([ - // All languages available in electron spellchecker + // All languages available in Electron's spellchecker ['af', 'Afrikaans'], ['bg', 'Bulgarian'], - ['ca', 'Catalan; Valencian'], + ['ca', 'Catalan'], ['cs', 'Czech'], ['cy', 'Welsh'], ['da', 'Danish '], ['de', 'German'], - ['el', 'Greek(Modern)'], + ['el', 'Greek'], ['en', 'English'], ['en-AU', 'English (Australia)'], ['en-CA', 'English (Canada)'], From f1dd7a151d8ddb026e270af8b9f21b11d4a4dad1 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Tue, 12 May 2020 15:37:08 +0800 Subject: [PATCH 11/11] Update readme.md --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index b9a0878f4..bc1023d32 100644 --- a/readme.md +++ b/readme.md @@ -153,7 +153,7 @@ Note that you can change the behavior of Caprine so that the app closes when the Users can select supported languages from `Conversation` → `Spell Checker Language`. -MacOS detects language the automatically. +macOS detects the language automatically. ### Custom styles