completions/cat.ps1
|
<# # cat completion #> Import-Module NativeCommandCompleter.psm -ErrorAction SilentlyContinue $msg = data { ConvertFrom-StringData @' gnu_showAll = Escape all unprintables gnu_numberNonblank = Number non-blank lines gnu_showExceptTab = Escape unprintables except '\\t' gnu_showEnds = Display '$' at line end gnu_number = Enumerate lines gnu_squeezeBlank = Never >1 blank line gnu_showExceptNl = Escape unprintables except '\\n' gnu_showTabs = Escape tab gnu_showExceptNlAndTab = Escape unprintables except '\\n' and '\\t' gnu_help = Display help and exit gnu_version = Display version and exit macos_b = Specify # of non-blank lines macos_e = Show unprintables, end lines with $ macos_n = Enumerate lines macos_s = Squeeze away >1 blank lines macos_t = Show unprintables; tab as ^I macos_u = Disable output buffering macos_v = Escape non-printing chars macos_l = Set/block on F_SETLKW stdout lock '@ } Import-LocalizedData -BindingVariable localizedMessages -ErrorAction SilentlyContinue; foreach ($key in $localizedMessages.Keys) { $msg[$key] = $localizedMessages[$key] } if ($IsLinux) { Register-NativeCompleter -Name cat -Parameters @( New-ParamCompleter -ShortName A -LongName show-all -Description $msg.gnu_showAll New-ParamCompleter -ShortName b -LongName number-nonblank -Description $msg.gnu_numberNonblank New-ParamCompleter -ShortName e -Description $msg.gnu_showExceptTab New-ParamCompleter -ShortName E -LongName show-ends -Description $msg.gnu_showEnds New-ParamCompleter -ShortName n -LongName number -Description $msg.gnu_number New-ParamCompleter -ShortName s -LongName squeeze-blank -Description $msg.gnu_squeezeBlank New-ParamCompleter -ShortName t -Description $msg.gnu_showExceptNl New-ParamCompleter -ShortName T -LongName show-tabs -Description $msg.gnu_showTabs New-ParamCompleter -ShortName v -Description $msg.gnu_showExceptNlAndTab New-ParamCompleter -LongName help -Description $msg.gnu_help New-ParamCompleter -LongName version -Description $msg.gnu_version ) } elseif ($IsMacOS) { Register-NativeCompleter -Name cat -Parameters @( New-ParamCompleter -ShortName b -Description $msg.macos_b New-ParamCompleter -ShortName e -Description $msg.macos_e New-ParamCompleter -ShortName n -Description $msg.macos_n New-ParamCompleter -ShortName s -Description $msg.macos_s New-ParamCompleter -ShortName t -Description $msg.macos_t New-ParamCompleter -ShortName u -Description $msg.macos_u New-ParamCompleter -ShortName v -Description $msg.macos_v New-ParamCompleter -ShortName l -Description $msg.macos_l ) } |