Private/Completers.ps1
|
# PSSnips — Tab-completion registrations for snippet name parameters. # Tab-completion for snippet names on all relevant commands. $snipNameCompleter = { param($cmd, $param, $word) $null = $cmd, $param $now = Get-Date if ($null -eq $script:CompleterCache -or ($now - $script:CompleterCacheTime).TotalSeconds -gt $script:CompleterTtlSecs) { $script:CompleterCache = (script:LoadIdx).snippets.Keys | Sort-Object $script:CompleterCacheTime = $now } $script:CompleterCache | Where-Object { $_ -like "$word*" } } Register-ArgumentCompleter -CommandName 'Invoke-SnipCLI','snip','Show-Snip','Edit-Snip','Invoke-Snip','Remove-Snip','Copy-Snip','Export-Gist','Sync-Gist','Set-SnipTag','Invoke-SnipLint','Test-SnipLint' -ParameterName Name -ScriptBlock $snipNameCompleter Register-ArgumentCompleter -CommandName 'Invoke-SnipCLI','snip' -ParameterName Arg1 -ScriptBlock $snipNameCompleter |