]> us-delaporte.pagekite.me Git - dotfiles.git/blobdiff - psmodules/dash.psm1
Add helper to remove 'Search Highlights'
[dotfiles.git] / psmodules / dash.psm1
index 98533ab018cdf40e10e31ddf56e2d10d2878d012..b2b1e094fb70db146aa16831a9f4bbd07a0234ef 100644 (file)
@@ -8,27 +8,107 @@ function Measure-JournalTodos() {
        $env:todocount += $todocount.lines
 }
 
+
+<#
+
+.EXAMPLE
+
+Get-CommitsSince -From 2023.01.01
+
+#>
+function Show-GitRevList() {
+       param(
+               [string]$from
+       )
+       Invoke-AgileCmd "git rev-list HEAD --count --since=$from"
+}
+
+Export-ModuleMember -Function Show-GitRevList
+
+
+
+<#
+
+.SYNOPSIS
+
+Show a text dashboard.
+
+.EXAMPLE
+
+Include `Todo` list.
+Show-MyDashboard -todo
+
+#>
 function Show-MyDashBoard() {
        param(
-               [bool]$gitHub=$true
+               # [switch]$todocount=$true,
+               [switch]$agenda=$true,
+               [switch]$blocked,
+               [switch]$bugs,
+               [switch]$gitHub,
+               [switch]$help,
+               [switch]$leeroy,
+               [switch]$orphans,
+               [switch]$pr,
+               [switch]$requested,
+               [switch]$todo
        )
-       Write-Host ""
-       Measure-JournalTodos
-       Write-Host "## Todo items for today: $env:todocount" 
-       chart -var todocount
-       Write-Host ""
-       Write-Host "## Agenda for today:"
-       Get-JournalAgenda
-       Write-Host ""
+       $todocount = $true
+       if($todocount){
+               Measure-JournalTodos
+               Write-Host ""
+               Write-Host "## Todo items for today: $env:todocount" 
+               chart -var todocount
+       }
+       if($agenda){
+               Write-Host ""
+               Write-Host "## Agenda for today:"
+               Get-JournalAgenda
+       }
+       if($blocked){
+               Write-Host ""
+               Write-Host "## Blocked & Blocker Issues:"
+               Invoke-AgileCmd "gh issue list -S 'label:blocked,blocker,needs context'"
+       }
+       if($bugs) {
+               Write-Host ""
+               Write-Host "## Known Bugs"
+               Invoke-AgileCmd "gh issue list -S 'label:bug'"
+       }
        if($github) {
+               Write-Host ""
                Write-Host "## GitHub Status (gh status)"
                Invoke-Expression "gh status"
        }
-       Write-Host ""
-       Write-Host "Use command 'todolist' to list more tasks."
-       Write-Host "Use command 'chart -var todocount' to show todo item progress."
-       Write-Host "Use command 'agenda' to list the plan for today."
-       Write-Host "Use command 'Show-AgileNoMilestone' to display issues without a milestone."
+       if($help) {
+               Write-Host "## Dasbhoard Help"
+               Get-Help Show-MyDashboard
+       }
+       if($leeroy){
+               Write-Host ""
+               Write-Host "## Leeroy Jenkins!:"
+               Invoke-AgileCmd "gh issue list -l 'leeroy jenkins'"
+       }
+       if($orphans) {
+               Write-Host ""
+               Write-Host "## Issues with No Milestone" 
+               Invoke-AgileCmd "gh issue list -S 'is:open is:issue no:milestone'"
+       }
+       if($pr) {
+               Write-Host ""
+               Write-Host "## Open Pull Requests"
+               Invoke-AgileCmd "gh pr list"
+       }
+       if($requested){
+               Write-Host ""
+               Write-Host "## Open Stakeholder Requests"
+               invoke-agilecmd "gh issue list -S 'label:requested'"
+       }
+       if($todo) {
+               Write-Host ""
+               Write-Host "## Todo List" 
+               todolist
+       }
 }
 
 function Show-MyTeamWork() {
@@ -39,5 +119,11 @@ function Show-MyTeamWork() {
        }
 }
 
+function Write-AgileClosedData() {
+       $gh_cmd = 'gh issue list --state closed --json title,closedAt,milestone,url'
+       Write-AgileToFile -gh_command $gh_cmd
+}
+
+Export-ModuleMember -Function Write-AgileClosedData
 Export-ModuleMember -Function Show-MyDashboard
 Export-ModuleMember -Function Show-MyTeamWork
\ No newline at end of file