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 -Arguments @{ Name = 'STAMP' } New-ParamCompleter -ShortName c -LongName no-create -Description $msg.noCreate New-ParamCompleter -ShortName d -LongName date -Description $msg.date -Arguments @{ Name = 'STRING' } New-ParamCompleter -ShortName r -LongName reference -Description $msg.reference -Arguments @{ Name = 'FILE'; Type = '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 -Arguments @{ Name = 'STAMP' } New-ParamCompleter -ShortName c -Description $msg.noCreate New-ParamCompleter -ShortName d -Description $msg.date -Arguments @{ Name = 'STRING' } New-ParamCompleter -ShortName r -Description $msg.reference -Arguments @{ Name = 'FILE'; Type = 'File' } ) } |