validateSet attribute and special cmdlets that take values such as service names etc.
#textFragment or #42, see also invoke-history)
[Environment]::C<tab>)
[xml<tab>) ctrl+space prints available continuations of the currently entered fragment of a command or parameter. tabExpansion2 which is called from the methods CompleteInput of the object System.Management.Automation.CommandCompletion