Leaves all the room for what's important.
Terminal is iTerm2 — Font is JetBrains Mono — Terminal theme is Seoul256
- Current directory
- Current git branch
- git status indicators
- Return code
- Various customization options
npm install -g typewritten
That's it. The script will make the necessary symlinks to fpath
and set the prompt in your .zshrc
.
Clone the typewritten repository somewhere you can easily link. I recommend creating a .zsh
directory at root.
mkdir -p "$HOME/.zsh"
git clone https://github.com/reobin/typewritten.git "$HOME/.zsh/typewritten"
Load typewritten in your .zshrc
by using zsh prompinit:
fpath+=$HOME/.zsh/typewritten
autoload -U promptinit; promptinit
prompt typewritten
Note: if using oh-my-zsh
, set ZSH_THEME=""
in your .zshrc
to disable oh-my-zsh themes.
Clone the repository into your custom oh-my-zsh themes directory:
git clone https://github.com/reobin/typewritten.git $ZSH_CUSTOM/themes/typewritten
Symlink typewritten.zsh-theme
to your oh-my-zsh custom themes directory:
ln -s "$ZSH_CUSTOM/themes/typewritten/typewritten.zsh-theme" "$ZSH_CUSTOM/themes/typewritten.zsh-theme"
Set ZSH_THEME="typewritten"
in your .zshrc
file.
Add antibody bundle reobin/typewritten
to your .zshrc
.
Add zgen load reobin/typewritten typewritten
to your .zshrc
.
Add zmodule reobin/typewritten --name typewritten
to your .zimrc
and run zimfw install
.
Add zplug reobin/typewritten, as:theme
to your .zshrc
.
Click on an option's name to see more info.
Option | Description | Available options | Default value |
---|---|---|---|
TYPEWRITTEN_PROMPT_LAYOUT |
Defines how the prompt is displayed. | singleline , half_pure , pure , singleline_verbose , and multiline |
singleline |
TYPEWRITTEN_SYMBOL |
Defines the prompt symbol. | Any string value | > |
TYPEWRITTEN_GIT_RELATIVE_PATH |
If true , the current git home directory name is always shown next to the current directory name. |
true or false |
false |
TYPEWRITTEN_CURSOR |
Defines the used cursor. | underscore , beam , or block |
underscore |
TYPEWRITTEN_RIGHT_PROMPT_PREFIX |
Defines what is displayed just before the right part of the prompt. | Any string |
All of these options are configurable through your
.zshrc
file like this:export TYPEWRITTEN_PROMPT_LAYOUT="singleline"
Default single line (TYPEWRITTEN_PROMPT_LAYOUT="singleline"
)
Half pure (TYPEWRITTEN_PROMPT_LAYOUT="half_pure"
)
Pure (TYPEWRITTEN_PROMPT_LAYOUT="pure"
)
Single line - verbose variation (TYPEWRITTEN_PROMPT_LAYOUT="singleline_verbose"
)
Multiline (TYPEWRITTEN_PROMPT_LAYOUT="multiline"
)
Here are some examples of customized prompt symbols.
Default (TYPEWRITTEN_SYMBOL="❯"
)
Dollar sign (TYPEWRITTEN_SYMBOL="$"
)
Full arrow (TYPEWRITTEN_SYMBOL="->"
)
By default, the git root directory is always displayed no matter how far you are inside it.
To turn it off and display only the current directory, set TYPEWRITTEN_GIT_RELATIVE_PATH
to false
.
Default behaviour (TYPEWRITTEN_GIT_RELATIVE_PATH=true
)
/.../
is displayed when the nesting gets more than one level deep.
Hide git home directory (TYPEWRITTEN_GIT_RELATIVE_PATH=false
)
Default underscore (TYPEWRITTEN_CURSOR="underscore"
)
Beam (TYPEWRITTEN_CURSOR="beam"
)
Block (TYPEWRITTEN_CURSOR="block"
)
Bash comment prefix (TYPEWRITTEN_RIGHT_PROMPT_PREFIX="# "
)
?
— untracked change(s);+
— staged change(s);!
— file(s) modified in the repo;»
— renamed file(s);—
— deleted file(s);$
— stashed change(s);#
— unmerged change(s);•|
— behind of remote branch;|•
— ahead of remote branch;~
— Branches have diverged;
Git status can be disabled by setting git config
value in a repo or globally like so:
git config --add oh-my-zsh.hide-status 1
When an error happens, the prompt symbol changes to a red color, and the return code is displayed on the left.
The return code display can be disbled by setting TYPEWRITTEN_DISABLE_RETURN_CODE
to true
in your .zshrc
A special thanks to all the contributors to this project
pure
layout is inspired by Pure