🌊 The ultimate Fish prompt.
Go to file
Ilan Cosman 9e3221ce48 v4.3.3
2021-04-11 09:43:11 -07:00
.github Update bug-report template 2021-03-30 14:01:51 -07:00
completions Update for Fish v3.2 2021-03-02 09:52:58 -08:00
conf.d Go back to using fish_prompt function instead of handler 2021-04-10 08:56:38 -07:00
functions v4.3.3 2021-04-11 09:43:11 -07:00
tests Detect os on install only 2021-04-04 20:20:26 -07:00
CHANGELOG.md Changelog for v4.3.3 2021-04-11 09:42:54 -07:00
CODE_OF_CONDUCT.md Minor edits 2020-07-04 14:01:35 -07:00
CONTRIBUTING.md Update contributing guide 2021-03-25 21:27:10 -07:00
LICENSE.md Convert license to markdown 2020-07-04 13:53:26 -07:00
README.md Add manual install option to readme 2021-03-31 09:14:30 -07:00


ci_badge license_badge blazing_badge

The ultimate Fish prompt.

  • 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.
  • Extensible: Create custom content with simple Fish functions that integrate seamlessly.
  • Fast: Asynchronous rendering makes Tide the fastest full-featured Fish prompt.

Installation

System Requirements

Install with Fisher:

fisher install IlanCosman/tide
Install manually
# This may not work for all use cases.
curl https://codeload.github.com/ilancosman/tide/tar.gz/HEAD | tar -xzC /tmp
command cp -R /tmp/tide-HEAD/{completions,conf.d,functions} $__fish_config_dir
exec fish --init-command "emit _tide_init_install"

Features

Configuration Wizard

Run tide configure to open the the wizard in your terminal.

configuration_wizard


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.



Flexible

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



Asynchronous Rendering

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

async

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.


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.


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.

Tip: If you copy-paste a truncated directory 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

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 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.
  • Starship - Inspired elements of Tide's documentation and community health files.
  • Spacefish - Inspired some of Tide's items.