completions/touch.ps1
|
<# # touch completion #> Import-Module NativeCommandCompleter.psm -ErrorAction SilentlyContinue $msg = data { ConvertFrom-StringData @' description = change file access and modification times atime = change access time (atime) mtime = change modification time (mtime) time = use specified time [[CC]YY]MMDDhhmm[.SS] noCreate = don't create file if it doesn't exist date = set to specified YYYY-MM-DDThh:mm:SS[.frac][tz] reference = use times from specified reference file help = display this help and exit version = output version information and exit '@ } Import-LocalizedData -BindingVariable localizedMessages -ErrorAction SilentlyContinue; foreach ($key in $localizedMessages.Keys) { $msg[$key] = $localizedMessages[$key] } # check whether GNU touch touch --version 2>&1 | Out-Null if ($LASTEXITCODE -eq 0) # GNU touch { Register-NativeCompleter -Name touch -Description $msg.description -Parameters @( New-ParamCompleter -ShortName a -Description $msg.atime New-ParamCompleter -ShortName m -Description $msg.mtime New-ParamCompleter -ShortName t -Description $msg.time -Type Required -VariableName 'STAMP' New-ParamCompleter -ShortName c -LongName no-create -Description $msg.noCreate New-ParamCompleter -ShortName d -LongName date -Description $msg.date -VariableName 'STRING' New-ParamCompleter -ShortName r -LongName reference -Description $msg.reference -Type File -VariableName 'FILE' New-ParamCompleter -LongName help -Description $msg.help New-ParamCompleter -LongName version -Description $msg.version ) } else { Register-NativeCompleter -Name touch -Description $msg.description -Parameters @( New-ParamCompleter -ShortName a -Description $msg.atime New-ParamCompleter -ShortName m -Description $msg.mtime New-ParamCompleter -ShortName t -Description $msg.time -Type Required -VariableName 'STAMP' New-ParamCompleter -ShortName c -Description $msg.noCreate New-ParamCompleter -ShortName d -Description $msg.date -VariableName 'STRING' New-ParamCompleter -ShortName r -Description $msg.reference -Type File -VariableName 'FILE' ) } |