The user-friendly command line shell.
Go to file
2013-01-17 15:55:05 +08:00
build_tools Teach build_documentation.sh to look in /Applications/Doxygen.app 2013-01-07 19:29:33 -08:00
doc_src Document new MAC address behavior 2013-01-08 02:43:14 -08:00
etc Remove code that tries to load files in include directory 2012-12-01 21:17:16 -08:00
fish.xcodeproj Teach Xcode project how to build successfully without Doxygen 2013-01-07 14:58:56 -08:00
osx Make fishd base its variable files on the MAC address instead of hostname 2013-01-08 02:39:22 -08:00
po remove trialing spaces #2 2010-09-18 10:18:26 +08:00
share Formatting 2013-01-16 14:50:08 -08:00
tests fix a memory leak in profiling, add a profiling test 2013-01-14 01:38:05 +01:00
.gitattributes Added .gitattributes to ignore new build_tools directory from archival 2012-05-10 02:10:39 -07:00
.gitignore Add confdefs.h to .gitignore 2012-12-17 20:07:24 -08:00
autoload.cpp Remove Python dependency from Makefile and Xcode build 2012-12-08 21:41:38 -08:00
autoload.h forward-word should accept a word of an autosuggestion 2012-12-10 16:23:08 -08:00
builtin_commandline.cpp Implement new newline-escaping behavior. Backslashes at the end of lines now essentially delete the newline, within normal text or double quotes. Backslashes are retained within single quotes. 2012-11-22 01:09:07 -08:00
builtin_complete.cpp Fix indentation of switch statements 2012-11-19 00:31:03 -08:00
builtin_jobs.cpp Fix indentation of switch statements 2012-11-19 00:31:03 -08:00
builtin_set.cpp Fix for builtin_test crash 2013-01-06 14:48:46 -08:00
builtin_test.cpp Make fishd base its variable files on the MAC address instead of hostname 2013-01-08 02:39:22 -08:00
builtin_ulimit.cpp Fix indentation of switch statements 2012-11-19 00:31:03 -08:00
builtin.cpp Implement builtin [ via builtin test 2013-01-05 01:30:03 -08:00
builtin.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
CHANGELOG Remove trailing whitespaces and change tabs to spaces 2012-11-18 11:23:22 +01:00
color.cpp Fix indentation of switch statements 2012-11-19 00:31:03 -08:00
color.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
common.cpp Added a seq function that defers to the seq command if present 2013-01-12 14:18:34 -08:00
common.h Introduce a macro CAST_INIT to abbreviate common static_cast's a bit 2013-01-17 14:58:48 +08:00
complete.cpp Hack around xdm's dumb assumption that the login shell is POSIX compliant so we no longer kill OpenSUSE 2013-01-04 13:09:01 -08:00
complete.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
config.guess Update to latest config.sub and config.guess versions 2006-03-02 02:28:21 +10:00
config.sub Update to latest config.sub and config.guess versions 2006-03-02 02:28:21 +10:00
configure.ac Remove seq.in, in favor of the new function. Remove seq detection from configure.ac. Teach the Makefile how to remove old installed seqs. 2013-01-12 15:18:19 -08:00
create_wajig_completions.py Add the file that generated the wajig completions to the tree. This should not be installed but it should be included with the tarball. The file was written by Reuben Thomas. 2006-11-04 00:26:45 +10:00
Doxyfile remove trialing spaces #2 2010-09-18 10:18:26 +08:00
Doxyfile.help Made autoconf stop generating Doxyfile.help in preparation for Xcode documentation build phase 2012-12-26 23:48:11 -08:00
Doxyfile.user remove trialing spaces #2 2010-09-18 10:18:26 +08:00
env_universal_common.cpp Make fishd base its variable files on the MAC address instead of hostname 2013-01-08 02:39:22 -08:00
env_universal_common.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
env_universal.cpp Hack around xdm's dumb assumption that the login shell is POSIX compliant so we no longer kill OpenSUSE 2013-01-04 13:09:01 -08:00
env_universal.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
env.cpp really fix bug in export status of universal vars; add tests for that bug 2013-01-02 23:31:30 -08:00
env.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
event.cpp fix signal race 2012-12-24 23:06:09 -08:00
event.h Make event_block_t.event not a reference 2012-12-22 12:40:34 -08:00
exec.cpp Convert io_buffer_create to static io_buffer_t::create, make io_buffer_t constructor private 2013-01-17 15:55:05 +08:00
exec.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
expand.cpp Formatting 2013-01-12 12:55:23 -08:00
expand.h Formatting 2013-01-12 12:55:23 -08:00
fallback.cpp Removal of more lingering wcs2str() 2012-12-24 20:55:35 -08:00
fallback.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
fish_indent.cpp Remove tok_destroy 2012-11-21 22:14:28 -08:00
fish_pager.cpp Eliminate str2wcs 2012-12-19 13:31:06 -08:00
fish_tests.cpp Formatting 2013-01-12 12:55:23 -08:00
fish.cpp Wrong sense for is_interactive_session check 2013-01-06 15:19:37 -08:00
fish.spec.in Re-point some URLs at the fish homepage fishshell.com 2012-12-27 02:17:14 -08:00
fishd.cpp Make fishd base its variable files on the MAC address instead of hostname 2013-01-08 02:39:22 -08:00
function.cpp reference'ize event.cpp/h 2012-12-20 16:13:14 +01:00
function.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
highlight.cpp Fix an exception when parsing a multi-line command that ends in cd 2013-01-11 12:58:52 -08:00
highlight.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
history.cpp Fix for build errors with g++ 4.0.1 2012-12-11 13:18:40 -08:00
history.h Make fish try to detect when it's an orphaned process and then exit politely 2012-12-05 13:33:07 -08:00
input_common.cpp Change to make the lookahead array a std::stack instead of a static 4k list(!) 2012-11-24 16:58:30 -08:00
input_common.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
input.cpp Make meta-backspace less aggressive about what it deletes 2012-12-20 17:58:09 -08:00
input.h Fix for an exception in a non-interactive shell with empty input 2012-12-20 17:45:35 -08:00
INSTALL Fixed a minor typo: standrard -> standard 2013-01-10 20:50:52 +05:30
install-sh remove trialing spaces #2 2010-09-18 10:18:26 +08:00
intern.cpp Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
intern.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
io.cpp Convert io_buffer_create to static io_buffer_t::create, make io_buffer_t constructor private 2013-01-17 15:55:05 +08:00
io.h Convert io_buffer_create to static io_buffer_t::create, make io_buffer_t constructor private 2013-01-17 15:55:05 +08:00
iothread.cpp Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
iothread.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
key_reader.cpp Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
kill.cpp Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
kill.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
lru.h Fix for build errors with g++ 4.0.1 2012-12-11 13:18:40 -08:00
Makefile.in Remove seq.in, in favor of the new function. Remove seq detection from configure.ac. Teach the Makefile how to remove old installed seqs. 2013-01-12 15:18:19 -08:00
mimedb.cpp Fix indentation of switch statements 2012-11-19 00:31:03 -08:00
mimedb.h Add header guards to the header files. 2005-10-05 01:11:39 +10:00
output.cpp Make fish_config prompt color changes work more often 2013-01-08 02:56:45 -08:00
output.h Eliminate str2wcs 2012-12-19 13:31:06 -08:00
parse_util.cpp Remove tok_destroy 2012-11-21 22:14:28 -08:00
parse_util.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
parser_keywords.cpp Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
parser_keywords.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
parser.cpp Split out io_file_t 2013-01-17 15:55:05 +08:00
parser.h stop profile switch from crashing (issue #517); also make print_profile use a loop instead of recursion 2013-01-14 00:49:32 +01:00
path.cpp Added a history speed test 2012-12-03 02:25:08 -08:00
path.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
postfork.cpp Split out io_file_t 2013-01-17 15:55:05 +08:00
postfork.h Make do_builtin_io multi-fork safe, moved it to postfork.cpp 2013-01-11 15:09:53 -08:00
print_help.cpp Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
print_help.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
proc.cpp Split out io_buffer_t, make input_redirect in exec() a raw pointer 2013-01-17 15:55:05 +08:00
proc.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
reader.cpp Convert io_buffer_create to static io_buffer_t::create, make io_buffer_t constructor private 2013-01-17 15:55:05 +08:00
reader.h When the user input contains capital letters, use its case rather than the autosuggestion's case 2013-01-05 15:21:42 -08:00
README.md Update OS X build instructions 2012-12-26 21:30:03 -08:00
release_notes.html Updated relnotes 2012-06-05 01:22:25 -07:00
sanity.cpp Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
sanity.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
screen.cpp Fix for an out-of-range exception when resizing the window during funced 2013-01-06 15:33:50 -08:00
screen.h When the user input contains capital letters, use its case rather than the autosuggestion's case 2013-01-05 15:21:42 -08:00
set_color.cpp Fix indentation of switch statements 2012-11-19 00:31:03 -08:00
signal.cpp Fix for issue where history file would be read immediately on launch 2012-12-04 16:00:35 -08:00
signal.h Fix for issue where history file would be read immediately on launch 2012-12-04 16:00:35 -08:00
STYLEGUIDE.md Hungary notation -> Hungarian notation 2012-11-19 13:16:50 -08:00
tokenizer.cpp Formatting 2012-12-22 12:21:31 -08:00
tokenizer.h Formatting 2012-12-22 12:21:31 -08:00
user_doc.head.html Re-point some URLs at the fish homepage fishshell.com 2012-12-27 02:17:14 -08:00
util.cpp Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
util.h Hack around xdm's dumb assumption that the login shell is POSIX compliant so we no longer kill OpenSUSE 2013-01-04 13:09:01 -08:00
wgetopt.cpp Re-point some URLs at the fish homepage fishshell.com 2012-12-27 02:17:14 -08:00
wgetopt.h Re-point some URLs at the fish homepage fishshell.com 2012-12-27 02:17:14 -08:00
wildcard.cpp More work towards incremental history. Added some tests. 2012-12-02 23:38:38 -08:00
wildcard.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
wutil.cpp Formatting 2013-01-12 12:55:23 -08:00
wutil.h Make do_builtin_io multi-fork safe, moved it to postfork.cpp 2013-01-11 15:09:53 -08:00
xdgmime.cpp Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
xdgmime.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
xdgmimealias.cpp Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
xdgmimealias.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
xdgmimeglob.cpp Fix indentation of switch statements 2012-11-19 00:31:03 -08:00
xdgmimeglob.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
xdgmimeint.cpp Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
xdgmimeint.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
xdgmimemagic.cpp Fix indentation of switch statements 2012-11-19 00:31:03 -08:00
xdgmimemagic.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
xdgmimeparent.cpp Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
xdgmimeparent.h Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
xsel-1.2.0.tar.gz upgrade xsel to 1.2.0 2010-09-18 10:14:14 +08:00

fish - the friendly interactive shell

fish is a smart and user-friendly command line shell for OS X, Linux, and the rest of the family. fish includes features like syntax highlighting, autosuggest-as-you-type, and fancy tab completions that just work, with no configuration required.

For more on fish's design philosophy, see the design document.

Quick Start

fish generally works like other shells, like bash or zsh. A few important differences are documented at http://ridiculousfish.com/shell/faq.html

Detailed user documentation is available by running help within fish, and also at http://ridiculousfish.com/shell/user_doc/html/

Building

fish can be built using autotools or Xcode.

Autotools Build

autoconf
./configure [--without-xsel]
make [gmake on BSD]
sudo make install

Xcode Development Build

  • Build the base target in Xcode
  • Run the fish executable, for example, in DerivedData/fish/Build/Products/Debug/base/bin/fish

Xcode Build and Install

xcodebuild install
sudo ditto /tmp/fish.dst /

Contact Us

Questions, comments, rants and raves can be posted to the official fish mailing list at https://lists.sourceforge.net/lists/listinfo/fish-users
Found a bug? Have an awesome idea? Please open an issue on this github page.