Rename completions and remove color information (#5662)

This commit is contained in:
Brad Cornes 2021-10-01 09:41:27 +01:00 committed by GitHub
parent 84db333d46
commit ba9d177891
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 40 deletions

View File

@ -631,27 +631,17 @@ function registerPlugins(plugins, context) {
return output.map((value) => ({ raw: value, extension: 'html' }))
}
// Generate a list of strings for autocompletion purposes. Colors will have a
// tuple with options, e.g.:
// ['uppercase', 'lowercase', ['bg-red', { color: 'rgb(255 0 0)' }]]
context.completions = function () {
// TODO: Try and detect color from components?
// TODO: Should we provide a simple "public api" file with functions?
// Generate a list of strings for autocompletion purposes, e.g.
// ['uppercase', 'lowercase', ...]
context.getClassList = function () {
let output = []
for (let util of classList) {
if (Array.isArray(util)) {
let [utilName, options] = util
let isColor = [].concat(options.type).includes('color')
if (isColor) {
for (let [value, color] of Object.entries(options?.values ?? {})) {
output.push([formatClass(utilName, value), { color }])
}
} else {
for (let value of Object.keys(options?.values ?? {})) {
output.push(formatClass(utilName, value))
}
for (let value of Object.keys(options?.values ?? {})) {
output.push(formatClass(utilName, value))
}
} else {
output.push(util)

View File

@ -1,25 +0,0 @@
import resolveConfig from '../src/public/resolve-config'
import { createContext } from '../src/lib/setupContextUtils'
it('should generate completions for every possible class, without variants', () => {
let config = {}
let context = createContext(resolveConfig(config))
expect(context.completions()).toBeInstanceOf(Array)
// Verify we have a `container` for the 'components' section.
expect(context.completions()).toContain('container')
// Verify we handle the DEFAULT case correctly
expect(context.completions()).toContain('border')
// Verify we handle negative values correctly
expect(context.completions()).toContain('-inset-1/4')
// Verify we list extra information for colors (!tuples)
let fromBlack = context
.completions()
.find((value) => Array.isArray(value) && value[0] === 'from-black')
expect(fromBlack).toMatchObject(['from-black', { color: '#000' }])
})

View File

@ -0,0 +1,18 @@
import resolveConfig from '../src/public/resolve-config'
import { createContext } from '../src/lib/setupContextUtils'
it('should generate every possible class, without variants', () => {
let config = {}
let context = createContext(resolveConfig(config))
expect(context.getClassList()).toBeInstanceOf(Array)
// Verify we have a `container` for the 'components' section.
expect(context.getClassList()).toContain('container')
// Verify we handle the DEFAULT case correctly
expect(context.getClassList()).toContain('border')
// Verify we handle negative values correctly
expect(context.getClassList()).toContain('-inset-1/4')
})