From 8c1debde5de8c040b0110644e9b45f60d42bafc3 Mon Sep 17 00:00:00 2001 From: Jason Dent Date: Fri, 26 Feb 2021 22:02:28 +0100 Subject: [PATCH] fix: Report the root cause of a dictionary error. (#1014) --- packages/cspell-lib/src/Settings/index.ts | 1 + packages/cspell-lib/src/SpellingDictionary/index.ts | 1 + packages/cspell-lib/src/index.ts | 2 ++ packages/cspell/src/app.ts | 6 +++++- 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/cspell-lib/src/Settings/index.ts b/packages/cspell-lib/src/Settings/index.ts index 4e3f6cb053e8..7ddd7216c009 100644 --- a/packages/cspell-lib/src/Settings/index.ts +++ b/packages/cspell-lib/src/Settings/index.ts @@ -1,3 +1,4 @@ export * from './CSpellSettingsServer'; export * from './DefaultSettings'; export * from '@cspell/cspell-types'; +export * from './ImportError'; diff --git a/packages/cspell-lib/src/SpellingDictionary/index.ts b/packages/cspell-lib/src/SpellingDictionary/index.ts index 9bc0f2b09379..3c9024519e01 100644 --- a/packages/cspell-lib/src/SpellingDictionary/index.ts +++ b/packages/cspell-lib/src/SpellingDictionary/index.ts @@ -2,3 +2,4 @@ export * from './SpellingDictionary'; export * from './SpellingDictionaryCollection'; export * from './Dictionaries'; export * from './createSpellingDictionary'; +export * from './SpellingDictionaryError'; diff --git a/packages/cspell-lib/src/index.ts b/packages/cspell-lib/src/index.ts index 622227dbcba7..cc473adf256a 100644 --- a/packages/cspell-lib/src/index.ts +++ b/packages/cspell-lib/src/index.ts @@ -15,10 +15,12 @@ export { CompoundWordsMethod, createSpellingDictionary, getDictionary, + isSpellingDictionaryLoadError, refreshDictionaryCache, SpellingDictionary, SuggestionCollector, SuggestionResult, + SpellingDictionaryLoadError, } from './SpellingDictionary'; export { combineTextAndLanguageSettings } from './Settings/TextDocumentSettings'; export { combineTextAndLanguageSettings as constructSettingsForText } from './Settings/TextDocumentSettings'; diff --git a/packages/cspell/src/app.ts b/packages/cspell/src/app.ts index 32c978683b5b..8a9c9d611046 100644 --- a/packages/cspell/src/app.ts +++ b/packages/cspell/src/app.ts @@ -15,6 +15,7 @@ import { } from './link'; import { tableToLines } from './util/table'; import { Emitters, isProgressFileComplete, MessageType, ProgressItem, Issue } from './emitters'; +import { isSpellingDictionaryLoadError, SpellingDictionaryLoadError, ImportError } from 'cspell-lib'; interface Options extends CSpellApplicationOptions { legacy?: boolean; @@ -52,7 +53,10 @@ function genIssueEmitter(template: string) { }; } -function errorEmitter(message: string, error: Error) { +function errorEmitter(message: string, error: Error | SpellingDictionaryLoadError | ImportError) { + if (isSpellingDictionaryLoadError(error)) { + error = error.cause; + } console.error(chalk.red(message), error.toString()); }