The user-friendly command line shell.
Go to file
2013-03-21 17:40:12 -07:00
build_tools Teach build_documentation.sh to not generate the test man page on any platform, or the open man page on OS X. The system man pages are better. 2013-02-16 13:35:59 -08:00
doc_src Add note to docs. 2013-03-10 14:24:16 -07:00
etc
fish.xcodeproj Turn on COMBINE_HIDPI_IMAGES to comply with Xcode 4.6 recommended settings 2013-02-20 17:31:30 -08:00
osx Add an icon to fish.app 2013-02-05 21:50:33 -08:00
po
share Add completion for ruby-build 2013-03-13 23:19:03 +01:00
tests Added test cases for printf builtin 2013-03-03 00:45:34 +05:30
.gitattributes
.gitignore Ignore build directory and xcuserdata so Xcode-generated artifacts don't clog up index 2013-02-20 17:31:30 -08:00
autoload.cpp Make subcommands modify $status, and make builtin_set not modify status unless it fails 2013-01-31 15:57:08 -08:00
autoload.h
builtin_commandline.cpp
builtin_complete.cpp Break out COMPLETE_NO_CASE and COMPLETE_REPLACES_TOKEN into separate flags, in preparation for upcoming fuzzy completion work 2013-03-05 20:54:16 -08:00
builtin_jobs.cpp
builtin_printf.cpp Some cleanup of builtin_printf. Eliminate global variables and a nasty macro. 2013-03-21 17:40:12 -07:00
builtin_set_color.cpp Large set of changes to how PATH is handled. Changed fish to no longer modify PATH in share/config.fish. Introduced variable fish_user_paths, and a glue function __fish_reconstruct_path that splices together PATH with fish_user_paths. Changed fish to no longer validate changes to PATH unless the paths are new (i.e. don't recheck what's already there). Modified certain sets to store const wchar_t instead of wcstring to save a few allocations. 2013-02-19 18:05:20 -08:00
builtin_set.cpp Large set of changes to how PATH is handled. Changed fish to no longer modify PATH in share/config.fish. Introduced variable fish_user_paths, and a glue function __fish_reconstruct_path that splices together PATH with fish_user_paths. Changed fish to no longer validate changes to PATH unless the paths are new (i.e. don't recheck what's already there). Modified certain sets to store const wchar_t instead of wcstring to save a few allocations. 2013-02-19 18:05:20 -08:00
builtin_test.cpp Teach builtin_test about the special precedence rules in IEEE 1003.1 2013-03-03 13:22:00 -08:00
builtin_ulimit.cpp
builtin.cpp Initial version of printf builtin 2013-03-02 20:54:12 +05:30
builtin.h
CHANGELOG
color.cpp First stab at builtin set_color. Moved set_color.cpp to builtin_set_color.cpp and taught fish about it. 2013-02-14 15:52:24 -08:00
color.h First stab at builtin set_color. Moved set_color.cpp to builtin_set_color.cpp and taught fish about it. 2013-02-14 15:52:24 -08:00
common.cpp Kill termio.h and sys/termios.h 2013-03-05 12:25:00 -08:00
common.h Additional changes related to https://github.com/fish-shell/fish-shell/pull/592 2013-02-28 10:25:32 -08:00
complete.cpp Break out COMPLETE_NO_CASE and COMPLETE_REPLACES_TOKEN into separate flags, in preparation for upcoming fuzzy completion work 2013-03-05 20:54:16 -08:00
complete.h Break out COMPLETE_NO_CASE and COMPLETE_REPLACES_TOKEN into separate flags, in preparation for upcoming fuzzy completion work 2013-03-05 20:54:16 -08:00
config.guess
config.sub
configure.ac Kill termio.h and sys/termios.h 2013-03-05 12:25:00 -08:00
create_wajig_completions.py
Doxyfile
Doxyfile.help
Doxyfile.user
env_universal_common.cpp Large set of changes to how PATH is handled. Changed fish to no longer modify PATH in share/config.fish. Introduced variable fish_user_paths, and a glue function __fish_reconstruct_path that splices together PATH with fish_user_paths. Changed fish to no longer validate changes to PATH unless the paths are new (i.e. don't recheck what's already there). Modified certain sets to store const wchar_t instead of wcstring to save a few allocations. 2013-02-19 18:05:20 -08:00
env_universal_common.h Large set of changes to how PATH is handled. Changed fish to no longer modify PATH in share/config.fish. Introduced variable fish_user_paths, and a glue function __fish_reconstruct_path that splices together PATH with fish_user_paths. Changed fish to no longer validate changes to PATH unless the paths are new (i.e. don't recheck what's already there). Modified certain sets to store const wchar_t instead of wcstring to save a few allocations. 2013-02-19 18:05:20 -08:00
env_universal.cpp Migrate connection_t from storing a huge buffer to a std::vector 2013-02-16 01:28:46 -08:00
env_universal.h Clean up env_var_table_t. Switch from storing var_uni_entry_t* to var_uni_entry_t. Various other cleanups. 2013-02-11 23:16:50 -08:00
env.cpp Kill termio.h and sys/termios.h 2013-03-05 12:25:00 -08:00
env.h Cleanup and simplify null_terminated_array_t and its clients 2013-02-22 16:22:56 -08:00
event.cpp
event.h
exec.cpp Additional changes related to https://github.com/fish-shell/fish-shell/pull/592 2013-02-28 10:25:32 -08:00
exec.h remove __warn_unused attribute from exec_subshell 2013-02-06 01:11:46 +01:00
expand.cpp Add some headers to fix the build on OpenBSD 2013-03-11 13:38:18 -07:00
expand.h Formatting 2013-01-12 12:55:23 -08:00
fallback.cpp Kill termio.h and sys/termios.h 2013-03-05 12:25:00 -08:00
fallback.h Additional changes related to https://github.com/fish-shell/fish-shell/pull/592 2013-02-28 10:25:32 -08:00
fish_indent.cpp
fish_pager.cpp Kill termio.h and sys/termios.h 2013-03-05 12:25:00 -08:00
fish_tests.cpp Break out COMPLETE_NO_CASE and COMPLETE_REPLACES_TOKEN into separate flags, in preparation for upcoming fuzzy completion work 2013-03-05 20:54:16 -08:00
fish.cpp Wrong sense for is_interactive_session check 2013-01-06 15:19:37 -08:00
fish.spec.in
fishd.cpp Large set of changes to how PATH is handled. Changed fish to no longer modify PATH in share/config.fish. Introduced variable fish_user_paths, and a glue function __fish_reconstruct_path that splices together PATH with fish_user_paths. Changed fish to no longer validate changes to PATH unless the paths are new (i.e. don't recheck what's already there). Modified certain sets to store const wchar_t instead of wcstring to save a few allocations. 2013-02-19 18:05:20 -08:00
function.cpp
function.h
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
history.cpp Formatting 2013-02-03 11:38:22 -08:00
history.h
input_common.cpp
input_common.h
input.cpp Kill termio.h and sys/termios.h 2013-03-05 12:25:00 -08:00
input.h
INSTALL Fixed a minor typo: standrard -> standard 2013-01-10 20:50:52 +05:30
install-sh
intern.cpp
intern.h
io.cpp Kill termio.h and sys/termios.h 2013-03-05 12:25:00 -08:00
io.h Hopeful fix to avoid forking for certain builtins like echo when they have an input redirection only 2013-02-22 13:20:27 -08:00
iothread.cpp
iothread.h
key_reader.cpp
kill.cpp Make subcommands modify $status, and make builtin_set not modify status unless it fails 2013-01-31 15:57:08 -08:00
kill.h
lru.h
Makefile.in Initial version of printf builtin 2013-03-02 20:54:12 +05:30
mimedb.cpp
mimedb.h
output.cpp Kill termio.h and sys/termios.h 2013-03-05 12:25:00 -08:00
output.h First stab at builtin set_color. Moved set_color.cpp to builtin_set_color.cpp and taught fish about it. 2013-02-14 15:52:24 -08:00
parse_util.cpp More cleanup based on static analysis 2013-02-16 02:38:13 -08:00
parse_util.h
parser_keywords.cpp
parser_keywords.h
parser.cpp Additional changes related to https://github.com/fish-shell/fish-shell/pull/592 2013-02-28 10:25:32 -08:00
parser.h Initial set of changes working to make fish robust against running out of file descriptors 2013-01-30 02:22:38 -08:00
path.cpp
path.h
postfork.cpp Cleanup and simplify null_terminated_array_t and its clients 2013-02-22 16:22:56 -08:00
postfork.h Cleanup and simplify null_terminated_array_t and its clients 2013-02-22 16:22:56 -08:00
print_help.cpp
print_help.h
proc.cpp Kill termio.h and sys/termios.h 2013-03-05 12:25:00 -08:00
proc.h Fix comments in proc.h (spelling, wording, format) 2013-02-03 09:33:26 +08:00
reader.cpp Return key should only insert a newline if backslashed character is whitespace, or backslash terminates the line 2013-03-12 13:00:37 -07:00
reader.h Break out COMPLETE_NO_CASE and COMPLETE_REPLACES_TOKEN into separate flags, in preparation for upcoming fuzzy completion work 2013-03-05 20:54:16 -08:00
README.md Added reference to packages built on OBS repository in README.md 2013-01-20 13:12:10 +05:30
release_notes.html
sanity.cpp
sanity.h
screen.cpp Kill termio.h and sys/termios.h 2013-03-05 12:25:00 -08:00
screen.h Clean up comments and fix spelling errors 2013-02-20 18:07:38 -08:00
signal.cpp
signal.h
STYLEGUIDE.md
tokenizer.cpp
tokenizer.h
user_doc.head.html
util.cpp
util.h
wgetopt.cpp
wgetopt.h
wildcard.cpp Break out COMPLETE_NO_CASE and COMPLETE_REPLACES_TOKEN into separate flags, in preparation for upcoming fuzzy completion work 2013-03-05 20:54:16 -08:00
wildcard.h
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
xdgmime.h
xdgmimealias.cpp
xdgmimealias.h
xdgmimeglob.cpp
xdgmimeglob.h
xdgmimeint.cpp
xdgmimeint.h
xdgmimemagic.cpp Fix warning about realloc in xdgmimemagic 2013-02-16 13:17:43 -08:00
xdgmimemagic.h
xdgmimeparent.cpp
xdgmimeparent.h
xsel-1.2.0.tar.gz

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 /

Packages for Linux

Nightly builds for several Linux distros can be downloaded from http://download.opensuse.org/repositories/home:/siteshwar/

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.