diff options
author | StefanVukovic99 <stefanvukovic44@gmail.com> | 2024-04-21 17:15:08 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-21 15:15:08 +0000 |
commit | 07258ecc35c1a05aa1581a54c9f47a40ce3d76c9 (patch) | |
tree | 0a73bc6c1224710906ef3cded2a19399fc626f12 /ext/js/language/languages.js | |
parent | 22904d166d5ea33667458ccd0fde36e77d0ff65d (diff) |
rework text processors (#793)24.4.21.0
* rework text processors
* rename text-preprocessors file
* Fix search header left margins on small screens (#839)
* Refocuses search input on backspace (#840)
Fixes #775. Note that this behavior gets overridden if backspace is set
as a shortcut action.
* Change hotkey triggering condition to account for IME usage (#837)
_isKeyCharacterInput only worked when not using an IME, as inside of an
IME when a keydown event is fired, the key is reported as "Process",
which does not have a key.length equal to 1. This resulted in hotkeys
being triggered while typing, which this commit fixes.
---------
Co-authored-by: James Maa <jmaa@berkeley.edu>
Co-authored-by: Kuuuube <61125188+Kuuuube@users.noreply.github.com>
Co-authored-by: Andrew Thomas Sartor <andrew@sartor.net>
Diffstat (limited to 'ext/js/language/languages.js')
-rwxr-xr-x | ext/js/language/languages.js | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/ext/js/language/languages.js b/ext/js/language/languages.js index 4b196c2c..b3890aa6 100755 --- a/ext/js/language/languages.js +++ b/ext/js/language/languages.js @@ -29,21 +29,29 @@ export function getLanguageSummaries() { } /** - * @returns {import('language').LanguageAndPreprocessors[]} + * @returns {import('language').LanguageAndProcessors[]} * @throws {Error} */ -export function getAllLanguageTextPreprocessors() { +export function getAllLanguageTextProcessors() { const results = []; - for (const {iso, textPreprocessors} of languageDescriptorMap.values()) { - /** @type {import('language').TextPreprocessorWithId<unknown>[]} */ + for (const {iso, textPreprocessors = {}, textPostprocessors = {}} of languageDescriptorMap.values()) { + /** @type {import('language').TextProcessorWithId<unknown>[]} */ const textPreprocessorsArray = []; for (const [id, textPreprocessor] of Object.entries(textPreprocessors)) { textPreprocessorsArray.push({ id, - textPreprocessor: /** @type {import('language').TextPreprocessor<unknown>} */ (textPreprocessor) + textProcessor: /** @type {import('language').TextProcessor<unknown>} */ (textPreprocessor) }); } - results.push({iso, textPreprocessors: textPreprocessorsArray}); + /** @type {import('language').TextProcessorWithId<unknown>[]} */ + const textPostprocessorsArray = []; + for (const [id, textPostprocessor] of Object.entries(textPostprocessors)) { + textPostprocessorsArray.push({ + id, + textProcessor: /** @type {import('language').TextProcessor<unknown>} */ (textPostprocessor) + }); + } + results.push({iso, textPreprocessors: textPreprocessorsArray, textPostprocessors: textPostprocessorsArray}); } return results; } |