ps/Modules/Cole.PowerShell.Developer/TODO/Get-GitCommandBlameDefinition.ps1

219 lines
6.9 KiB
PowerShell
Raw Normal View History

2023-05-30 22:51:22 -07:00
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 = @()
}
)
}
}