tide/README.md

171 lines
6.5 KiB
Markdown
Raw Normal View History

2020-07-21 00:41:09 +03:00
<div align="center">
<img
2021-01-28 02:07:14 +03:00
src="https://raw.githubusercontent.com/IlanCosman/tide-media/main/images/logo.svg"
2020-08-25 18:25:19 +03:00
alt="logo.svg"
width="61.8%"
2020-07-21 00:41:09 +03:00
/>
2020-08-25 18:25:19 +03:00
[![ci_badge][]][actions] [![fish_version_badge][]](#System-Requirements) [![license_badge][]][license] <!-- 0 width spaces on this line -->
2020-07-21 00:41:09 +03:00
</div>
#
2020-06-07 02:05:49 +03:00
2020-07-23 05:44:12 +03:00
<img
2021-01-28 02:07:14 +03:00
src="https://raw.githubusercontent.com/IlanCosman/tide-media/main/images/header.png"
2020-07-27 06:28:25 +03:00
alt="header.png"
2020-07-23 05:44:12 +03:00
width="50%"
align="right"
/>
2020-12-13 23:12:37 +03:00
**The ultimate Fish prompt.**
2020-04-03 02:30:40 +03:00
- **Out of the box:** With four compelling styles and lots of options, you can have your ready-to-run cake and customize it too.
- **Flexible:** Move content around or remove it, all without ever touching a line of code.
2021-01-13 07:09:32 +03:00
- **Extensible:** Create custom content with simple Fish functions that integrate seamlessly.
- **Fast:** Asynchronous rendering makes Tide the fastest full-featured Fish prompt.
2020-07-23 05:44:12 +03:00
<br clear="right">
2020-05-13 06:17:03 +03:00
2020-06-16 20:03:02 +03:00
## Installation
2020-04-03 02:30:40 +03:00
2020-07-29 18:40:43 +03:00
### System Requirements
2020-04-03 02:30:40 +03:00
2020-07-23 06:55:59 +03:00
- [Git][]
2020-07-23 06:46:37 +03:00
- [Fish][] ≥ 3.1
2020-07-29 17:35:37 +03:00
- A [Nerd Font][nerd fonts] installed and enabled in your terminal (for example the [recommended font](#fonts)).
2020-11-04 22:05:41 +03:00
Install with [Fisher][]:
2020-07-23 06:46:37 +03:00
```console
2020-11-04 22:05:41 +03:00
fisher install IlanCosman/tide
2020-07-23 06:46:37 +03:00
```
2020-05-13 06:17:03 +03:00
2020-06-16 20:03:02 +03:00
## Features
2020-05-13 06:17:03 +03:00
2020-05-20 08:14:01 +03:00
### Configuration Wizard
2020-05-20 04:08:57 +03:00
2020-07-27 04:13:01 +03:00
Run `tide configure` to open the the wizard in your terminal.
2020-05-20 04:08:57 +03:00
2020-06-19 21:13:43 +03:00
![configuration_wizard][]
2020-05-20 04:08:57 +03:00
2020-07-27 04:13:01 +03:00
<br>
2020-06-10 19:18:15 +03:00
2020-12-23 02:29:21 +03:00
<img
2021-01-28 02:07:14 +03:00
src="https://raw.githubusercontent.com/IlanCosman/tide-media/main/images/extensible.png"
2020-12-23 02:29:21 +03:00
alt="extensible.png"
width="61.8%"
align="right"
/>
### Extensible
If there isn't an item that fits your needs you can make your own (and hopefully submit a pull request) or ask for it to be made by opening an issue.
<br clear="right"><br>
2020-07-27 04:13:01 +03:00
<img
2021-01-28 02:07:14 +03:00
src="https://raw.githubusercontent.com/IlanCosman/tide-media/main/images/flexible.png"
2020-07-27 07:18:42 +03:00
alt="flexible.png"
width="61.8%"
2020-07-27 04:13:01 +03:00
align="left"
/>
2020-06-10 19:18:15 +03:00
2020-07-27 04:13:01 +03:00
### Flexible
2020-06-10 19:18:15 +03:00
2020-09-17 01:00:48 +03:00
Using the [`items`][] list for each side of the prompt, you have full control of which and where prompt sections display.
2020-07-27 04:13:01 +03:00
<br clear="left"><br>
2020-12-22 06:39:43 +03:00
### Asynchronous Rendering
2020-06-16 03:52:35 +03:00
2020-12-22 06:39:43 +03:00
Tide runs everything in the background so that your prompt will always feel snappy.
2020-06-16 03:52:35 +03:00
2020-12-22 06:39:43 +03:00
![async][]
2020-06-16 03:52:35 +03:00
2020-12-23 02:29:21 +03:00
Asynchronous rendering also allows Tide to display more information than other prompts. For example, most prompts don't display the number of untracked, modified, or deleted files in a git repository because it's too slow to compute.
2020-06-16 03:52:35 +03:00
2020-12-22 06:39:43 +03:00
<br>
2020-07-27 04:13:01 +03:00
2020-12-22 06:39:43 +03:00
<img
2021-01-28 02:07:14 +03:00
src="https://raw.githubusercontent.com/IlanCosman/tide-media/main/images/multi-line_right_prompt.png"
2020-12-22 06:39:43 +03:00
alt="multi-line_right_prompt.png"
width="61.8%"
2020-12-23 02:29:21 +03:00
align="left"
2020-12-22 06:39:43 +03:00
/>
### Multi-Line Right Prompt
> Fish can't do _that_ yet can it!
Tide is the only Fish prompt capable of displaying a multi-line right prompt. All you have to do is add the `newline` item.
2021-01-13 02:43:17 +03:00
<br clear="left">
2021-01-13 00:41:12 +03:00
### Current directory that just works
The current working directory is the the most important part of any shell prompt. Tide highlights the critical parts and truncates with the least loss of information when horizontal space is scarce.
![pwd][]
When the full directory doesn't fit, the leftmost segment is truncated to its shortest unique prefix. For example, `~/Documents` becomes `~/Doc` instead of `~/D` because that could be confused with `~/Downloads`. Important segments are bold and never truncated. These include the first and the last segments, roots of Git repositories etc.
2021-01-13 00:41:12 +03:00
2021-01-13 01:22:08 +03:00
<sup>_Tip_: If you copy-paste a truncated directory and hit <kbd>tab</kbd>, it will complete to the original.</sup>
2020-05-20 04:08:57 +03:00
2020-09-17 01:00:48 +03:00
## Configuration
2020-07-24 06:27:51 +03:00
2020-09-17 01:00:48 +03:00
See the [configuration guide][] for variable documentation.
2020-07-24 06:27:51 +03:00
2020-06-16 20:03:02 +03:00
## Contributing
2020-05-31 04:03:41 +03:00
2020-07-27 04:13:01 +03:00
From the smallest typo to the largest feature, contributions of any size or experience level are welcome!
If you're interested in helping contribute to Tide, please take a look at the [Contributing Guide][].
2020-05-31 04:03:41 +03:00
2020-06-16 20:03:02 +03:00
## Fonts
2020-06-05 05:43:27 +03:00
2020-07-17 05:53:34 +03:00
### Meslo Nerd Font
2020-07-18 09:17:25 +03:00
Gorgeous monospace font designed by Jim Lyles for Bitstream, customized for Apple, enhanced by André Berg, and finally patched by Roman Perepelitsa of [Powerlevel10k][] with scripts originally developed by Ryan McIntyre of [Nerd Fonts][]. Contains all the glyphs and symbols that Tide may need. Battle-tested in dozens of different terminals on all major operating systems.
2020-06-16 20:03:02 +03:00
### Font Installation
2020-06-05 05:43:27 +03:00
Download these four ttf files:
2020-07-17 05:53:34 +03:00
- [MesloLGS NF Regular.ttf][]
- [MesloLGS NF Bold.ttf][]
- [MesloLGS NF Italic.ttf][]
- [MesloLGS NF Bold Italic.ttf][]
2020-06-05 05:43:27 +03:00
2020-07-17 06:21:09 +03:00
Open each file and click "Install". This will make the `MesloLGS NF` font available to all applications on your system. Configure your terminal to use this font.
2020-07-08 21:27:41 +03:00
## Acknowledgments
2021-01-13 02:38:46 +03:00
- [Powerlevel10k][] - Inspired Tide's creation and informs nearly every aspect of Tide's existence. Because Tide aims to replicate Powerlevel10k's amazing feature set, small sections of documentation have been directly borrowed when rewording the language would negatively impact meaning.
2020-08-19 20:35:04 +03:00
- [Starship][] - Inspired elements of Tide's documentation and community health files.
- [Spacefish][] - Inspired some of Tide's items.
2020-09-17 01:25:33 +03:00
[`items`]: docs/Configuration.md#Items
2020-07-17 05:53:34 +03:00
[actions]: https://github.com/IlanCosman/tide/actions
2021-01-28 02:07:14 +03:00
[async]: https://raw.githubusercontent.com/IlanCosman/tide-media/main/animations/async.gif
2020-07-12 21:12:56 +03:00
[ci_badge]: https://github.com/IlanCosman/tide/workflows/CI/badge.svg
2020-09-17 01:00:48 +03:00
[configuration guide]: docs/Configuration.md
2021-01-28 02:07:14 +03:00
[configuration_wizard]: https://raw.githubusercontent.com/IlanCosman/tide-media/main/animations/configuration_wizard.gif
2020-07-17 04:50:52 +03:00
[contributing guide]: CONTRIBUTING.md
2020-07-08 21:27:41 +03:00
[fish_version_badge]: https://img.shields.io/badge/fish-3.1.0%2B-blue
2020-09-07 22:00:54 +03:00
[fish]: https://fishshell.com/
2020-11-04 22:05:41 +03:00
[fisher]: https://github.com/jorgebucaran/fisher
2020-07-23 06:55:59 +03:00
[git]: https://git-scm.com/
2020-07-08 21:27:41 +03:00
[license_badge]: https://img.shields.io/github/license/IlanCosman/tide
2020-09-07 22:00:54 +03:00
[license]: LICENSE.md
2021-01-28 02:07:14 +03:00
[meslolgs nf bold italic.ttf]: https://github.com/IlanCosman/tide/raw/main/https://raw.githubusercontent.com/IlanCosman/tide-media/main/fonts/mesloLGS_NF_bold_italic.ttf
[meslolgs nf bold.ttf]: https://github.com/IlanCosman/tide/raw/main/https://raw.githubusercontent.com/IlanCosman/tide-media/main/fonts/mesloLGS_NF_bold.ttf
[meslolgs nf italic.ttf]: https://github.com/IlanCosman/tide/raw/main/https://raw.githubusercontent.com/IlanCosman/tide-media/main/fonts/mesloLGS_NF_italic.ttf
[meslolgs nf regular.ttf]: https://github.com/IlanCosman/tide/raw/main/https://raw.githubusercontent.com/IlanCosman/tide-media/main/fonts/mesloLGS_NF_regular.ttf
2020-07-17 05:53:34 +03:00
[nerd fonts]: https://github.com/ryanoasis/nerd-fonts
2020-07-08 21:27:41 +03:00
[powerlevel10k]: https://github.com/romkatv/powerlevel10k/
2021-01-28 02:07:14 +03:00
[pwd]: https://raw.githubusercontent.com/IlanCosman/tide-media/main/images/pwd.png
2020-08-19 20:35:04 +03:00
[spacefish]: https://github.com/matchai/spacefish
2020-07-23 06:46:37 +03:00
[starship]: https://github.com/starship/starship