Git-NumberedAdd.psm1
|
$global:gitStatusNumbers = @{ # @{state=A/M/D/R;file=$gitRootPath;staged=$true/$false;fullPath='';relativePath=''} # state: A(dded) / M(odified) / D(eleted) / R(enamed) stagingArea=$null; workingDir=$null; stagedColor='Green'; addedColor='Blue'; modifiedColor='Yellow'; deletedColor='DarkMagenta'; renamedColor='Yellow'; includeNumstat=$true; displayFilesAs='relative-path'; # full-path | relative-path | gitroot-path } # $global:gitStatusNumbers.displayFilesAs="full-path" # $global:gitStatusNumbers.displayFilesAs="gitroot-path" # Use Utf8 when capturing git output [Console]::OutputEncoding = [System.Text.Encoding]::Utf8 Get-ChildItem -Recurse ("$PSScriptRoot\lib\*.ps1") | ForEach-Object {. $_.FullName} # If you get stuck, get help! Set-Alias gnh Git-NumberedHelp # Start with: Set-Alias gs Git-NumberedStatus # Actions Set-Alias ga Git-NumberedAdd Set-Alias gap Git-NumberedAddPatch Set-Alias gd Git-NumberedDiff Set-Alias gdc Git-NumberedDiffCached Set-Alias grs Git-NumberedReset Set-Alias gco Git-NumberedCheckout # Utility Set-Alias gn Git-GetFileNameByIndex Set-Alias gsl Git-NumberedSetLocation ## Assuming Set-Alias gas Git-NumberedAssumed Set-Alias gasl Git-ListAssumed Set-Alias gnoas Git-NumberedUnassumed Set-Alias ghide Git-NumberedHidden Set-Alias glh Git-ListHidden Set-Alias gunhide Git-NumberedUnhidden ############################################################################## #.SYNOPSIS # Displays help for all Git-Numbered actions and utilities ############################################################################## function Git-NumberedHelp() { $table = Get-Command -Name "Git-*" | ? { $_.CommandType -eq 'Function' } | % { $name = $_.name $help = get-help $_ -Full $example = If ($help.Examples) {$true} Else {''} $alias = Get-Alias -Definition $name -ErrorAction SilentlyContinue return @{Name=$name;Description=$help.Synopsis;Examples=$example;Alias=$alias} } $table.ForEach({[PSCustomObject]$_}) | Format-Table Alias, Name, Description, Examples -AutoSize Write-Host "Configuration`n==============" -ForegroundColor Yellow Write-Host "To update: `$global:gitStatusNumbers.stagedColor = 'Red'" $options = @( [PSCustomObject]@{ Setting = 'stagedColor'; Value = $global:gitStatusNumbers.stagedColor; Description = "" } [PSCustomObject]@{ Setting = 'addedColor'; Value = $global:gitStatusNumbers.addedColor } [PSCustomObject]@{ Setting = 'modifiedColor'; Value = $global:gitStatusNumbers.modifiedColor } [PSCustomObject]@{ Setting = 'deletedColor'; Value = $global:gitStatusNumbers.deletedColor } [PSCustomObject]@{ Setting = 'renamedColor'; Value = $global:gitStatusNumbers.renamedColor } [PSCustomObject]@{ Setting = 'includeNumstat'; Value = $global:gitStatusNumbers.includeNumstat; Description = "Show added/deleted line counts" } [PSCustomObject]@{ Setting = 'displayFilesAs'; Value = $global:gitStatusNumbers.displayFilesAs; Description = "One of: full-path | relative-path | gitroot-path" } ) $options | Format-Table Setting, Value, Description -AutoSize Write-Host "Tutorial: https://itenium.be/blog/productivity/git-numbered-add-for-powershell" } |