Skip to content

Instantly share code, notes, and snippets.

@pierre3
Last active August 29, 2015 14:10
Show Gist options
  • Save pierre3/fa5ddf4a409d9481a3ab to your computer and use it in GitHub Desktop.
Save pierre3/fa5ddf4a409d9481a3ab to your computer and use it in GitHub Desktop.
#1. モジュールのインポート
PS C:\> Import-Module path\to\posh-todo.psm1
#2. ToDoデータ保存先ファイル名を指定してposh-todoを開始
PS C:\> Start-PoshTodo D:\todo\myTodo.json
# 指定したファイル内に登録済みのToDoが存在すればその一覧が表示されます。ファイル自体が無い場合は作成されます
<#
##### ToDo List #####
#>
# ** 上記の2行はプロファイル内に記述しておけば、毎回入力する手間が省けて良いです **
#3. ToDoの追加
PS C:\> Add-Todo "忘年会出欠確認" -setDate
<#
##### ToDo List #####
00. ▢ .[2014/11/17] 忘年会出欠確認
#>
#4. Add-Todo のエイリアス
PS C:\> atodo "忘年会予約" -setDate
<#
##### ToDo List #####
00. ▢ .[2014/11/17] 忘年会出欠確認
01. ▢ .[2014/11/26] 忘年会予約
#>
#5. 追加するテキストの先頭に[!]でフラグ付きToDoになる
PS C:\> atodo "[!]忘年会キャンセル期限" -setDate
<#
##### ToDo List #####
00. ▢ .[2014/11/17] 忘年会出欠確認
01. ▢ .[2014/11/26] 忘年会予約
02. ▢ ![2014/12/03] 忘年会キャンセル期限
#>
#6. [*]を付けるとマイルストーン
PS C:\> atodo "[*]忘年会" -setDate
<#
##### ToDo List #####
00. ▢ .[2014/11/17] 忘年会出欠確認
01. ▢ .[2014/11/26] 忘年会予約
02. ▢ ![2014/12/03] 忘年会キャンセル期限
03. ◆ .[2014/12/05] 忘年会
#>
#7. 配列による一括指定 & パイプラインからの入力もOK
PS C:\> "todo1","[*]todo2","[!*]todo3" | atodo
<#
##### ToDo List #####
00. ▢ .[2014/11/17] 忘年会出欠確認
01. ▢ .[2014/11/26] 忘年会予約
02. ▢ ![2014/12/03] 忘年会キャンセル期限
03. ◆ .[2014/12/05] 忘年会
04. ▢ .[9999/12/31] todo1
05. ◆ .[9999/12/31] todo2
06. ◆ ![9999/12/31] todo3
#>
#8. 指定したIndexのToDoを削除
PS C:\> Remove-Todo -Index (4..6)
<#
##### ToDo List #####
00. ▢ .[2014/11/17] 忘年会出欠確認
01. ▢ .[2014/11/26] 忘年会予約
02. ▢ ![2014/12/03] 忘年会キャンセル期限
03. ◆ .[2014/12/05] 忘年会
#>
#9. ステータスを"進行中"にする
PS C:\> Set-TodoStatus -index 0 -status Doing
<#
##### ToDo List #####
00. ▶ .[2014/11/17] 忘年会出欠確認
01. ▢ .[2014/11/26] 忘年会予約
02. ▢ ![2014/12/03] 忘年会キャンセル期限
03. ◆ .[2014/12/05] 忘年会
#>
#10. ステータスを"完了"にする
PS C:\> Set-TodoStatus -index 0 -status Done
<#
##### ToDo List #####
00. ✔ .[2014/11/17] 忘年会出欠確認
01. ▢ .[2014/11/26] 忘年会予約
02. ▢ ![2014/12/03] 忘年会キャンセル期限
03. ◆ .[2014/12/05] 忘年会
#>
#11. 一覧表示 (既定では、フィルタなし、日付昇順にソート)
PS C:\> Show-TodoList
<#
##### ToDo List #####
00. ✔ .[2014/11/17] 忘年会出欠確認
01. ▢ .[2014/11/26] 忘年会予約
02. ▢ ![2014/12/03] 忘年会キャンセル期限
03. ◆ .[2014/12/05] 忘年会
#>
#12. グローバル変数$todo
# $todo.items にToDoデータが配列で格納されている
# $todo.filter, $todo.sortKey はShow-TodoListコマンドでの表示のカスタマイズに使用
PS C:\> $todo
<#
Name Value
---- -----
filter $true
filePath D:\todo\myTodo.json
sortkey date
items {TodoItem, TodoItem, TodoItem, TodoItem}
#>
#13. 表示するデータを直接渡して一覧するには Show-TodoItems を使用する
PS C:\> $todo.items | `
? {$_.status -ne [TodoStatus]::Done} | `
Sort-Object -Property date -Descending | `
Show-TodoItems
<#
03. ◆ .[2014/12/05] 忘年会
02. ▢ ![2014/12/03] 忘年会キャンセル期限
01. ▢ .[2014/11/26] 忘年会予約
#>
#14. $todo.items から直接書き換えてもいいです。その場合はWrite-TodoItemsで更新してね
PS C:\> $todo.items[1].flag = $true
PS C:\> Write-TodoItems
PS C:\> Show-TodoList
<#
##### ToDo List #####
00. ✔ .[2014/11/17] 忘年会出欠確認
01. ▢ ![2014/11/26] 忘年会予約
02. ▢ ![2014/12/03] 忘年会キャンセル期限
03. ◆ .[2014/12/05] 忘年会
#>
#15. コマンド一覧です
PS C:\> Get-Command -Module posh-todo -all
<#
CommandType Name ModuleName
----------- ---- ----------
Alias atodo -> Add-Todo posh-todo
Alias rmtodo -> Remove-Todo posh-todo
Alias todolst -> Show-TodoList posh-todo
Alias todostat -> Set-TodoStatus posh-todo
Function Add-Todo posh-todo
Function Get-DatePicker posh-todo
Function Read-TodoItems posh-todo
Function Remove-PastTodoItem posh-todo
Function Remove-Todo posh-todo
Function Set-TodoStatus posh-todo
Function Show-StartingMessage posh-todo
Function Show-TodoItems posh-todo
Function Show-TodoList posh-todo
Function Start-PoshTodo posh-todo
Function Write-TodoItems posh-todo
PS C:\>
#>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment