completions/cut.ps1
|
<# # cut completion #> Import-Module NativeCommandCompleter.psm -ErrorAction SilentlyContinue $msg = data { ConvertFrom-StringData @' bytes = Select byte positions fields = Select fields bsd_dont_split_multibytes = Don't split multi-byte characters only_delimited = Suppress lines without delimiter gnu_characters = Select characters gnu_delimiter = Select field delimiter gnu_output_delimiter = Select output delimiter gnu_zero_terminated = line delimiter is NUL, not newline gnu_complement = complement the set of selected bytes, characters or fields gnu_help = Display help and exit gnu_version = Display version and exit bsd_characters = Output character range bsd_delimiter = Delimiter instead of \t to use bsd_whitespace_delimiter = Use whitespace as delimiter '@ } Import-LocalizedData -BindingVariable localizedMessages -ErrorAction SilentlyContinue; foreach ($key in $localizedMessages.Keys) { $msg[$key] = $localizedMessages[$key] } # check whether GNU cut --version 2>&1 | Out-Null if ($LASTEXITCODE -eq 0) # GNU { Register-NativeCompleter -Name cut -Parameters @( New-ParamCompleter -ShortName b -LongName bytes -Description $msg.bytes -Type Required -VariableName 'LIST' New-ParamCompleter -ShortName c -LongName characters -Description $msg.gnu_characters -Type Required -VariableName 'LIST' New-ParamCompleter -ShortName d -LongName delimiter -Description $msg.gnu_delimiter -Type Required -VariableName 'DELIM' New-ParamCompleter -ShortName f -LongName fields -Description $msg.fields -Type Required -VariableName 'LIST' New-ParamCompleter -LongName complement -Description $msg.gnu_complement New-ParamCompleter -ShortName s -LongName only-delimited -Description $msg.only_delimited New-ParamCompleter -LongName output-delimiter -Description $msg.gnu_output_delimiter -Type Required -VariableName 'STRING' New-ParamCompleter -ShortName z -LongName zero-terminated -Description $msg.gnu_zero_terminated New-ParamCompleter -LongName help -Description $msg.gnu_help New-ParamCompleter -LongName version -Description $msg.gnu_version ) } else { Register-NativeCompleter -Name cut -Parameters @( New-ParamCompleter -ShortName b -Description $msg.bytes -Type Required -VariableName 'LIST' New-ParamCompleter -ShortName c -Description $msg.bsd_characters -Type Required -VariableName 'LIST' New-ParamCompleter -ShortName d -Description $msg.bsd_delimiter -Type Required -VariableName 'DELIM' New-ParamCompleter -ShortName f -Description $msg.fields -Type Required -VariableName 'LIST' New-ParamCompleter -ShortName n -Description $msg.bsd_dont_split_multibytes New-ParamCompleter -ShortName s -Description $msg.only_delimited New-ParamCompleter -ShortName w -Description $msg.bsd_whitespace_delimiter ) } |