93 lines
2.2 KiB
TypeScript
93 lines
2.2 KiB
TypeScript
export interface LanguageCompletion {
|
|
label: string;
|
|
detail: string;
|
|
insertText: string;
|
|
}
|
|
|
|
export const SPUG_COMPLETIONS: LanguageCompletion[] = [
|
|
{
|
|
label: "props",
|
|
detail: "Typed component props",
|
|
insertText: "props\n ${1:name}: ${2:string}",
|
|
},
|
|
{
|
|
label: "javascript!",
|
|
detail: "Embedded TypeScript block",
|
|
insertText: "javascript!\n ${1:const value = true;}\nend",
|
|
},
|
|
{
|
|
label: "component",
|
|
detail: "SPUG component",
|
|
insertText: "component ${1:Name}",
|
|
},
|
|
{
|
|
label: "portal",
|
|
detail: "Named view-transition boundary",
|
|
insertText: "portal ${1:main}\n ${0}",
|
|
},
|
|
{
|
|
label: "anchor",
|
|
detail: "Relation identity",
|
|
insertText: "${1:li}@${2:item}() ${3:content}",
|
|
},
|
|
];
|
|
|
|
export const STCSS_COMPLETIONS: LanguageCompletion[] = [
|
|
{
|
|
label: "@responsive",
|
|
detail: "Mobile-first breakpoint",
|
|
insertText: "@responsive ${1:md} {\n ${2}\n}",
|
|
},
|
|
{
|
|
label: "@concentric",
|
|
detail: "Inherited child radius",
|
|
insertText: "@concentric ${1:1rem};",
|
|
},
|
|
{
|
|
label: "border-radius: concentric",
|
|
detail: "Concentric radii for children",
|
|
insertText: "border-radius: concentric ${1:1rem};",
|
|
},
|
|
{
|
|
label: "freeform-gradient",
|
|
detail: "Stacked radial gradients",
|
|
insertText:
|
|
"background-image: freeform-gradient(${1:#7c3aed} ${2:10%} ${3:50%}, ${4:f00} ${5:70%} ${6:40%});",
|
|
},
|
|
{
|
|
label: "$center",
|
|
detail: "Center a known size",
|
|
insertText: "$center(${1:30rem})",
|
|
},
|
|
{
|
|
label: "$offset",
|
|
detail: "Compose positional offsets",
|
|
insertText: "$offset(${1:$center(30rem)}, ${2:$pad})",
|
|
},
|
|
{ label: "$pad", detail: "Shared spacing token", insertText: "$pad(${1:1})" },
|
|
{
|
|
label: "position: fixed-center",
|
|
detail: "Fixed viewport center",
|
|
insertText: "position: fixed-center;",
|
|
},
|
|
{
|
|
label: "position: page-center",
|
|
detail: "Absolute containing-block center",
|
|
insertText: "position: page-center;",
|
|
},
|
|
{
|
|
label: "@predict",
|
|
detail: "Prerendered geometry",
|
|
insertText: "@predict max-width max-height transform;",
|
|
},
|
|
{
|
|
label: "$relate",
|
|
detail: "Predicted anchor metric",
|
|
insertText: '$relate[${1:width}](d"@${2:item}")',
|
|
},
|
|
{
|
|
label: "javascript!",
|
|
detail: "Compile-time values",
|
|
insertText: "javascript!\n const ${1:space} = ${2:'1rem'};\nend",
|
|
},
|
|
];
|