completions/jq.ps1
|
<# # jq completion #> Import-Module NativeCommandCompleter.psm -ErrorAction SilentlyContinue $msg = data { ConvertFrom-StringData @' jq = Command-line JSON processor null_input = Use null as single input value raw_input = Each line of input is passed as a string slurp = Read entire input stream into array compact_output = Compact output raw_output = Output raw strings, not JSON texts raw_output0 = Print NULL instead of newline join_output = No newlines after each output ascii_output = Force ASCII output sort_keys = Sort object keys in output color_output = Colorize output even to non-terminal monochrome_output = Disable colored output tab = Use tabs for indentation indent = Use N spaces for indentation unbuffered = Flush output after each result stream = Parse input in streaming fashion seq = Use application/json-seq MIME type scheme from_file = Read program from file arg = Pass value to jq program as predefined variable argjson = Pass JSON value to jq program as predefined variable slurpfile = Read JSON objects from file into variable as array rawfile = Read raw strings from file into variable as string args = Consume remaining arguments as positional string arguments jsonargs = Consume remaining arguments as positional JSON arguments exit_status = Set exit status based on output binary = Open input/output streams in binary mode (Windows) version = Output jq version build_configuration = Show build configuration help = Show help message run_tests = Runs the tests in the given file or standard input '@ } Import-LocalizedData -BindingVariable localizedMessages -ErrorAction SilentlyContinue; foreach ($key in $localizedMessages.Keys) { $msg[$key] = $localizedMessages[$key] } Register-NativeCompleter -Name jq -Description $msg.jq -Parameters @( New-ParamCompleter -ShortName n -LongName null-input -Description $msg.null_input New-ParamCompleter -ShortName R -LongName raw-input -Description $msg.raw_input New-ParamCompleter -ShortName s -LongName slurp -Description $msg.slurp New-ParamCompleter -ShortName c -LongName compact-output -Description $msg.compact_output New-ParamCompleter -ShortName r -LongName raw-output -Description $msg.raw_output New-ParamCompleter -LongName raw-output0 -Description $msg.raw_output0 New-ParamCompleter -ShortName j -LongName join-output -Description $msg.join_output New-ParamCompleter -ShortName a -LongName ascii-output -Description $msg.ascii_output New-ParamCompleter -ShortName S -LongName sort-keys -Description $msg.sort_keys New-ParamCompleter -ShortName C -LongName color-output -Description $msg.color_output New-ParamCompleter -ShortName M -LongName monochrome-output -Description $msg.monochrome_output New-ParamCompleter -LongName tab -Description $msg.tab New-ParamCompleter -LongName indent -Description $msg.indent -Arguments @{ Name = 'N' } New-ParamCompleter -LongName unbuffered -Description $msg.unbuffered New-ParamCompleter -LongName stream -Description $msg.stream New-ParamCompleter -LongName seq -Description $msg.seq New-ParamCompleter -ShortName f -LongName from-file -Description $msg.from_file -Arguments @{ Name = 'file'; Type = 'File' } New-ParamCompleter -LongName arg -Description $msg.arg -Arguments @{ Name = 'name' }, @{ Name = 'value' } New-ParamCompleter -LongName argjson -Description $msg.argjson -Arguments @{ Name = 'name' }, @{ Name = 'JSON' } New-ParamCompleter -LongName slurpfile -Description $msg.slurpfile -Arguments @{ Name = 'name' }, @{ Name = 'file'; Type = 'File' } New-ParamCompleter -LongName rawfile -Description $msg.rawfile -Arguments @{ Name = 'name' }, @{ Name = 'file'; Type = 'File' } New-ParamCompleter -LongName args -Description $msg.args New-ParamCompleter -LongName jsonargs -Description $msg.jsonargs New-ParamCompleter -ShortName e -LongName exit-status -Description $msg.exit_status New-ParamCompleter -LongName binary -Description $msg.binary New-ParamCompleter -ShortName V -LongName version -Description $msg.version New-ParamCompleter -LongName build-configuration -Description $msg.build_configuration New-ParamCompleter -ShortName h -LongName help -Description $msg.help New-ParamCompleter -LongName run-tests -Description $msg.run_tests ) -Arguments @{ Name = 'filter' Script = { if ($this.BoundParameters.ContainsKey('from-file')) { [MT.Comp.Helper]::CompleteFilename($this); } else { $null } } }, @{ Name = 'file'; Nargs = '0+'; Type = 'File' } |