243 lines
8.4 KiB
PowerShell
243 lines
8.4 KiB
PowerShell
function Get-GitCommandApplyDefinition {
|
|
<#
|
|
.SYNOPSIS
|
|
Get the command definition for the git apply verb command
|
|
This is useful for validating a git input is reasonably correct
|
|
|
|
.NOTES
|
|
Not documented here:
|
|
[-p<n>]
|
|
[-C<n>]
|
|
|
|
Not handled because this is a weird scenario to match on given the other constraints
|
|
# TODO ~ cbrand - Handle this case
|
|
#>
|
|
[CmdletBinding()]
|
|
[OutputType([object])]
|
|
param()
|
|
|
|
return @{
|
|
CommandName = 'Apply'
|
|
Alias = @(
|
|
'apply'
|
|
)
|
|
Arguments = @(
|
|
@{
|
|
ArgumentName = 'Verbose'
|
|
Variants = @(
|
|
'--verbose'
|
|
'-v'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = ''
|
|
TrailingArguments = @()
|
|
}
|
|
@{
|
|
ArgumentName = 'Statistics'
|
|
Variants = @(
|
|
'--stat'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = ''
|
|
TrailingArguments = @()
|
|
}
|
|
@{
|
|
ArgumentName = 'NumericalStatistics'
|
|
Variants = @(
|
|
'--numstat'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = ''
|
|
TrailingArguments = @(
|
|
@{
|
|
ArgumentName = 'NullTerminatedMachineOutput'
|
|
Variants = @(
|
|
'-z'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = ''
|
|
TrailingArguments = @()
|
|
}
|
|
)
|
|
}
|
|
@{
|
|
ArgumentName = 'Summary'
|
|
Variants = @(
|
|
'--summary'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = ''
|
|
TrailingArguments = @()
|
|
}
|
|
@{
|
|
ArgumentName = 'Check'
|
|
Variants = @(
|
|
'--check'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = ''
|
|
TrailingArguments = @()
|
|
}
|
|
@{
|
|
ArgumentName = 'Index'
|
|
Variants = @(
|
|
'--index'
|
|
'--intent-to-add'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = ''
|
|
TrailingArguments = @()
|
|
}
|
|
@{
|
|
ArgumentName = 'ThreeWay'
|
|
Variants = @(
|
|
'--3way'
|
|
'-3'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = ''
|
|
TrailingArguments = @(
|
|
)
|
|
}
|
|
@{
|
|
ArgumentName = 'Apply'
|
|
Variants = @(
|
|
'--apply'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = ''
|
|
TrailingArguments = @()
|
|
}
|
|
@{
|
|
ArgumentName = 'NoAdd'
|
|
Variants = @(
|
|
'--no-add'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = ''
|
|
TrailingArguments = @()
|
|
}
|
|
@{
|
|
ArgumentName = 'BuildFakeAncestor'
|
|
Variants = @(
|
|
'--build-fake-ancestor'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = '.+'
|
|
TrailingArguments = @()
|
|
}
|
|
@{
|
|
ArgumentName = 'Reverse'
|
|
Variants = @(
|
|
'--reverse'
|
|
'-R'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = ''
|
|
TrailingArguments = @()
|
|
}
|
|
@{
|
|
ArgumentName = 'Binary'
|
|
Variants = @(
|
|
'--binary'
|
|
'--allow-binary-replacement'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = ''
|
|
TrailingArguments = @()
|
|
}
|
|
@{
|
|
ArgumentName = 'Reject'
|
|
Variants = @(
|
|
'--reject'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = ''
|
|
TrailingArguments = @()
|
|
}
|
|
@{
|
|
ArgumentName = 'InaccurateEOF'
|
|
Variants = @(
|
|
'--inaccurate-eof'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = ''
|
|
TrailingArguments = @()
|
|
}
|
|
@{
|
|
ArgumentName = 'Recount'
|
|
Variants = @(
|
|
'--recount'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = ''
|
|
TrailingArguments = @()
|
|
}
|
|
@{
|
|
ArgumentName = 'Cached'
|
|
Variants = @(
|
|
'--cached'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = ''
|
|
TrailingArguments = @()
|
|
}
|
|
@{
|
|
ArgumentName = 'IgnoreWhitespace'
|
|
Variants = @(
|
|
'--ignore-whitespace'
|
|
'--ignore-space-change'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = ''
|
|
TrailingArguments = @()
|
|
}
|
|
@{
|
|
ArgumentName = 'Whitespace'
|
|
Variants = @(
|
|
'--whitespace'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = 'nowarn|warn|fix|error|error-all'
|
|
TrailingArguments = @()
|
|
}
|
|
@{
|
|
ArgumentName = 'Exclude'
|
|
Variants = @(
|
|
'--exclude'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = '.+'
|
|
TrailingArguments = @()
|
|
}
|
|
@{
|
|
ArgumentName = 'Include'
|
|
Variants = @(
|
|
'--include'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = '.+'
|
|
TrailingArguments = @()
|
|
}
|
|
@{
|
|
ArgumentName = 'Directory'
|
|
Variants = @(
|
|
'--directory'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = '.+'
|
|
TrailingArguments = @()
|
|
}
|
|
@{
|
|
ArgumentName = 'unsafe-paths'
|
|
Variants = @(
|
|
'--unsafe-paths'
|
|
)
|
|
RequiredAdditionalArguments = 0
|
|
EqualsSplitAcceptRegex = ''
|
|
TrailingArguments = @()
|
|
}
|
|
)
|
|
}
|
|
|
|
} |