[tig] 
# === General ===
# Appearance

set main-view = id date author commit-title:graph=yes,refs=yes
set blame-view = date:default author:email-user id:yes,color line-number:yes,interval=1 text
set diff-options = -m --first-parent

# Refresh timing
set refresh-mode = periodic
set refresh-interval = 5

# Search
set ignore-case = true

# === Controls ===
# # Branch view
bind generic    b      view-refs
#
# # Blame view
bind generic    <Esc>b      view-blame
#
# # Cursor
# bind generic J move-page-down
# bind generic K move-page-up
#
# # Copy commit id
# bind generic `      @bash -c "echo -n '%(commit)' | pbcopy"
#
# # Quit tig
# bind generic <Esc><Enter> quit

# === Commands ===
# # Commit
bind generic C      !git commit
bind refs    C      !git commit
bind main    C      !git commit
# bind generic <Esc>u !git add -p %(file)
# bind generic <Esc>e !git commit --allow-empty
# bind generic +      !git commit --amend --allow-empty

# Push
bind generic P      ?git push -u %(remote) %(repo:head)
bind generic <Esc>p ?git push -u -f %(remote) %(repo:head)

# Pull
# bind generic U      ?git pull %(remote)
#
# # Fetch
# bind generic F      ?git fetch %(remote)
# bind main    F      ?git fetch %(remote)
#
# # Reflog
# bind generic L      !sh -c "git reflog --pretty=raw | tig --pretty=raw"
# bind generic _      ?git reset --hard HEAD@{"%(prompt Enter HEAD@{} number: )"}
#
# # Reset --hard
# bind main    H      ?git reset --hard %(commit)
# bind refs    H      ?git reset --hard %(commit)
# bind status  H      ?git checkout -- %(file)
#
# # Checkout(move) to branch
# bind main    =      ?git checkout %(branch)
# bind refs    =      ?git checkout %(branch)
# # 前に使用していたブランチへ戻る
# bind generic <Esc>=      ?git checkout -
#
# # Merge
# bind main    M      ?git merge %(branch)
# bind diff    M      ?git merge %(branch)
# bind refs    M      ?git merge %(branch)
# bind main    <Esc>m ?git merge %(commit)
# bind diff    <Esc>m ?git merge %(commit)
#
# # Rebase
# bind main    R      ?git rebase %(branch)
# bind diff    R      ?git rebase %(branch)
# bind refs    R      ?git rebase %(branch)
# bind main    <Esc>r ?git rebase %(commit)
# bind diff    <Esc>r ?git rebase %(commit)
#
# # Rebase -i
# bind main    <Esc>i      ?git rebase -i %(branch)
# bind diff    <Esc>i      ?git rebase -i %(branch)
# bind refs    <Esc>i      ?git rebase -i %(branch)
# bind main    i ?git rebase -i %(commit)
# bind diff    i ?git rebase -i %(commit)
#
# # Rebase options
# bind generic    <Esc>y      ?git rebase --continue
# bind generic    <Esc>c      ?git rebase --abort
#
#
# # diff
# bind main    D ?sh -c "git diff %(commit)..%(prompt Enter commit ID: ) | tig"
# bind diff    D ?sh -c "git diff %(commit)..%(prompt Enter commit ID: ) | tig"
#
# # Remove branch
# bind refs    D      ?git branch -d %(branch)
# bind refs    <Esc>D      ?git branch -D %(branch)
#
# # Stash
# bind generic S !git stash
#
# # Revert
# bind main    !      ?git revert %(commit)
#
# # Cherry-pick
# bind main    <Esc>k      ?git cherry-pick %(commit)
# bind diff    <Esc>k      ?git cherry-pick %(commit)
#
# # Create branch
# bind main    B      ?git checkout -b "%(prompt Enter branch name: )" %(branch)
# bind refs    B      ?git checkout -b "%(prompt Enter branch name: )" %(branch)
# bind main    <Esc>b ?git checkout -b "%(prompt Enter branch name: )" %(commit)
#
#
# # === Github ===
# # Open to brouse
# bind main    ;      @hub browse -- commit/%(commit)
# bind blame   ;      @hub browse -- commit/%(commit)
# bind diff    ;      @hub browse -- commit/%(commit)
# bind tree    ;      @hub browse -- blob/%(branch)/%(file)
# bind blob    ;      @hub browse -- blob/%(branch)/%(file)
# bind grep    ;      @hub browse -- blob/%(branch)/%(file)
#
# # Pull request
# bind main    w      @hub browse -- compare/%(branch)?expand=1
# bind diff    w      @hub browse -- compare/%(branch)?expand=1
# bind refs    w      @hub browse -- compare/%(branch)?expand=1
#
# # === Theme ===
# # General colors
