When working with some PowerShell modules, there can be a large number of cmdlets, and the cmdlet names can get quite long. posh-HumpCompletion adds support for "hump completion". This means that it will use the capitals in the cmdlet name as the identifiers, i.e. `"Get-DC<tab>"` would complete for Get-DnsClient, Get-DnsClientCache, Get-DscConfi…
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode
images
src
tools
.gitignore
LICENSE.md
README.md
appveyor.yml

README.md

posh-HumpCompletion

When working with some PowerShell modules, there can be a large number of cmdlets, and the cmdlet names can get quite long. posh-HumpCompletion adds support for "hump completion". This means that it will use the capitals in the cmdlet name as the identifiers, i.e. "Get-DC<tab>" would complete for Get-DnsClient, Get-DnsClientCache, Get-DscConfiguration, Get-DomainController etc.

Build status

Installation

PowerShell Gallery

You can install posh-HumpCompletion via the PowerShell Gallery

Install-Module -Name posh-HumpCompletion

Instructions

Hopefully this is fairly simple to use!

If you have a command that you want to complete for then you can type the capitals in the name and then Tab to complete.

E.g. for Get-AzureRmResourceGroup you can use Get-ARRG<tab> Repeated tabs will cycle matches (in this case, Get-AzureRmResourceGroupDeployment etc)

posh-HumpCompletion in action

Tips

For performance, posh-HumpCompletion caches the loaded commands. If you load new modules or otherwise change the set of commands (Azure PowerShell & Switch-AzureMode, I'm looking at you!) then run Clear-HumpCompletionCommandCache to reset. [Bonus tip: use "Clear-HCCC<tab>" :-)]

Release notes

Version 0.4.1 - 30th April 2018

Pushed to PowerShell Gallery 26th May 2017

Fix up the Add-Type command to work on vanilla Windows Server 2016 and Windows 10 installations without .NET 3.5 enabled.

Version 0.4.0 - 26th May 2017

Pushed to PowerShell Gallery 26th May 2017

Improve perf of command cache loading which reduces the time to be able to add completion. Changed the processing to create the cache over to C# code via Add-Type.

Version 0.3.0 - 26th May 2017

Pushed to PowerShell Gallery 26th May 2017

Fix background loading

Change the behaviour of completion so that it no longer blocks if the background load hasn't completed, instead you get no completion. Will experiment with this for a bit and see which behaviour makes sense (or whether it should be an option)

Version 0.2.0 - 23rd May 2016

Pushed to myget feed 23rd May 2016

Convert to working with ASTs instead of raw string parsing. With this change the tab expansion now works even when you're not at the end of the input string

Added support for expansion of parameter names and variable names

Version 0.1.4 - 20th January 2016

Pushed to myget feed 20th January 2016

Update to only check command cache when participating in completion Update to start loading the command cache in the background when the module loads

Version 0.1.3 - 30th November 2015

Pushed to myget feed 30th November 2015

Fix parameter completion bug

Version 0.1.1 - 30th November 2015

Pushed to myget feed 30th November 2015

Remove debug output left in code!

Version 0.1.0 - 30th November 2015

Pushed to myget feed 30th November 2015

Added support for partial matching, i.e. Get-AzRSub<tab> will match Get-AzureRmSubscription

Version 0.0.11 25th November 2015

Pushed to PowerShell Gallery

Pushed to myget feed

Fixed some typos/script styling - thanks @korygill ;-)

Version 0.0.8 - 2nd November 2015

Pushed to myget feed 2nd November 2015

Minor tweaks and packaging for chocolatey

Version 0.0.3 - 28th October 2015

Added caching of command details. If you add load new modules, run Clear-HumpCompletionCommandCache to update the tab completion

Version 0.0.2 - 28th October 2015

Added partial matching support. So now, Get-DC completes Get-DnsClient, but also Get-DnsClientCache

Version 0.0.1 - 27th October 2015

The first version, basic functionality implemented