UNPKG

w1-system-font-validator

Version:

VS Code extension for validating W1 System font variables (both fontConfig.json and localFontConfig.json)

128 lines 3.71 kB
import * as vscode from "vscode"; export declare class UnifiedFontValidator { private diagnosticCollection; private configDetector; private validationTimeouts; private projectConfigs; private readonly FONT_FAMILY_PATTERN; private readonly CUSTOM_FONT_PATTERN; private readonly FONT_FAMILY_PROPERTY_PATTERN; private readonly CSS_VAR_DEFINITION_PATTERN; private readonly VALID_FONT_WEIGHTS; private readonly FONT_WEIGHT_PATTERN; private readonly FONT_STYLE_PATTERN; constructor(); /** * Validate a document with debouncing */ validateDocumentDebounced(document: vscode.TextDocument): void; /** * Main validation method */ validateDocument(document: vscode.TextDocument): Promise<void>; /** * NEW SYSTEM: Validate font-family variables (--fontfamily_*) */ private validateFontFamilyVariables; /** * NEW: Validate ANY var() usage in font-family properties (catches non-W1 variables) */ private validateFontFamilyProperties; /** * NEW: Validate custom font variables by checking their definitions in global CSS files */ private validateCustomFontVariables; /** * Check if a custom variable is defined using valid fontConfig variables */ private isCustomVariableValidlyDefined; /** * Find global CSS files in the workspace */ private findGlobalCssFiles; /** * Read file content safely */ private readFileContent; /** * Find a variable definition in CSS content */ private findVariableDefinition; /** * Check if a CSS value uses valid fontConfig variables */ private definitionUsesValidFont; /** * ENHANCED: Validate font-weight and font-style combinations against available font data */ private validateFontWeightAndStyle; /** * Find font-family variable in the current CSS rule context */ private findFontFamilyInRule; /** * Find font-style value in the current CSS rule context */ private findFontStyleInRule; /** * Check if weight/style combination is valid for a specific font */ private isValidWeightStyleCombination; /** * Get detailed available weights with style information */ private getDetailedAvailableWeights; /** * Get available weights for display in error messages */ private getAvailableWeightsForFont; /** * Convert CSS weight keywords to numeric values */ private convertWeightToNumeric; /** * Check if a font-weight value is valid */ private isValidFontWeight; /** * Get or load project configuration for a file */ private getProjectConfig; /** * Generate cache key for project configuration */ private getProjectCacheKey; /** * Check if document should be validated */ private shouldValidateDocument; /** * Generate suggestions for invalid font-family variables */ private getSuggestions; /** * Calculate similarity between two strings */ private calculateSimilarity; /** * Calculate Levenshtein distance */ private levenshteinDistance; /** * Provide hover information */ provideHover(document: vscode.TextDocument, position: vscode.Position): Promise<vscode.Hover | undefined>; /** * Clear cache and refresh configurations */ refreshConfig(): void; /** * Cleanup document validation */ cleanupDocument(document: vscode.TextDocument): void; /** * Dispose validator resources */ dispose(): void; } //# sourceMappingURL=unifiedValidator.d.ts.map