UNPKG

cspell

Version:

A Spelling Checker for Code!

23 lines (18 loc) 1.25 kB
import { DictionaryDefinition, DictionaryId, CSpellUserSettings } from '../Settings'; import { filterDictDefsToLoad } from '../Settings/DictionarySettings'; import { loadDictionary } from './DictionaryLoader'; import { SpellingDictionary, createSpellingDictionary } from './SpellingDictionary'; import { createCollectionP } from './SpellingDictionaryCollection'; import { SpellingDictionaryCollection } from './index'; export function loadDictionaries(dictIds: DictionaryId[], defs: DictionaryDefinition[]): Promise<SpellingDictionary>[] { const defsToLoad = filterDictDefsToLoad(dictIds, defs); return defsToLoad .map(e => e[1]) .map(def => loadDictionary(def.path!, def)); } export function getDictionary(settings: CSpellUserSettings): Promise<SpellingDictionaryCollection> { const { words = [], userWords = [], dictionaries = [], dictionaryDefinitions = [], flagWords = [] } = settings; const spellDictionaries = loadDictionaries(dictionaries, dictionaryDefinitions); const settingsDictionary = Promise.resolve(createSpellingDictionary(words.concat(userWords), 'user_words', 'From Settings')); return createCollectionP([...spellDictionaries, settingsDictionary], 'dictionary collection', flagWords); }