aboutsummaryrefslogtreecommitdiffstats
path: root/src/webview/recipe.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/webview/recipe.js')
-rw-r--r--src/webview/recipe.js24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/webview/recipe.js b/src/webview/recipe.js
index b0aefd9c1..c6724e35a 100644
--- a/src/webview/recipe.js
+++ b/src/webview/recipe.js
@@ -65,7 +65,18 @@ class RecipeController {
65 } 65 }
66 66
67 @computed get spellcheckerLanguage() { 67 @computed get spellcheckerLanguage() {
68 return this.settings.service.spellcheckerLanguage || this.settings.app.spellcheckerLanguage; 68 let selected;
69 const langs = this.settings.service.spellcheckerLanguage || this.settings.app.spellcheckerLanguage;
70 if (typeof langs === 'string' && langs.substr(0, 1) === '[') {
71 // Value is JSON encoded
72 selected = JSON.parse(langs);
73 } else if (typeof langs === 'object') {
74 selected = langs;
75 } else {
76 selected = [langs];
77 }
78
79 return selected;
69 } 80 }
70 81
71 cldIdentifier = null; 82 cldIdentifier = null;
@@ -165,11 +176,11 @@ class RecipeController {
165 176
166 if (this.settings.app.enableSpellchecking) { 177 if (this.settings.app.enableSpellchecking) {
167 debug('Setting spellchecker language to', this.spellcheckerLanguage); 178 debug('Setting spellchecker language to', this.spellcheckerLanguage);
168 let { spellcheckerLanguage } = this; 179 const { spellcheckerLanguage } = this;
169 if (spellcheckerLanguage === 'automatic') { 180 if (spellcheckerLanguage.includes('automatic')) {
170 this.automaticLanguageDetection(); 181 this.automaticLanguageDetection();
171 debug('Found `automatic` locale, falling back to user locale until detected', this.settings.app.locale); 182 debug('Found `automatic` locale, falling back to user locale until detected', this.settings.app.locale);
172 spellcheckerLanguage = this.settings.app.locale; 183 spellcheckerLanguage.push(this.settings.app.locale);
173 } else if (this.cldIdentifier) { 184 } else if (this.cldIdentifier) {
174 this.cldIdentifier.destroy(); 185 this.cldIdentifier.destroy();
175 } 186 }
@@ -318,7 +329,10 @@ class RecipeController {
318 const spellcheckerLocale = getSpellcheckerLocaleByFuzzyIdentifier(findResult.language); 329 const spellcheckerLocale = getSpellcheckerLocaleByFuzzyIdentifier(findResult.language);
319 debug('Language detected reliably, setting spellchecker language to', spellcheckerLocale); 330 debug('Language detected reliably, setting spellchecker language to', spellcheckerLocale);
320 if (spellcheckerLocale) { 331 if (spellcheckerLocale) {
321 switchDict(spellcheckerLocale); 332 switchDict([
333 ...this.spellcheckerLanguage,
334 spellcheckerLocale,
335 ]);
322 } 336 }
323 } 337 }
324 }, 225)); 338 }, 225));