Skip to content

Commit 3587ab9

Browse files
authored
fix(autocomplete): respect variant autocomplete template without mutipass (#4891)
1 parent b09dbf6 commit 3587ab9

File tree

3 files changed

+11
-13
lines changed

3 files changed

+11
-13
lines changed

packages-engine/autocomplete/src/create.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -192,9 +192,7 @@ export function createAutocomplete(uno: UnoGenerator, options: AutocompleteOptio
192192
...uno.config.autocomplete.templates || [],
193193
...uno.config.rulesDynamic.flatMap(i => toArray(i?.[2]?.autocomplete || [])),
194194
...uno.config.shortcuts.flatMap(i => toArray(i?.[2]?.autocomplete || [])),
195-
...uno.config.variants
196-
.filter(v => v.autocomplete && v.multiPass)
197-
.flatMap(v => toArray(v.autocomplete || [])),
195+
...uno.config.variants.flatMap(v => toArray(v.autocomplete || [])),
198196
)
199197

200198
for (const template of templates) {

packages-engine/autocomplete/test/__snapshots__/autocomplete.test.ts.snap

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
exports[`autocomplete > should accept variants 1`] = `
44
[
55
"dark:md:m-xy",
6+
"dark:md:marker:",
67
"dark:md:max-block",
78
"dark:md:max-block-auto",
89
"dark:md:max-block-lg",
@@ -107,6 +108,8 @@ exports[`autocomplete > should accept variants 1`] = `
107108
"dark:md:min-w-sm",
108109
"dark:md:min-w-xl",
109110
"dark:md:min-w-xs",
111+
"dark:md:motion-reduce:",
112+
"dark:md:motion-safe:",
110113
"dark:md:m-bs-0",
111114
"dark:md:m-be-0",
112115
"dark:md:m-is-0",
@@ -379,14 +382,14 @@ exports[`autocomplete > should provide autocomplete 1`] = `
379382
"keyframes-": "keyframes-back-in-down keyframes-back-in-left keyframes-back-in-right keyframes-back-in-up keyframes-back-out-down keyframes-back-out-left keyframes-back-out-right keyframes-back-out-up keyframes-bounce keyframes-bounce-alt",
380383
"leading-": "leading-loose leading-none leading-normal leading-relaxed leading-snug leading-tight",
381384
"line-clamp-": "line-clamp-inherit line-clamp-initial line-clamp-none line-clamp-revert line-clamp-revert-layer line-clamp-unset line-clamp-0 line-clamp-1 line-clamp-2 line-clamp-3",
382-
"m-": "m-xy max-block max-block-auto max-block-lg max-block-md max-block-none max-block-prose max-block-screen max-block-sm max-block-xl",
385+
"m-": "m-xy marker: max-block max-block-auto max-block-lg max-block-md max-block-none max-block-prose max-block-screen max-block-sm",
383386
"max-w-": "max-w-auto max-w-full max-w-lg max-w-md max-w-none max-w-prose max-w-screen max-w-sm max-w-xl max-w-xs",
384387
"mx-": "m-xy mx-0 mx-1 mx-2 mx-3 mx-4 mx-5 mx-6 mx-8 mx-10",
385388
"object-": "object-b object-bc object-bl object-bottom object-bottom-center object-bottom-left object-bottom-right object-br object-c object-cb",
386389
"origin-": "origin-b origin-bc origin-bl origin-bottom origin-bottom-center origin-bottom-left origin-bottom-right origin-br origin-c origin-cb",
387390
"outline-": "outline-amber outline-auto outline-black outline-blue outline-bluegray outline-blueGray outline-coolgray outline-coolGray outline-current outline-cyan",
388391
"outline-offset-": "outline-offset-0 outline-offset-1 outline-offset-2 outline-offset-3 outline-offset-4 outline-offset-5 outline-offset-6 outline-offset-8 outline-offset-10 outline-offset-12",
389-
"placeholder-": "placeholder-accent-amber placeholder-accent-black placeholder-accent-blue placeholder-accent-bluegray placeholder-accent-blueGray placeholder-accent-coolgray placeholder-accent-coolGray placeholder-accent-current placeholder-accent-cyan placeholder-accent-dark",
392+
"placeholder-": "placeholder-.dark: placeholder-.light: placeholder-@dark: placeholder-@hover: placeholder-@light: placeholder-*: placeholder-accent-amber placeholder-accent-black placeholder-accent-blue placeholder-accent-bluegray",
390393
"rows-": "rows-0 rows-1 rows-2 rows-3 rows-4 rows-5 rows-6 rows-8 rows-10 rows-12",
391394
"scale-": "scale-0 scale-10 scale-20 scale-30 scale-40 scale-50 scale-60 scale-70 scale-80 scale-90",
392395
"scale-x-": "scale-x-0 scale-x-10 scale-x-20 scale-x-30 scale-x-40 scale-x-50 scale-x-60 scale-x-70 scale-x-80 scale-x-90",
@@ -440,6 +443,7 @@ exports[`autocomplete > should provide skip DEFAULT 1`] = `
440443
exports[`autocomplete with attributify prefix > should accept variants 1`] = `
441444
[
442445
"u-dark:md:m-xy",
446+
"u-dark:md:marker:",
443447
"u-dark:md:max-block",
444448
"u-dark:md:max-block-auto",
445449
"u-dark:md:max-block-lg",
@@ -458,7 +462,6 @@ exports[`autocomplete with attributify prefix > should accept variants 1`] = `
458462
"u-dark:md:max-h-none",
459463
"u-dark:md:max-h-prose",
460464
"u-dark:md:max-h-screen",
461-
"u-dark:md:max-h-screen-lg",
462465
]
463466
`;
464467

@@ -486,14 +489,14 @@ exports[`autocomplete with attributify prefix > should provide autocomplete 1`]
486489
"u-keyframes-": "u-keyframes-back-in-down u-keyframes-back-in-left u-keyframes-back-in-right u-keyframes-back-in-up u-keyframes-back-out-down u-keyframes-back-out-left u-keyframes-back-out-right u-keyframes-back-out-up u-keyframes-bounce u-keyframes-bounce-alt",
487490
"u-leading-": "u-leading-loose u-leading-none u-leading-normal u-leading-relaxed u-leading-snug u-leading-tight",
488491
"u-line-clamp-": "u-line-clamp-inherit u-line-clamp-initial u-line-clamp-none u-line-clamp-revert u-line-clamp-revert-layer u-line-clamp-unset u-line-clamp-0 u-line-clamp-1 u-line-clamp-2 u-line-clamp-3",
489-
"u-m-": "u-m-xy u-max-block u-max-block-auto u-max-block-lg u-max-block-md u-max-block-none u-max-block-prose u-max-block-screen u-max-block-sm u-max-block-xl",
492+
"u-m-": "u-m-xy u-marker: u-max-block u-max-block-auto u-max-block-lg u-max-block-md u-max-block-none u-max-block-prose u-max-block-screen u-max-block-sm",
490493
"u-max-w-": "u-max-w-auto u-max-w-full u-max-w-lg u-max-w-md u-max-w-none u-max-w-prose u-max-w-screen u-max-w-sm u-max-w-xl u-max-w-xs",
491494
"u-mx-": "u-m-xy u-mx-0 u-mx-1 u-mx-2 u-mx-3 u-mx-4 u-mx-5 u-mx-6 u-mx-8 u-mx-10",
492495
"u-object-": "u-object-b u-object-bc u-object-bl u-object-bottom u-object-bottom-center u-object-bottom-left u-object-bottom-right u-object-br u-object-c u-object-cb",
493496
"u-origin-": "u-origin-b u-origin-bc u-origin-bl u-origin-bottom u-origin-bottom-center u-origin-bottom-left u-origin-bottom-right u-origin-br u-origin-c u-origin-cb",
494497
"u-outline-": "u-outline-amber u-outline-auto u-outline-black u-outline-blue u-outline-bluegray u-outline-blueGray u-outline-coolgray u-outline-coolGray u-outline-current u-outline-cyan",
495498
"u-outline-offset-": "u-outline-offset-0 u-outline-offset-1 u-outline-offset-2 u-outline-offset-3 u-outline-offset-4 u-outline-offset-5 u-outline-offset-6 u-outline-offset-8 u-outline-offset-10 u-outline-offset-12",
496-
"u-placeholder-": "u-placeholder-accent-amber u-placeholder-accent-black u-placeholder-accent-blue u-placeholder-accent-bluegray u-placeholder-accent-blueGray u-placeholder-accent-coolgray u-placeholder-accent-coolGray u-placeholder-accent-current u-placeholder-accent-cyan u-placeholder-accent-dark",
499+
"u-placeholder-": "u-placeholder-.dark: u-placeholder-.light: u-placeholder-@dark: u-placeholder-@hover: u-placeholder-@light: u-placeholder-*: u-placeholder-accent-amber u-placeholder-accent-black u-placeholder-accent-blue u-placeholder-accent-bluegray",
497500
"u-rows-": "u-rows-0 u-rows-1 u-rows-2 u-rows-3 u-rows-4 u-rows-5 u-rows-6 u-rows-8 u-rows-10 u-rows-12",
498501
"u-scale-": "u-scale-0 u-scale-10 u-scale-20 u-scale-30 u-scale-40 u-scale-50 u-scale-60 u-scale-70 u-scale-80 u-scale-90",
499502
"u-scale-x-": "u-scale-x-0 u-scale-x-10 u-scale-x-20 u-scale-x-30 u-scale-x-40 u-scale-x-50 u-scale-x-60 u-scale-x-70 u-scale-x-80 u-scale-x-90",

packages-engine/autocomplete/test/autocomplete.test.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ describe('autocomplete', async () => {
141141
"lt-md",
142142
"lt-sm",
143143
"lt-xl",
144+
"ltr:",
144145
"lt-2xl",
145146
]
146147
`)
@@ -151,11 +152,6 @@ describe('autocomplete', async () => {
151152
.toMatchSnapshot()
152153
})
153154

154-
it('should skip single-pass variants', async () => {
155-
expect(await ac.suggest('dark:dar')).not.toContain('dark:')
156-
expect(await ac.suggest('active:fir')).toContain('active:first:')
157-
})
158-
159155
it('should support extractors', async () => {
160156
const res = await ac.suggestInFile(fixture, 40)
161157

@@ -369,6 +365,7 @@ describe('autocomplete with attributify prefix', async () => {
369365
"u-lt-md",
370366
"u-lt-sm",
371367
"u-lt-xl",
368+
"u-ltr:",
372369
"u-lt-2xl",
373370
]
374371
`)

0 commit comments

Comments
 (0)