Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/molovo/filthy
A disgustingly clean ZSH prompt
https://github.com/molovo/filthy
theme zsh zsh-theme
Last synced: 25 days ago
JSON representation
A disgustingly clean ZSH prompt
- Host: GitHub
- URL: https://github.com/molovo/filthy
- Owner: molovo
- License: mit
- Created: 2015-10-19T19:37:24.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2018-10-25T11:28:19.000Z (about 6 years ago)
- Last Synced: 2024-09-28T08:21:06.869Z (about 1 month ago)
- Topics: theme, zsh, zsh-theme
- Language: Shell
- Homepage:
- Size: 280 KB
- Stars: 43
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Filthy
> A disgustingly clean ZSH prompt
![](screenshots/title.png)
## Overview
Based on the great [pure theme](http://github.com/sindresorhus/pure) by [@sindresorhus](http://github.com/sindresorhus) and [@mafredri](https://github.com/mafredri), but with a few notable changes.
* Prompt character is green when previous command was successful, red when not.
* Git repo info shown in RPROMPT.
* Path is shown relative to `git-root` when in a repository.
* Current commit/tag shown if HEAD is detached.
* 'Initial' status is shown in a new repo
* User and host always shown in RPROMPT, green for standard users, red if privileged.
* Command execution time shows in ms if less than one second has elapsed.
* Temporary messages can be displayed in the pre-prompt, e.g. to show feedback after an asynchronous command has completed. Just echo the text you want to display to `${ZDOTDIR:-$HOME}/.promptmsg`. The message is automagically cleared once shown.## Install
Can be installed with `npm` or manually. Requires git 1.7.10+ and ZSH 4.3.17+.
(To show current tag/commit when head is detached, git 2.0.0+ is required. Otherwise it just shows 'no branch')
### npm
```
npm install --global filthy-prompt
```That's it. Skip to [Getting started](#getting-started).
### [Zulu](http://github.com/zulu-zsh/zulu)
```
zulu install filthy
zulu theme filthy
```### Manually
1. Either…
- Clone this repo
- add it as a submodule, or
- just download `filthy.zsh`2. Symlink `filthy.zsh` to somewhere in [`$fpath`](http://www.refining-linux.org/archives/46/ZSH-Gem-12-Autoloading-functions/) with the name `prompt_filthy_setup`.
#### Example
```
$ ln -s "$PWD/filthy.zsh" /usr/local/share/zsh/site-functions/prompt_filthy_setup
```
*Run `echo $fpath` to see possible locations.*For a user-specific installation (which would not require escalated privileges), simply add a directory to `$fpath` for that user:
```sh
# .zshenv or .zshrc
fpath=( "$HOME/.zfunctions" $fpath )
```Then install the theme there:
```sh
$ ln -s "$PWD/filthy.zsh" "$HOME/.zfunctions/prompt_filthy_setup"
```## Getting started
Initialize the prompt system (if not so already) and choose `filthy`:
```sh
# .zshrc
autoload -U promptinit && promptinit
prompt filthy
```## Options
### `FILTHY_CMD_MAX_EXEC_TIME`
The max execution time of a process before its run time is shown when it exits. Defaults to `5` seconds.
### `FILTHY_SHOW_EXIT_CODE=1`
Prints a nice exit code in front of the prompt character when the previous
command exited with a status not equal to `0`### `FILTHY_SHOW_ZSH_VERSION=1`
Prints the current value of `$ZSH_VERSION` in `$RPROMPT`
### `FILTHY_ALWAYS_SHOW_FULL_PATH=1`
Do not show relative paths when `$PWD` is within a git repository
## Example
```sh
# .zshrcautoload -U promptinit && promptinit
# optionally define some options
FILTHY_CMD_MAX_EXEC_TIME=10prompt filthy
```## Tips
[Base16 Ocean](http://chriskempson.github.io/base16/#ocean) theme with the [Nitti Light](https://www.boldmonday.com/typeface/nitti/) font (18pt) is a beautiful combination, as seen in the screenshot above. Just make sure you have anti-aliasing enabled in your Terminal.
To have commands colorized as seen in the screenshot install [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting).
## Integration
### [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh)
1. Symlink (or copy) `filthy.zsh` to `~/.oh-my-zsh/custom/filthy.zsh-theme`
2. Add `ZSH_THEME="filthy"` to your `.zshrc` file.### [prezto](https://github.com/sorin-ionescu/prezto)
Set `zstyle ':prezto:module:prompt' theme 'filthy'` in `~/.zpreztorc`.
## License
MIT © [James Dinsdale](https://molovo.co)