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" }, ];