From 258f1b629a9098a771e9ce58b217fa414d3ecf29 Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Wed, 2 Feb 2022 20:09:13 -0500 Subject: [PATCH] Update sentence termination characters (#2059) * Add vertical punctuation to terminationCharacters * Upgrade settings * Update tests --- ext/data/schemas/options-schema.json | 6 +++++- ext/js/data/options-util.js | 28 +++++++++++++++++++++++++++- test/test-options-util.js | 8 ++++++-- 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/ext/data/schemas/options-schema.json b/ext/data/schemas/options-schema.json index d15b533b..5c01f9f8 100644 --- a/ext/data/schemas/options-schema.json +++ b/ext/data/schemas/options-schema.json @@ -1019,7 +1019,11 @@ {"enabled": true, "character1": "。", "character2": null, "includeCharacterAtStart": false, "includeCharacterAtEnd": true}, {"enabled": true, "character1": "!", "character2": null, "includeCharacterAtStart": false, "includeCharacterAtEnd": true}, {"enabled": true, "character1": "?", "character2": null, "includeCharacterAtStart": false, "includeCharacterAtEnd": true}, - {"enabled": true, "character1": "…", "character2": null, "includeCharacterAtStart": false, "includeCharacterAtEnd": true} + {"enabled": true, "character1": "…", "character2": null, "includeCharacterAtStart": false, "includeCharacterAtEnd": true}, + {"enabled": true, "character1": "︒", "character2": null, "includeCharacterAtStart": false, "includeCharacterAtEnd": true}, + {"enabled": true, "character1": "︕", "character2": null, "includeCharacterAtStart": false, "includeCharacterAtEnd": true}, + {"enabled": true, "character1": "︖", "character2": null, "includeCharacterAtStart": false, "includeCharacterAtEnd": true}, + {"enabled": true, "character1": "︙", "character2": null, "includeCharacterAtStart": false, "includeCharacterAtEnd": true} ] } } diff --git a/ext/js/data/options-util.js b/ext/js/data/options-util.js index 7a725005..e2e4d739 100644 --- a/ext/js/data/options-util.js +++ b/ext/js/data/options-util.js @@ -465,7 +465,8 @@ class OptionsUtil { {async: true, update: this._updateVersion13.bind(this)}, {async: false, update: this._updateVersion14.bind(this)}, {async: false, update: this._updateVersion15.bind(this)}, - {async: false, update: this._updateVersion16.bind(this)} + {async: false, update: this._updateVersion16.bind(this)}, + {async: false, update: this._updateVersion17.bind(this)} ]; if (typeof targetVersion === 'number' && targetVersion < result.length) { result.splice(targetVersion); @@ -898,4 +899,29 @@ class OptionsUtil { } return options; } + + _updateVersion17(options) { + // Version 17 changes: + // Added vertical sentence punctuation to terminationCharacters. + const additions = ['︒', '︕', '︖', '︙']; + for (const profile of options.profiles) { + const {terminationCharacters} = profile.options.sentenceParsing; + const newAdditions = []; + for (const character of additions) { + if (terminationCharacters.findIndex((value) => (value.character1 === character && value.character2 === null)) < 0) { + newAdditions.push(character); + } + } + for (const character of newAdditions) { + terminationCharacters.push({ + enabled: true, + character1: character, + character2: null, + includeCharacterAtStart: false, + includeCharacterAtEnd: true + }); + } + } + return options; + } } diff --git a/test/test-options-util.js b/test/test-options-util.js index b1d56b28..967159e9 100644 --- a/test/test-options-util.js +++ b/test/test-options-util.js @@ -468,7 +468,11 @@ function createProfileOptionsUpdatedTestData1() { {enabled: true, character1: '。', character2: null, includeCharacterAtStart: false, includeCharacterAtEnd: true}, {enabled: true, character1: '!', character2: null, includeCharacterAtStart: false, includeCharacterAtEnd: true}, {enabled: true, character1: '?', character2: null, includeCharacterAtStart: false, includeCharacterAtEnd: true}, - {enabled: true, character1: '…', character2: null, includeCharacterAtStart: false, includeCharacterAtEnd: true} + {enabled: true, character1: '…', character2: null, includeCharacterAtStart: false, includeCharacterAtEnd: true}, + {enabled: true, character1: '︒', character2: null, includeCharacterAtStart: false, includeCharacterAtEnd: true}, + {enabled: true, character1: '︕', character2: null, includeCharacterAtStart: false, includeCharacterAtEnd: true}, + {enabled: true, character1: '︖', character2: null, includeCharacterAtStart: false, includeCharacterAtEnd: true}, + {enabled: true, character1: '︙', character2: null, includeCharacterAtStart: false, includeCharacterAtEnd: true} ] }, inputs: { @@ -596,7 +600,7 @@ function createOptionsUpdatedTestData1() { } ], profileCurrent: 0, - version: 16, + version: 17, global: { database: { prefixWildcardsSupported: false