Skip to content

v1.4.0 - 2026-02-12

Choose a tag to compare

@loganch loganch released this 13 Feb 00:43
· 193 commits to master since this release

Added

  • Map variable IntelliSense - Intelligent key completions when accessing AutoIt Map variables
    • Shows available keys when typing a Map variable name (e.g., typing $map shows known keys)
    • Tracks Map keys across your workspace and included files
    • Works with both direct assignments ($map["key"] = value) and declarations with initial keys
    • Configuration options to tune behavior:
      • autoit.maps.enableIntelligence - Enable/disable Map intelligence (default: true)
      • autoit.maps.includeDepth - Maximum depth for resolving #include files (default: 3, range: 0-10)
      • autoit.maps.showFunctionKeys - Show Map keys assigned in functions (default: true)
    • See docs/map-support.md for performance tuning recommendations
  • Scope-aware variable IntelliSense - Intelligent context-aware variable completions that respect AutoIt's scoping rules
    • Shows only accessible variables at cursor position (local, static, global, and parameters)
    • Prioritizes local variables over globals for better relevance
    • Respects function boundaries and AutoIt's scope rules (global and function-level scoping)
    • Extends to global variables from #include files
    • Intelligent debouncing (500ms) with concurrent update handling
    • Fallback to regex-based completion when service is unavailable
  • Ignore AutoIt Tidy backup files from diagnostics

Fixed

  • Improved error handling for variable tracking updates during configuration changes
  • Enhanced stderr and process error handling in Au3Check execution

Changed

  • Enhanced README documentation with Map intelligence feature details
  • Enhanced variable parsing with support for comma-separated declarations (e.g., Global $a, $b, $c) and improved string handling for AutoIt's double-character escaping
  • Extracted formatter constants into constants.js file
  • Syntax Highlighting Improvements
    • Migrated syntax definition from XML to JSON format (autoit.tmLanguage.json) for better maintainability and IDE support
    • Enhanced function pattern matching to distinguish function declarations from function calls with dedicated scopes
    • Consolidated all 98+ AutoIt macros into dedicated pattern repository for improved consistency
    • Improved numeric constant parsing with better hexadecimal, decimal, and scientific notation matching
    • Refined operator patterns for comparison, assignment, arithmetic, and concatenation with proper precedence
    • Fixed multi-line string handling by refining string end patterns
    • Enhanced preprocessor directive matching (#include, #pragma, #region, etc.) for better accuracy
    • Improved comment block pattern matching (#comments-start/#cs directives)
    • Reorganized send-key patterns into 13 categorized groups (browser keys, media keys, navigation, numpad, lock, editing, system keys) for granular theme customization