diff --git a/src/extension.ts b/src/extension.ts index e1822e6d8300723bfce1ee3d98512aab8f5ea5c9..3fd68c44bfd96e94acf643395682278a5caf1ca8 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -3,8 +3,7 @@ import * as vscode from 'vscode' import { dirname } from 'path' const htmlElements = require('./htmlElements.js') -// const tailwindClassNames = require('tailwind-class-names') -const tailwindClassNames = require('/Users/brad/Code/tailwind-class-names/dist') +const tailwindClassNames = require('tailwind-class-names') const dlv = require('dlv') const Color = require('color') @@ -173,55 +172,29 @@ str = parts[parts.length - 1] } } - let screens = Object.keys(dlv(config, 'screens', {})) - let states = ['hover', 'focus', 'active', 'group-hover'] - if (typeof str !== 'undefined') { - console.log(str) const pth = str - .replace( - new RegExp( - `^(${[...screens, ...states].join('|')})${separator}`, - 'g' - ), - '$1.' - ) - .replace(new RegExp(`\\.(${states.join('|')})${separator}`), '.$1.') + .replace(new RegExp(`${separator}`, 'g'), '.') .replace(/\.$/, '') .replace(/^\./, '') .replace(/\./g, '.children.') - let hasSep = new RegExp( - `^(${[...screens, ...states].join('|')})${separator}` - ).test(str) - if (!hasSep && str.endsWith(separator)) { - // token.cancel() - return getItemsWithRange( - items, - new vscode.Range(position.translate(0, -str.length), position) - ) - let mobNav = new vscode.CompletionItem( - 'mob-nav-', - vscode.CompletionItemKind.Constant - ) - mobNav.range = new vscode.Range(position.translate(0, -4), position) - return [mobNav] - } - if (pth !== '') { const itms = - prefixedItems && str.indexOf('.') === 0 && !hasSep + prefixedItems && + str.indexOf('.') === 0 && + str.indexOf(separator) === -1 ? dlv(prefixedItems, pth) : dlv(items, pth) if (itms) { - return getItemsWithRange(itms.children) + return Object.keys(itms.children).map(x => itms.children[x].item) } } - if (!hasSep) { + if (str.indexOf(separator) === -1) { return prefixedItems && str.indexOf('.') === 0 - ? getItemsWithRange(prefixedItems) - : getItemsWithRange(items) + ? Object.keys(prefixedItems).map(x => prefixedItems[x].item) + : Object.keys(items).map(x => items[x].item) } return [] @@ -232,14 +205,6 @@ } }, ...triggerCharacters ) -} - -function getItemsWithRange(items, range: vscode.Range = undefined) { - return Object.keys(items).map(x => { - let i = items[x].item - i.range = range - return i - }) } function createConfigItemProvider({ @@ -454,7 +419,7 @@ this.dispose() const separator = dlv(tailwind.config, 'options.separator', ':') - // if (separator !== ':') return + if (separator !== ':') return this._items = createItems(tailwind.classNames, separator, tailwind.config) this._prefixedItems = createItems(