zsh iTerm Touchbar

August 17, 2018 ยท View on GitHub

Display feedback of terminal in the ๐Ÿ Touchbar

preview1

preview2

Currently it shows:

  • F1 - Current directory ๐Ÿ‘‰
  • F2 - Current git branch, press to display all branches and switch between them ๐ŸŽ‹
  • F3 - Current git repo status ๐Ÿ”ฅ / ๐Ÿ™Œ
    • + โ€” uncommitted changes in the index;
    • ! โ€” unstaged changes;
    • ? โ€” untracked changes;
    • $ โ€” stashed changes;
    • โ‡ฃ โ€” unpulled commits;
    • โ‡ก โ€” unpushed commits.
  • F4 - Push to origin branch (git push origin [branch]) โœ‰๏ธ
  • F5 - Display npm-run or yarn-run scripts from package.json โšก๏ธ /๐Ÿฑ

Requirements

  • iTerm2 3.1.beta.3 (OS 10.10+) - Download
  • zsh shell
  • a zsh-framework like antigen or zgen
  • node (brew install node)

Into iterm2: Go into View -> Customize Tool Bar... and drag & drop the Fn module

Installing plugin

For oh-my-zsh users

Clone the repo in your plugins directory:

  • $ cd ${ZSH_CUSTOM1:-$ZSH/custom}/plugins
  • $ git clone https://github.com/iam4x/zsh-iterm-touchbar.git

Then add the plugin into your ~/.zshrc:

plugins=(... zsh-iterm-touchbar)

For antigen users

Add the following snippet ~/.zshrc after the line antigen use oh-my-zsh:

antigen theme https://github.com/iam4x/zsh-iterm-touchbar

For Zgen users

Add the following line to your ~/.zshrc where you're adding your other zsh plugins:

zgen load iam4x/zsh-iterm-touchbar

Customize

ENV variables to enable or disable git:

TOUCHBAR_GIT_ENABLED=true

ENV variables for git icons:

GIT_UNCOMMITTED="+"
GIT_UNSTAGED="!"
GIT_UNTRACKED="?"
GIT_STASHED="$"
GIT_UNPULLED="โ‡ฃ"
GIT_UNPUSHED="โ‡ก"

ENV variables to enable or disable yarn:

YARN_ENABLED=true

Read more / Credits