The user-friendly command line shell.
Go to file
2012-10-20 12:15:49 -07:00
build_tools Make add-shell correctly handle /etc/shells files that do not end with newlines 2012-07-22 17:00:44 -07:00
doc_src keybindings → key_bindings (for consistency) 2012-10-20 12:15:49 -07:00
etc Large set of changes related to making fish relocatable, and improving the build and install story. 2012-07-08 15:20:39 -07:00
FishsFish.xcodeproj Replaced README with README.md for github 2012-08-21 02:08:49 -07:00
osx Clean up fish.app target to build correctly. Still won't run from Xcode, but will run from Finder 2012-08-21 01:20:19 -07:00
po remove trialing spaces #2 2010-09-18 10:18:26 +08:00
share added missing underscore 2012-10-20 12:15:49 -07:00
tests Make the \c special character in echo suppress the newline too 2012-10-17 02:59:43 -07:00
.gitattributes Added .gitattributes to ignore new build_tools directory from archival 2012-05-10 02:10:39 -07:00
.gitignore Add auto-generated builtin_scripts.[cpp|h] to .gitignore 2012-07-13 21:40:11 -07:00
autoload.cpp Additional warnings cleanup, effective C++ violations, dead code removal 2012-08-05 13:24:33 -07:00
autoload.h Renamed env_vars to env_vars_snapshot_t 2012-07-20 20:39:31 -07:00
builtin_commandline.cpp Cleaned up lots of typecasts, simplified some string handling 2012-08-04 15:11:43 -07:00
builtin_complete.cpp Replaced some calls to unescape with unescape_string 2012-05-09 02:55:36 -07:00
builtin_jobs.cpp Cleaned up lots of typecasts, simplified some string handling 2012-08-04 15:11:43 -07:00
builtin_set.cpp Clean up some warnings and some unused if-related code 2012-09-01 12:29:00 -07:00
builtin_test.cpp Fixed builtin_test to properly handle "just a strings" in combining expressions, like 'test foo -a bar'. This was causing error messages in the help function. 2012-05-20 12:58:03 -07:00
builtin_ulimit.cpp Large set of changes to migrate sb_out and sb_err to wcstring 2012-02-22 10:51:06 -08:00
builtin.cpp Simplify handling of escape sequences in echo -e 2012-10-17 17:08:45 -07:00
builtin.h Changed "elseif" to "else if" 2012-09-03 13:24:01 -07:00
CHANGELOG do not escape 'commandline' output without the -o flag 2012-01-25 00:11:00 +01:00
color.cpp Allow setting the prompt from web_config 2012-09-06 01:30:26 -07:00
color.h Added term256 support to set_color tool 2012-03-13 14:23:10 -07:00
common.cpp Make wildcards beginning with dots not match . and .. 2012-10-15 18:16:47 -07:00
common.h Make wildcards beginning with dots not match . and .. 2012-10-15 18:16:47 -07:00
complete.cpp Support for tab cyling through completions 2012-08-21 17:18:52 -07:00
complete.h Support for tab cyling through completions 2012-08-21 17:18:52 -07: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 Adopt posix_spawn (!) 2012-08-15 00:57:56 -07: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.in remove trialing spaces #2 2010-09-18 10:18:26 +08:00
Doxyfile.user remove trialing spaces #2 2010-09-18 10:18:26 +08:00
env_universal_common.cpp Make escaping consistent for fish <-> fishd protocol 2012-10-08 14:47:25 -07:00
env_universal_common.h Make escaping consistent for fish <-> fishd protocol 2012-10-08 14:47:25 -07:00
env_universal.cpp Make escaping consistent for fish <-> fishd protocol 2012-10-08 14:47:25 -07:00
env_universal.h Make escaping consistent for fish <-> fishd protocol 2012-10-08 14:47:25 -07:00
env.cpp Make escaping consistent for fish <-> fishd protocol 2012-10-08 14:47:25 -07:00
env.h Adopt posix_spawn (!) 2012-08-15 00:57:56 -07:00
event.cpp First stab at getting rid of the ugly state1, state2 properties of block_t 2012-08-26 22:42:29 -07:00
event.h Additional warnings cleanup, effective C++ violations, dead code removal 2012-08-05 13:24:33 -07:00
exec.cpp Clean up some warnings and some unused if-related code 2012-09-01 12:29:00 -07:00
exec.h Adopt posix_spawn (!) 2012-08-15 00:57:56 -07:00
expand.cpp Fix bug where underlining was failing for paths prefixed with ~ 2012-08-23 11:21:35 -07:00
expand.h Fix bug where underlining was failing for paths prefixed with ~ 2012-08-23 11:21:35 -07:00
fallback.cpp Additional warnings cleanup, effective C++ violations, dead code removal 2012-08-05 13:24:33 -07:00
fallback.h Warning cleanup 2012-08-04 11:34:45 -07:00
fish_indent.cpp Additional warnings cleanup, effective C++ violations, dead code removal 2012-08-05 13:24:33 -07:00
fish_pager.cpp Remove ellipsis and newlines from long lines 2012-09-18 00:42:11 +05:30
fish_tests.cpp Fixed "Expansion not correctly handling literal path components in dotfiles" test 2012-10-16 11:51:36 -07:00
fish.cpp Make escaping consistent for fish <-> fishd protocol 2012-10-08 14:47:25 -07:00
fish.spec.in Replaced references to http://fishshell.org/ with http://ridiculousfish.com/shell/. 2012-08-01 18:09:50 +02:00
fishd.cpp Make escaping consistent for fish <-> fishd protocol 2012-10-08 14:47:25 -07:00
function.cpp Fix to restore an optimization from parse_util_get_line_from_offset in a more thread-safe way 2012-08-04 17:44:14 -07:00
function.h Renamed env_vars to env_vars_snapshot_t 2012-07-20 20:39:31 -07:00
highlight.cpp Clean up some warnings and some unused if-related code 2012-09-01 12:29:00 -07:00
highlight.h More warning fixes and switching from int to long or size_t 2012-08-04 13:02:44 -07:00
history.cpp Switch from std::list to std::vector in a few places to reduce compiled code size 2012-07-24 22:32:11 -07:00
history.h Switch from std::list to std::vector in a few places to reduce compiled code size 2012-07-24 22:32:11 -07:00
input_common.cpp Warning cleanup 2012-08-04 11:34:45 -07:00
input_common.h Lots of work on web config 2012-03-25 16:00:17 -07:00
input.cpp keybindings → key_bindings (for consistency) 2012-10-20 12:15:49 -07:00
input.h Added binding for accepting an autosuggestion 2012-07-15 14:02:34 -07:00
INSTALL Add text to INSTALL describing how to go back to the old shell. 2012-06-10 01:35:30 -07:00
install-sh remove trialing spaces #2 2010-09-18 10:18:26 +08:00
intern.cpp Various changes to reduce fish's compiled code size 2012-07-17 12:47:01 -07:00
intern.h Made intern'd strings thread safe. 2012-01-23 20:02:15 -08:00
internalize_scripts.py Large set of changes related to making fish relocatable, and improving the build and install story. 2012-07-08 15:20:39 -07:00
io.cpp Restore correct order of IO redirections 2012-08-19 14:09:39 -07:00
io.h Restore correct order of IO redirections 2012-08-19 14:09:39 -07:00
iothread.cpp Fix for https://github.com/fish-shell/fish-shell/issues/28 2012-07-09 14:15:55 -07:00
iothread.h Added some fork tests, fixed some bugs it found 2012-02-29 17:55:50 -08:00
key_reader.cpp Make key_reader build and work 2012-05-09 03:30:09 -07:00
kill.cpp Renamed env_vars to env_vars_snapshot_t 2012-07-20 20:39:31 -07:00
kill.h Clean up the kill ring 2012-03-03 21:46:06 -08:00
lru.h Define a virtual destructor for lru.h 2012-05-04 18:37:12 -07:00
make_completions.py Python3 fixes in make_completions.py 2012-06-05 20:40:51 -07:00
make_vcs_completions.fish remove trialing spaces #2 2010-09-18 10:18:26 +08:00
Makefile.in Print autocompletion description after installing 2012-09-19 13:21:49 +05:30
mimedb.cpp Cleaned up lots of typecasts, simplified some string handling 2012-08-04 15:11:43 -07:00
mimedb.h Add header guards to the header files. 2005-10-05 01:11:39 +10:00
output.cpp Remove ellipsis and newlines from long lines 2012-09-18 00:42:11 +05:30
output.h Remove ellipsis and newlines from long lines 2012-09-18 00:42:11 +05:30
parse_util.cpp Additional warnings cleanup, effective C++ violations, dead code removal 2012-08-05 13:24:33 -07:00
parse_util.h Additional warning fixes and migration from int to size_t or long where appropriate 2012-08-04 13:47:56 -07:00
parser_keywords.cpp Changed "elseif" to "else if" 2012-09-03 13:24:01 -07:00
parser_keywords.h Changed "elseif" to "else if" 2012-09-03 13:24:01 -07:00
parser.cpp Fix for issue where else if would fail to pass arguments to commands. Also implements short-circuiting for and/or so that non-existent commands don't produce error messages. 2012-10-17 01:07:34 -07:00
parser.h Changed "elseif" to "else if" 2012-09-03 13:24:01 -07:00
path.cpp Lots of miscellaneous cleanup. Unified the path_get_cd_path, path_allocate_cd_path, etc. functions 2012-07-20 22:11:05 -07:00
path.h Lots of miscellaneous cleanup. Unified the path_get_cd_path, path_allocate_cd_path, etc. functions 2012-07-20 22:11:05 -07:00
postfork.cpp Reintroduce IO transmorgrification (yuck) to fix problems with fish_config and complicated IO redirections 2012-08-22 13:41:21 -07:00
postfork.h Adopt posix_spawn (!) 2012-08-15 00:57:56 -07:00
print_help.cpp Lots of warnings fixes and const correctness 2012-01-14 03:41:50 -08:00
print_help.h Lots of warnings fixes and const correctness 2012-01-14 03:41:50 -08:00
proc.cpp Don't reset the terminal mode in certain circumstances. Fixes issue in Linux with e.g. echo foo ; ftp 2012-10-05 18:23:38 -07:00
proc.h First stab at elseif implementation 2012-09-01 01:46:14 -07:00
reader.cpp Fix to prevent buff_pos from underflowing in reader_kill 2012-10-08 23:47:32 -07:00
reader.h Adopt posix_spawn (!) 2012-08-15 00:57:56 -07:00
README.md Allow setting the prompt from web_config 2012-09-06 01:30:26 -07:00
release_notes.html Updated relnotes 2012-06-05 01:22:25 -07:00
runbash.sh Fixed setting PATH variable in import_bash_settings.py 2012-04-22 00:18:40 +05:30
sanity.cpp Cleaned up lots of typecasts, simplified some string handling 2012-08-04 15:11:43 -07:00
sanity.h Some changes to migrate towards C++ and a multithreaded model 2011-12-26 19:18:46 -08:00
screen.cpp Prevent multi-line prompts from repeating during window resize 2012-10-15 19:25:56 -07:00
screen.h Prevent some cases where garbage gets dumped on the screen during window resize under new soft wrapping architecture 2012-10-02 17:30:07 -07:00
seq.in Merged changes from codemonkey and grissiom branches 2010-11-12 02:07:14 +11:00
set_color.cpp Made set_color with no arguments not complain, so that prompts like Terlar don't produce errors for missing colors. 2012-10-17 01:25:21 -07:00
signal.cpp Real fix for https://github.com/fish-shell/fish-shell/issues/278 2012-08-15 17:32:57 -07:00
signal.h Adopt posix_spawn (!) 2012-08-15 00:57:56 -07:00
tokenizer.cpp Fix to restore an optimization from parse_util_get_line_from_offset in a more thread-safe way 2012-08-04 17:44:14 -07:00
tokenizer.h Fix to restore an optimization from parse_util_get_line_from_offset in a more thread-safe way 2012-08-04 17:44:14 -07:00
user_doc.head.html Replaced references to http://fishshell.org/ with http://ridiculousfish.com/shell/. 2012-08-01 18:09:50 +02:00
util.cpp Warning cleanup 2012-08-04 11:34:45 -07:00
util.h Warning cleanup 2012-08-04 11:34:45 -07:00
wgetopt.cpp Lots of work towards making fish build without warnings on Mountain Lion, mostly in terms of using size_t instead of int 2012-08-04 11:34:45 -07:00
wgetopt.h Replaced references to http://fishshell.org/ with http://ridiculousfish.com/shell/. 2012-08-01 18:09:50 +02:00
wildcard.cpp Make wildcards beginning with dots not match . and .. 2012-10-15 18:16:47 -07:00
wildcard.h Make wildcards beginning with dots not match . and .. 2012-10-15 18:16:47 -07:00
wutil.cpp Additional warning cleanup and switching from int to size_t where appropriate 2012-08-04 11:34:45 -07:00
wutil.h Additional warning cleanup and switching from int to size_t where appropriate 2012-08-04 11:34:45 -07:00
xdgmime.cpp Some initial changes to use CLO_EXEC, with an eye towards some day using it correctly. 2012-03-02 00:27:40 -08:00
xdgmime.h Some changes to migrate towards C++ and a multithreaded model 2011-12-26 19:18:46 -08:00
xdgmimealias.cpp Some initial changes to use CLO_EXEC, with an eye towards some day using it correctly. 2012-03-02 00:27:40 -08:00
xdgmimealias.h Initial revision 2005-09-20 23:26:39 +10:00
xdgmimeglob.cpp Some initial changes to use CLO_EXEC, with an eye towards some day using it correctly. 2012-03-02 00:27:40 -08:00
xdgmimeglob.h Some changes to migrate towards C++ and a multithreaded model 2011-12-26 19:18:46 -08:00
xdgmimeint.cpp Initial C++ conversion 2011-12-26 19:11:54 -08:00
xdgmimeint.h Initial revision 2005-09-20 23:26:39 +10:00
xdgmimemagic.cpp Some initial changes to use CLO_EXEC, with an eye towards some day using it correctly. 2012-03-02 00:27:40 -08:00
xdgmimemagic.h Initial revision 2005-09-20 23:26:39 +10:00
xdgmimeparent.cpp Some initial changes to use CLO_EXEC, with an eye towards some day using it correctly. 2012-03-02 00:27:40 -08:00
xdgmimeparent.h Initial revision 2005-09-20 23:26:39 +10: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/FishsFish/Build/Products/Debug/base/bin/fish

Xcode Build and Install

mkdir /tmp/fish_build
xcodebuild install -target install_tree DSTROOT=/tmp/fish_build
sudo ditto /tmp/fish_build/ /

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.