home

Changelog

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.

Improved

  • Multi‑extension support: automatically tries .css, .scss, .sass, .less extensions when resolving imports.
  • Relative path resolution: better handling of ./ and ../ import paths.
  • Performance optimizations: smarter file filtering and caching for faster completion suggestions.
  • Error handling: improved stability when processing malformed import statements.

Fixed

  • Import resolution now correctly distinguishes between relative paths and node_modules packages.
  • Deprecated API usage replaced with modern IntelliJ Platform APIs.
  • Better handling of circular import dependencies.
  • Improved compatibility with latest WebStorm/IntelliJ versions.

1.1.0 – 2025‑05‑19

Added

  • Alias resolution: completions & docs now resolve var(--alias) chains to show the literal value.
  • Duplicate squashing: identical context + value pairs collapse into a single row.
  • Smart documentation order: rows are now Default / Light → Dark → desktop‑first break‑points → mobile‑first → other media.
  • Light as primary: prefers-color-scheme: light is treated the same as default.
  • Stricter index filter: non‑stylesheet files (e.g. .txt, templates) are ignored.

Changed

  • Completion row: always lists context values (no more “(+N)” placeholders) and follows the new smart order.
  • Colour chips: dual‑swatch also shown when light/dark values alias to the same colour.

Fixed

  • No more duplicate “Default” rows when a variable is declared multiple times with the same value.
  • Documentation no longer displays raw var(--xyz) strings when they can be resolved.
  • Colour swatch detection & WebAIM links work for resolved alias values.

1.0.2 – 2025‑05‑19

Added

  • Settings page: Plugin is now user-configurable (toggle context-based variable values).
  • Smarter completions:
    • Dual color swatch if a variable has both light and dark color values.
    • All original value syntaxes shown (e.g., #fff, hsl(0 0% 100%), rgb(...)).
    • Context-aware completions: e.g. “🌙” for dark mode, no overlays.
  • Color swatches:
    • Now supports shadcn/ui color variable format, --foreground: 0 0% 100%; and usage like hsl(var(--foreground)).
  • Robust comment parsing: All major CSS comment styles now supported for variable docs (JSDoc, plain, single-line, multiline).
  • Context tracking: Indexer now properly tracks context (media queries, dark/light, nested queries, etc).
  • Documentation enhancements:
    • Multi-context variables shown as a table.
    • Color swatches always use original value syntax.
    • WebAIM contrast checker link for color variables.

Changed

  • Consistent UI:
    • No overlay/context icons on completion swatch—context info is right-aligned only.
    • Completions/docs now fully respect user settings.

Fixed

  • Comment parsing bugs: One-line, multi-line, and mixed-format doc-comments now always recognized.
  • Threading issues: Docs and completions no longer trigger read-access warnings.

1.0.1 – 2025‑05‑18

Added

  • Updated plugin logo

Changed

  • Alphabetical sorting when all variable values are non‑numeric
  • Miscellaneous bugfixes and performance tweaks

Fixed

  • Completions now trigger immediately after typing `var(--`
  • Completions now trigger without needing `--` inside the `var()`
  • Completions now trigger when clicking inside an existing `var(--your-var)`