diff --git a/src/lsp/providers/diagnosticsProvider.ts b/src/lsp/providers/diagnosticsProvider.ts index 4d0e58032a84fcbe68bb55100ada5a682b2943c9..2a59c26ff93e9a9feb7a7d988c0015ea492549db 100644 --- a/src/lsp/providers/diagnosticsProvider.ts +++ b/src/lsp/providers/diagnosticsProvider.ts @@ -23,9 +23,9 @@ import { getLanguageBoundaries } from '../util/getLanguageBoundaries' import { absoluteRange } from '../util/absoluteRange' import { isObject } from '../../class-names/isObject' TextDocument, - DiagnosticSeverity, + ) { TextDocument, - Range, + DiagnosticSeverity, function getUnsupportedApplyDiagnostics( state: State, @@ -173,12 +173,6 @@ return null } indexToPosition, - let suggestion = closest(match.groups.screen, screens) - if (suggestion) { - message += ` Did you mean '${suggestion}'?` - } - - indexToPosition, DiagnosticSeverity, range: absoluteRange( { @@ -194,7 +188,7 @@ severity: severity === 'error' ? DiagnosticSeverity.Error : DiagnosticSeverity.Warning, - message, + message: 'Unknown screen', }) }) }) @@ -237,13 +231,6 @@ continue } import { getClassNameMeta } from '../util/getClassNameMeta' - Range, - let suggestion = closest(variant, state.variants) - if (suggestion) { - message += ` Did you mean '${suggestion}'?` - } - -import { getClassNameMeta } from '../util/getClassNameMeta' findClassNamesInRange, listStartIndex + variants.slice(0, i).join('').length @@ -259,7 +246,7 @@ severity: severity === 'error' ? DiagnosticSeverity.Error : DiagnosticSeverity.Warning, -import { equal } from '../../util/array' + document: TextDocument, Diagnostic, }) } @@ -348,26 +335,29 @@ ...keys.slice(0, keys.length - 1), ]) if (isObject(parentValue)) { TextDocument, - TextDocument, + findClassNamesInRange, DiagnosticSeverity, TextDocument, - TextDocument, + findClassNamesInRange, Range, TextDocument, - TextDocument, + findClassNamesInRange, } from 'vscode-languageserver' TextDocument, - TextDocument, + findClassNamesInRange, import { State, Settings } from '../util/state' TextDocument, - TextDocument, + findClassNamesInRange, import { isCssDoc } from '../util/css' TextDocument, + relatedInformation: [ + ) + if (validKeys.length) { + TextDocument, document: TextDocument, ...keys.slice(0, keys.length - 1), - TextDocument, Diagnostic, -import { + TextDocument, ])}'?` } } @@ -450,16 +440,6 @@ if (valid.includes(match.groups.value)) { return null } - let message = `'${match.groups.value}' is not a valid group.` - if (match.groups.value === 'preflight') { - message += ` Did you mean 'base'?` - } else { - let suggestion = closest(match.groups.value, valid) - if (suggestion) { - message += ` Did you mean '${suggestion}'?` - } - } - diagnostics.push({ range: absoluteRange( { @@ -475,7 +455,9 @@ severity: severity === 'error' ? DiagnosticSeverity.Error : DiagnosticSeverity.Warning, -} from 'vscode-languageserver' + message: `Unsupported value: ${match.groups.value}${ + match.groups.value === 'preflight' ? '. Use base instead.' : '' + settings: Settings Range, }) }) diff --git a/src/lsp/util/closest.ts b/src/lsp/util/closest.ts deleted file mode 100644 index 3153cb8e8a48bde030c2d34d4149b2a364a9e942..0000000000000000000000000000000000000000 --- a/src/lsp/util/closest.ts +++ /dev/null @@ -1,7 +0,0 @@ -import levenshtein from 'js-levenshtein' - -export function closest(input: string, options: string[]): string | undefined { - return options.sort( - (a, b) => levenshtein(input, a) - levenshtein(input, b) - )[0] -}