UNPKG

@styled/typescript-styled-plugin

Version:

TypeScript language service plugin that adds IntelliSense for styled components

31 lines (30 loc) 1.6 kB
import { TemplateContext } from 'typescript-template-language-service-decorator'; import { TextDocument } from 'vscode-languageserver-textdocument'; import * as ts from 'typescript/lib/tsserverlibrary'; /** * Handles mapping between template contents to virtual documents. */ export interface VirtualDocumentProvider { createVirtualDocument(context: TemplateContext): TextDocument; toVirtualDocPosition(position: ts.LineAndCharacter): ts.LineAndCharacter; fromVirtualDocPosition(position: ts.LineAndCharacter): ts.LineAndCharacter; toVirtualDocOffset(offset: number, context: TemplateContext): number; fromVirtualDocOffset(offset: number, context: TemplateContext): number; getVirtualDocumentWrapper(context: TemplateContext): string; } /** * Standard virtual document provider for styled content. * * Wraps content in a top level `:root { }` rule to make css language service happy * since styled allows properties to be top level elements. */ export declare class StyledVirtualDocumentFactory implements VirtualDocumentProvider { private static readonly wrapperPreRoot; private static readonly wrapperPreKeyframes; createVirtualDocument(context: TemplateContext): TextDocument; toVirtualDocPosition(position: ts.LineAndCharacter): ts.LineAndCharacter; fromVirtualDocPosition(position: ts.LineAndCharacter): ts.LineAndCharacter; toVirtualDocOffset(offset: number, context: TemplateContext): number; fromVirtualDocOffset(offset: number, context: TemplateContext): number; getVirtualDocumentWrapper(context: TemplateContext): string; }