Urara-Blog/node_modules/.pnpm-store/v3/files/db/4ca723b30f9e5837b7b7639bf58ad6a5ea0b2bf61ab1946b015d392cc0e261a54c2b2d053156bc85456426db16bd8d88559c6194c272ac324d120f6604702f
2022-08-14 01:14:53 +08:00

45 lines
1.1 KiB
Text

'use strict';
const core = require('@unocss/core');
const variantMatcher = (name, handler) => {
const re = new RegExp(`^${core.escapeRegExp(name)}[:-]`);
return {
name,
match: (input) => {
const match = input.match(re);
if (match) {
return {
matcher: input.slice(match[0].length),
handle: (input2, next) => next({
...input2,
...handler(input2)
})
};
}
},
autocomplete: `${name}:`
};
};
const variantParentMatcher = (name, parent) => {
const re = new RegExp(`^${core.escapeRegExp(name)}[:-]`);
return {
name,
match: (input) => {
const match = input.match(re);
if (match) {
return {
matcher: input.slice(match[0].length),
handle: (input2, next) => next({
...input2,
parent: `${input2.parent ? `${input2.parent} $$ ` : ""}${parent}`
})
};
}
},
autocomplete: `${name}:`
};
};
exports.variantMatcher = variantMatcher;
exports.variantParentMatcher = variantParentMatcher;