🌊 The ultimate Fish prompt.
Go to file
2024-01-04 19:49:34 -08:00
.github Bump dessant/lock-threads from 4 to 5 (#463) 2023-11-21 16:59:58 -08:00
.vscode Add extension recommendations 2022-01-14 13:12:14 -08:00
completions Add reload to completions 2023-09-09 08:24:21 -07:00
conf.d Set the new jobs variable to prevent errors when updating 2023-12-27 13:30:55 -08:00
functions remove redundant if 2024-01-04 19:49:34 -08:00
tests Add job number display (#470) 2023-12-26 12:02:03 -08:00
tools add asciicast_ezgif_durations 2023-10-03 13:03:50 -07:00
.editorconfig Add .editorconfig 2022-01-11 10:53:37 -08:00
.gitignore Use python3 to run littlecheck 2022-04-06 17:21:35 -07:00
.mega-linter.yml More megalinter stuff 2023-10-14 10:41:07 -07:00
ARCHITECTURE.md Pretty up ARCHITECTURE 2023-09-27 13:56:52 -07:00
CHANGELOG.md minor doc edits 2023-12-27 13:41:06 -08:00
CODE_OF_CONDUCT.md Minor updates to CoC 2023-07-29 15:34:39 -07:00
CONTRIBUTING.md Minor docs changes 2023-10-14 10:36:49 -07:00
LICENSE.md Convert license to markdown 2020-07-04 13:53:26 -07:00
Makefile Add clean make command 2023-02-18 08:43:57 -08:00
README.md minor doc edits 2023-12-27 13:41:06 -08:00

The ultimate Fish prompt.

  • Fast - Asynchronous rendering makes Tide instantly responsive in any situation.

  • Friendly - An interactive configuration wizard lets you design your prompt efficiently.

  • Flexible - Pure-Fish construction means you can easily control existing content or create your own that will integrate seamlessly.

Installation

System Requirements

Install with Fisher:

fisher install IlanCosman/tide@v6
Install manually

This script may not work for all use cases.

set -l _tide_tmp_dir (command mktemp -d)
curl https://codeload.github.com/ilancosman/tide/tar.gz/v6 | tar -xzC $_tide_tmp_dir
command cp -R $_tide_tmp_dir/*/{completions,conf.d,functions} $__fish_config_dir
fish_path=(status fish-path) exec $fish_path -C "emit _tide_init_install"

Features

Configuration Wizard

Run tide configure to open the wizard in your terminal.

configuration_wizard

Flexible

Using the items list for each side of the prompt, you have full control of which and where prompt sections display.


Extendable

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.


Asynchronous Rendering

Tide runs everything in the background so that your prompt will always feel snappy.

async

Asynchronous rendering also lets Tide 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.

Current directory that just works

The current working directory is 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.

When the full directory doesn't fit, the leftmost segment is truncated to its shortest unique prefix. In the example above, Documents becomes Doc instead of D because that could be confused with Downloads. Important segments are bold and never truncated. These include the last segment, root of a Git repository etc.

Tip: If you copy-paste a truncated path and hit tab, it will complete to the original.

Documentation

See the Wiki for documentation.

Contributing

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.

Fonts

Meslo Nerd Font

A 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.

Font Installation

Download these four ttf files:

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.

Acknowledgments

  • Powerlevel10k - Inspired Tide's creation. Because Tide aims to replicate Powerlevel10k's amazing capabilities, small sections of documentation have been borrowed when rewording the language would reduce clarity.
  • Starship - Inspired elements of Tide's documentation and community health files.
  • Spacefish - Inspired some of Tide's items.