From 7978c9e6dcadc38cb6561c6bf08fb528d038efb7 Mon Sep 17 00:00:00 2001 From: Brad Cornes Date: Sun, 3 May 2020 20:52:14 +0100 Subject: [PATCH] fix numbers being interpreted as colors --- src/lsp/providers/completionProvider.ts | 4 ++-- src/lsp/util/color.ts | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/lsp/providers/completionProvider.ts b/src/lsp/providers/completionProvider.ts index 4dc3745..d7cbbef 100644 --- a/src/lsp/providers/completionProvider.ts +++ b/src/lsp/providers/completionProvider.ts @@ -9,7 +9,7 @@ import { } from 'vscode-languageserver' const dlv = require('dlv') import removeMeta from '../util/removeMeta' -import { getColor, getColorFromString } from '../util/color' +import { getColor, getColorFromValue } from '../util/color' import { isHtmlContext } from '../util/html' import { isCssContext } from '../util/css' import { findLast, findJsxStrings, arrFindLast } from '../util/find' @@ -269,7 +269,7 @@ function provideCssHelperCompletions( return { isIncomplete: false, items: Object.keys(obj).map((item, index) => { - let color = getColorFromString(obj[item]) + let color = getColorFromValue(obj[item]) const replaceDot: boolean = item.indexOf('.') !== -1 && separator && separator.endsWith('.') const insertClosingBrace: boolean = diff --git a/src/lsp/util/color.ts b/src/lsp/util/color.ts index 4984156..95d5417 100644 --- a/src/lsp/util/color.ts +++ b/src/lsp/util/color.ts @@ -61,11 +61,12 @@ export function getColor( return { documentation: colorStrings[0] } } -export function getColorFromString(str: string): string { - if (str === 'transparent') { +export function getColorFromValue(value: unknown): string { + if (typeof value !== 'string') return null + if (value === 'transparent') { return 'rgba(0, 0, 0, 0.01)' } - const color = new TinyColor(str) + const color = new TinyColor(value) if (color.isValid) { return color.toRgbString() }