ps/Modules/Cole.PowerShell.Developer/Public/Get-GitCommandApplyDefinition.ps1
2023-05-30 22:51:22 -07:00

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 = @()
}
)
}
}