Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/khuei/winline
asyncify version of @wincent's zsh prompt
https://github.com/khuei/winline
async zsh zsh-plugin zsh-promp
Last synced: about 1 month ago
JSON representation
asyncify version of @wincent's zsh prompt
- Host: GitHub
- URL: https://github.com/khuei/winline
- Owner: khuei
- License: mit
- Created: 2021-04-09T14:59:48.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2024-09-24T15:57:00.000Z (5 months ago)
- Last Synced: 2024-11-12T18:45:51.843Z (3 months ago)
- Topics: async, zsh, zsh-plugin, zsh-promp
- Language: Shell
- Homepage:
- Size: 73.2 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# winline
Asyncify version of Greg Hurrell's [zsh prompt](https://github.com/wincent/wincent/blob/master/aspects/dotfiles/files/.zshrc)
## Feature
> taken from https://github.com/wincent/wincent/blob/master/README.md#prompt
![](./media/prompt.png)
Visible here are:
- Concise left-hand prompt consisting of:
- Last component of current directory (abbreviates `$HOME` to `~` if possible).
- Prompt marker, `❯`, the "[HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT](https://codepoints.net/U+276F)" (that's `\u276f`, or `e2 9d af` in UTF-8).
- Extended right-hand size prompt which auto-hides when necessary to make room for long commands and contains:
- Duration of previous command in adaptive units (seconds, minutes, hours, days, depending on duration).
- An async git prompt consists of:
- Current version control branch name.
- Current version control worktree status using colors that match those used in `git status`:
- Green dot indicates staged changes.
- Red dot indicates unstaged changes.
- Blue dot indicates untracked files.
- Full version of current working directory (again, abbreviating `$HOME` to `~`).Nested shells are indicated with additional prompt characters. For example, one nested shell:
![](./media/prompt-shlvl-2.png)
Two nested shells:
![](./media/prompt-shlvl-3.png)
Root shells are indicated with a different color prompt character and the word "root":
![](./media/prompt-root.png)
Nesting within a root shell is indicated like this:
![](./media/prompt-root-shlvl-2.png)
Two nested shells:
![](./media/prompt-root-shlvl-3.png)
If the last command exited with a non-zero status (usually indicative of an error), a yellow exclamation is shown:
![](./media/prompt-error.png)
If there are background processes, a yellow asterisk is shown:
![](./media/prompt-bg.png)
## Why
- Async is great for working with large repository (ex: https://github.com/gentoo/gentoo)
## Installation
1. Clone this repository
``` sh
$ git clone https://github.com/khuei/winline.git
```2. Add the repository to `$fpath` in `.zshrc`
``` sh
fpath+=/path/to/winline
```3. source either `winline.zsh` or `winline.plugin.zsh` in `.zshrc`
``` sh
. /path/to/winline.zsh# or
. /path/to/winline.plugin.zsh
```## Fallback
This prompt is heavily tailored to my needs so it is not very customizable
compare to other mainstream zsh prompts such as:
- https://github.com/sindresorhus/pure
- https://github.com/starship/starship
- https://github.com/romkatv/powerlevel10kTherefore, it is highly encourage that you use either one of the above or a
different prompt if you want more granular customization or advance feature.