LazyCompletions.psd1

@{
    RootModule           = 'LazyCompletions.psm1'

    ModuleVersion        = '1.0.2'
    GUID                 = '05ae461f-510e-493b-82e9-50b382b36a6e'

    Author               = 'efan'
    CompanyName          = 'efan'
    Copyright            = '(c) 2026 efan. Licensed under the MIT License.'
    Description          = 'Lazy Tab completion for PowerShell commands: real completion scripts are only loaded on the first Tab press. Scans multiple completion directories, can generate completion scripts, and keeps shell startup cost near zero.'

    PowerShellVersion    = '7.0'
    CompatiblePSEditions = @('Core')

    FunctionsToExport    = @(
        'Import-LazyCompletion',
        'Add-LazyCompletion',
        'Get-LazyCompletion',
        'Get-LazyCompletionsPath',
        'Set-LazyCompletionsPath',
        'Add-LazyCompletionsPath',
        'Get-LazyCache',
        'Set-LazyCache',
        'Clear-LazyCache',
        'Update-LazyCache'
    )
    CmdletsToExport      = @()
    VariablesToExport    = @()
    AliasesToExport      = @()

    PrivateData          = @{
        PSData = @{
            Tags         = @('TabCompletion', 'ArgumentCompleter', 'LazyLoad', 'PSReadLine', 'Completion')
            LicenseUri   = 'https://opensource.org/license/mit/'
            ReleaseNotes = @'
1.0.2 - Ready-made configurations (documentation)
Four out-of-the-box configurations (details in README):
 
# 1. No cache (default): cache off, every startup scans
Import-Module LazyCompletions
Import-LazyCompletion
 
# 2. Cache, Sync maintenance (default mode): stale caches fixed during Import
Import-Module LazyCompletions
Set-LazyCache
Import-LazyCompletion
 
# 3. Cache, Mixed maintenance: Async Import (background fix, never blocks) + Sync Add
Import-Module LazyCompletions
Set-LazyCache -UpdateMode Mixed
Import-LazyCompletion
 
# 4. Deferred registration: registration on the first Tab (saves ~100ms startup);
# combines with 1-3
Import-Module LazyCompletions
Import-LazyCompletion -Deferred
 
1.0.1 - Cross-platform fixes
- Default completion dir: multi-segment path combine (a literal backslash segment produced a
  weird directory name on Linux/macOS where '\' is not a path separator)
- Tests: platform-neutral paths (module root / completion scripts / exit-code generator)
 
1.0.0 - Initial public release
- Lazy Tab completion: real completion scripts are only loaded on the first Tab press
- Automatic scanning of multiple completion directories with command-name parsing
- Add-LazyCompletion: register existing / generate new / self-bootstrap completions
- Optional binary index cache (Set-LazyCache) to speed up startup
- Optional Native DLL layer (-UseNative) for hot-path performance
'@

        }
    }
}