219 lines
6.9 KiB
PowerShell
219 lines
6.9 KiB
PowerShell
|
function Get-GitCommandBlameDefinition {
|
||
|
<#
|
||
|
.SYNOPSIS
|
||
|
Get the command definition for the git blame verb command
|
||
|
This is useful for validating a git input is reasonably correct
|
||
|
|
||
|
.NOTES
|
||
|
Not documented here:
|
||
|
[-M]
|
||
|
[-C]
|
||
|
|
||
|
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 = 'Blame'
|
||
|
Alias = @(
|
||
|
'blame'
|
||
|
)
|
||
|
[-c]
|
||
|
[-b]
|
||
|
[-l]
|
||
|
[--root]
|
||
|
[-t]
|
||
|
[-f]
|
||
|
[-n]
|
||
|
[-s]
|
||
|
[-e]
|
||
|
[-p]
|
||
|
[-w]
|
||
|
[--incremental]
|
||
|
[-L <range>]
|
||
|
[-S <revs-file>]
|
||
|
|
||
|
[--since=<date>]
|
||
|
[--ignore-rev <rev>]
|
||
|
[--ignore-revs-file <file>]
|
||
|
[--progress]
|
||
|
[--abbrev=<n>]
|
||
|
[<rev> | --contents <file> | --reverse <rev>..<rev>]
|
||
|
Arguments = @(
|
||
|
@{
|
||
|
ArgumentName = 'Verbose'
|
||
|
Variants = @(
|
||
|
'--verbose'
|
||
|
'-vv'
|
||
|
'-v'
|
||
|
)
|
||
|
RequiredAdditionalArguments = 0
|
||
|
EqualsSplitAcceptRegex = ''
|
||
|
TrailingArguments = @()
|
||
|
}
|
||
|
@{
|
||
|
ArgumentName = 'Dry Run'
|
||
|
Variants = @(
|
||
|
'--dry-run'
|
||
|
'-n'
|
||
|
)
|
||
|
RequiredAdditionalArguments = 0
|
||
|
EqualsSplitAcceptRegex = ''
|
||
|
TrailingArguments = @()
|
||
|
}
|
||
|
@{
|
||
|
ArgumentName = 'Force'
|
||
|
Variants = @(
|
||
|
'--force'
|
||
|
'-f'
|
||
|
)
|
||
|
RequiredAdditionalArguments = 0
|
||
|
EqualsSplitAcceptRegex = ''
|
||
|
TrailingArguments = @()
|
||
|
}
|
||
|
@{
|
||
|
ArgumentName = 'Interactive'
|
||
|
Variants = @(
|
||
|
'--interactive'
|
||
|
'-i'
|
||
|
)
|
||
|
RequiredAdditionalArguments = 0
|
||
|
EqualsSplitAcceptRegex = ''
|
||
|
TrailingArguments = @()
|
||
|
}
|
||
|
@{
|
||
|
ArgumentName = 'Patch'
|
||
|
Variants = @(
|
||
|
'--patch'
|
||
|
'-p'
|
||
|
)
|
||
|
RequiredAdditionalArguments = 0
|
||
|
EqualsSplitAcceptRegex = ''
|
||
|
TrailingArguments = @()
|
||
|
}
|
||
|
@{
|
||
|
ArgumentName = 'Edit'
|
||
|
Variants = @(
|
||
|
'--edit'
|
||
|
'-e'
|
||
|
)
|
||
|
RequiredAdditionalArguments = 0
|
||
|
EqualsSplitAcceptRegex = ''
|
||
|
TrailingArguments = @()
|
||
|
}
|
||
|
@{
|
||
|
ArgumentName = 'MaybeUpdate'
|
||
|
Variants = @(
|
||
|
'--no-all'
|
||
|
'--all'
|
||
|
'--no-ignore-removal'
|
||
|
'--ignore-removal'
|
||
|
'-A'
|
||
|
)
|
||
|
RequiredAdditionalArguments = 0
|
||
|
EqualsSplitAcceptRegex = ''
|
||
|
TrailingArguments = @(
|
||
|
@{
|
||
|
ArgumentName = 'Update'
|
||
|
Variants = @(
|
||
|
'-update'
|
||
|
'-u'
|
||
|
)
|
||
|
RequiredAdditionalArguments = 0
|
||
|
EqualsSplitAcceptRegex = ''
|
||
|
TrailingArguments = @()
|
||
|
}
|
||
|
|
||
|
)
|
||
|
}
|
||
|
@{
|
||
|
ArgumentName = 'IntentToAdd'
|
||
|
Variants = @(
|
||
|
'--intent-to-add'
|
||
|
'-N'
|
||
|
)
|
||
|
RequiredAdditionalArguments = 0
|
||
|
EqualsSplitAcceptRegex = ''
|
||
|
TrailingArguments = @()
|
||
|
}
|
||
|
@{
|
||
|
ArgumentName = 'Refresh'
|
||
|
Variants = @(
|
||
|
'--refresh'
|
||
|
)
|
||
|
RequiredAdditionalArguments = 0
|
||
|
EqualsSplitAcceptRegex = ''
|
||
|
TrailingArguments = @()
|
||
|
}
|
||
|
@{
|
||
|
ArgumentName = 'IgnoreErrors'
|
||
|
Variants = @(
|
||
|
'--ignore-errors'
|
||
|
)
|
||
|
RequiredAdditionalArguments = 0
|
||
|
EqualsSplitAcceptRegex = ''
|
||
|
TrailingArguments = @()
|
||
|
}
|
||
|
@{
|
||
|
ArgumentName = 'IgnoreMissing'
|
||
|
Variants = @(
|
||
|
'--ignore-missing'
|
||
|
)
|
||
|
RequiredAdditionalArguments = 0
|
||
|
EqualsSplitAcceptRegex = ''
|
||
|
TrailingArguments = @()
|
||
|
}
|
||
|
@{
|
||
|
ArgumentName = 'Renormalize'
|
||
|
Variants = @(
|
||
|
'--renormalize'
|
||
|
)
|
||
|
RequiredAdditionalArguments = 0
|
||
|
EqualsSplitAcceptRegex = ''
|
||
|
TrailingArguments = @()
|
||
|
}
|
||
|
@{
|
||
|
ArgumentName = 'ChangeModificationStrategy'
|
||
|
Variants = @(
|
||
|
'--chmod'
|
||
|
)
|
||
|
RequiredAdditionalArguments = 0
|
||
|
EqualsSplitAcceptRegex = '(+|-){1}.+'
|
||
|
TrailingArguments = @()
|
||
|
}
|
||
|
@{
|
||
|
ArgumentName = 'PathspecFromFile'
|
||
|
Variants = @(
|
||
|
'--pathspec-from-file'
|
||
|
)
|
||
|
RequiredAdditionalArguments = 0
|
||
|
EqualsSplitAcceptRegex = '.+'
|
||
|
TrailingArguments = @(
|
||
|
@{
|
||
|
ArgumentName = 'PathspecFileNull'
|
||
|
Variants = @(
|
||
|
'--pathspec-file-nul'
|
||
|
)
|
||
|
RequiredAdditionalArguments = 0
|
||
|
EqualsSplitAcceptRegex = ''
|
||
|
TrailingArguments = @()
|
||
|
}
|
||
|
|
||
|
)
|
||
|
}
|
||
|
@{
|
||
|
ArgumentName = 'RestOfLine'
|
||
|
Variants = @(
|
||
|
'--'
|
||
|
)
|
||
|
RequiredAdditionalArguments = 0
|
||
|
EqualsSplitAcceptRegex = ''
|
||
|
TrailingArguments = @()
|
||
|
}
|
||
|
)
|
||
|
}
|
||
|
|
||
|
}
|