Customizable Documentation Columns: Users can now select which columns (e.g., Context, Value, Source, WCAG Contrast) are visible in the documentation popup via the settings panel.
Resolution Chain Tooltip: Hovering over a variable in the documentation now displays a detailed tooltip showing the full resolution chain, explaining how the final value was derived.
Changed
Performance and Memory Management: Caching mechanisms have been overhauled for better performance and reduced memory usage, especially in large projects.
Dynamic Documentation Table: The documentation popup now dynamically generates columns based on user settings and the variable's value type, improving clarity and relevance.
Settings UI: The settings panel has been updated to include controls for the new column visibility feature.
Fixed
Resolution Accuracy: Corrected a bug where the resolution chain was not always fully preserved in the cache, ensuring documentation is always accurate.
UI Styling: Fixed minor styling issues in the documentation table for better readability.
1.5.0 – 2025-06-15
Added
IntelliJ 2024.1+ documentation API support with rich popups and fallback for older builds.
Dynamic value-table columns – documentation now auto-adds px Eq., Hex and WCAG columns when relevant.
Recursively/derived variable completions are now marked with (↗).
Improved DebugImportResolution helper for tracing variable origins and import chains.
Legend for derived variables – documentation now includes an explanation of the ↗ symbol when variables are resolved through imports or references.
Changed
Completions and docs cascading logic – now use the last value per context (cascading logic).
Improved context labeling – media query parsing, color handling, and documentation rendering.
Centralized index versioning – improved caching, and greater maintainability.
Winner-first documentation – the actual winning value is now shown first in documentation tables for immediate clarity.
Fixed
CSS cascade compliance – local declarations now correctly override imported values, following proper CSS cascade rules.
Minor bugs in arithmetic resolution for preprocessors.
Improved context collapsing – color parsing, and documentation bugs.
Improved UX hierarchy – better visual distinction between winning values (bold) and overridden declarations.
1.4.2 – 2025-06-12
Added
Preprocessor variable index: LESS and SCSS variables are now indexed for instant look‑ups using a new PreprocessorVariableIndex.
Value-based completion sorting: Variable completions are sorted by their numeric value, with an option to choose ascending or descending order.
Pixel equivalent column: Variable documentation now shows the pixel equivalent for rem/em/%/vh/vw/pt values.
Settings UI for sorting: Added a configuration option to choose value-based variable sorting order (ascending or descending).
Comprehensive value-type utilities: Added ValueUtil for classifying, comparing, and converting variable values for size, color, and number types.
Smarter context ranking: Added RankUtil for logical sorting and ranking of context labels (e.g., default, min-width).
Extensive automated tests: Added ValueUtilTest and RankingTest for robust value handling and context ranking.
Changed
Improved performance and scope caching: Variable key cache and scope caching now use stable, scope-aware maps for reliable completion and documentation.
Smarter var() detection: Completion now works while typing incomplete var( and resolves aliases more quickly, even with missing parenthesis.
Documentation improvements: Documentation tables conditionally display pixel equivalents and improved context sorting, with more robust and readable HTML output.
Refactored preprocessor resolution: Preprocessor variable resolution is faster and now leverages the new index instead of scanning files directly.
Improved logging and error handling: More robust cancellation checks and error reporting in completion and documentation providers.
Code cleanup: Removed legacy and duplicated code, improved code comments, and enhanced maintainability.
Fixed
Scope caching race conditions: Caches for variable keys and preprocessor scopes are now properly invalidated and synchronized on changes, preventing duplicate completions and stale results.
Duplicate IDE completions: Improved completion logic eliminates repeated suggestions.
Robustness: Improved handling of edge cases in value parsing, prefix extraction, and context detection.
IDE startup and indexing: Now compatible with latest IntelliJ indexing and plugin APIs.
Unused or obsolete code in tests and main sources.
1.4.1 – 2025-06-05
Improved
Faster completion load - Completion suggestions load faster with a project-level cache of variable names. The cache is cleared whenever the index is rebuilt.
1.4.0 – 2025-06-02
Added
Global scope by default - the assistant now indexes node_modules out of the box, so external design-system variables resolve automatically.
LESS arithmetic evaluation - expressions such as @lessVar-spacing-md - (@lessVar-spacing * 3) are calculated (e.g. 24px) in both completion and quick-docs.
One-time settings migrator - keeps the previous scope for existing users while new projects start with the global scope.
Changed
File-based index version bumped to 95 - a safe re-index is triggered automatically after upgrade.
Internal cache - import-resolution tweaks improve performance on large monorepos.
Fixed
Completion and documentation no longer show raw aliases like @lessVar-spacing-md - they always display the final literal value.
Stability improvements for deep import chains and long-running background indexing tasks.
1.3.1 – 2025-05-28
Added
Enhanced Debug CSS Import Resolution action – comprehensive import chain analysis with tree visualization, variable counting, and detailed resolution paths.
Dedicated completion cache (CssVarCompletionCache) – separate caching system for LESS/SCSS variable resolution with improved performance.
Index rebuilder utility (CssVariableIndexRebuilder) – centralized index management for better code organization.
Dynamic completion popup width – automatically adjusts popup width based on longest variable name for better readability.
Enhanced progress reporting – detailed progress indicators for re-indexing operations with step-by-step feedback.
Changed
Code architecture improvements – extracted cache and index management into dedicated utility classes for better maintainability.
Index version bump to 50 (from 36) for improved stability and compatibility.
Re-index process enhancement – more detailed progress reporting with visual feedback and error handling.
Import resolution debugging – comprehensive analysis shows full import trees, variable counts, and resolution failures.
Fixed
Cache management – resolved issues with stale cache entries affecting completion accuracy.
Index rebuilding reliability – improved error handling and progress tracking during index operations.
Threading improvements – better handling of background tasks and cancellation scenarios.
Memory optimization – more efficient cache management reducing memory footprint.
1.3.0 – 2025-05-27
Added
Dynamic pre-processor resolution: automatic, depth-limited resolution of chained @less, \$scss and nested var(--foo) references.
Import cache: remembers every file reached via @import; instant look-ups after first pass.
🔄 Re-index Now button in the Settings panel – rebuilds the variable index without needing Invalidate Caches / Restart.
Debug CSS Import Resolution action to print the full, resolved import chain for any stylesheet.
Background-task integration: long operations are cancellable and show progress.
Changed
Default maxImportDepth raised from 3 to 10 (still user-configurable).
Consistent plugin-shield icon for all completions originating from the assistant.
Scope utilities refactored – fresh scope calculated for every resolution to avoid stale caches.
Fixed
Project + Imports scope now resolves real values (e.g. --ffe-farge-vann → #005aa4) instead of showing @lessVar.
Race condition that caused occasional ProcessCanceledException in large projects.
Index rebuild no longer double-counts node_modules in Global scope.
Numerous threading and cancellation-handling improvements.
1.2.0 – 2025‑05‑22
Added
Advanced @import resolution: intelligent resolution of @import statements across CSS, SCSS, SASS, and LESS files.
Smart node_modules handling: properly resolves scoped packages like @company/package/path.
Configurable indexing scope: choose between project‑only, project + imports, or full global indexing.
Import depth control: configurable maximum depth for @import chains to prevent infinite recursion.
Enhanced settings panel: fine‑tune plugin behavior with expanded configuration options.
Debug tools: new "Debug CSS Import Resolution" action for troubleshooting import chains.