aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Makefile.in69
-rw-r--r--configure.ac8
-rw-r--r--doc_src/doc.hdr83
-rw-r--r--etc/fish103
-rw-r--r--etc/fish.in (renamed from init/fish.in)10
-rw-r--r--etc/fish_inputrc (renamed from init/fish_inputrc)0
-rw-r--r--fish.spec.in46
-rw-r--r--function.c2
-rw-r--r--init/fish_function.fish37
-rw-r--r--init/fish_interactive.fish.in154
-rw-r--r--main.c1
-rw-r--r--share/completions/apm.fish (renamed from init/completions/apm.fish)0
-rw-r--r--share/completions/apropos.fish (renamed from init/completions/apropos.fish)0
-rw-r--r--share/completions/apt-build.fish (renamed from init/completions/apt-build.fish)0
-rw-r--r--share/completions/apt-cache.fish (renamed from init/completions/apt-cache.fish)0
-rw-r--r--share/completions/apt-cdrom.fish (renamed from init/completions/apt-cdrom.fish)0
-rw-r--r--share/completions/apt-config.fish (renamed from init/completions/apt-config.fish)0
-rw-r--r--share/completions/apt-extracttemplates.fish (renamed from init/completions/apt-extracttemplates.fish)0
-rw-r--r--share/completions/apt-file.fish (renamed from init/completions/apt-file.fish)0
-rw-r--r--share/completions/apt-ftparchive.fish (renamed from init/completions/apt-ftparchive.fish)0
-rw-r--r--share/completions/apt-get.fish (renamed from init/completions/apt-get.fish)0
-rw-r--r--share/completions/apt-key.fish (renamed from init/completions/apt-key.fish)0
-rw-r--r--share/completions/apt-listbugs.fish (renamed from init/completions/apt-listbugs.fish)0
-rw-r--r--share/completions/apt-listchanges.fish (renamed from init/completions/apt-listchanges.fish)0
-rw-r--r--share/completions/apt-move.fish (renamed from init/completions/apt-move.fish)0
-rw-r--r--share/completions/apt-proxy-import.fish (renamed from init/completions/apt-proxy-import.fish)0
-rw-r--r--share/completions/apt-rdepends.fish (renamed from init/completions/apt-rdepends.fish)0
-rw-r--r--share/completions/apt-setup.fish (renamed from init/completions/apt-setup.fish)0
-rw-r--r--share/completions/apt-show-source.fish (renamed from init/completions/apt-show-source.fish)0
-rw-r--r--share/completions/apt-show-versions.fish (renamed from init/completions/apt-show-versions.fish)0
-rw-r--r--share/completions/apt-sortpkgs.fish (renamed from init/completions/apt-sortpkgs.fish)0
-rw-r--r--share/completions/apt-spy.fish (renamed from init/completions/apt-spy.fish)0
-rw-r--r--share/completions/apt-src.fish (renamed from init/completions/apt-src.fish)0
-rw-r--r--share/completions/apt-zip-inst.fish (renamed from init/completions/apt-zip-inst.fish)0
-rw-r--r--share/completions/apt-zip-list.fish (renamed from init/completions/apt-zip-list.fish)0
-rw-r--r--share/completions/arp.fish (renamed from init/completions/arp.fish)0
-rw-r--r--share/completions/at.fish (renamed from init/completions/at.fish)0
-rw-r--r--share/completions/atd.fish (renamed from init/completions/atd.fish)0
-rw-r--r--share/completions/atq.fish (renamed from init/completions/atq.fish)0
-rw-r--r--share/completions/atrm.fish (renamed from init/completions/atrm.fish)0
-rw-r--r--share/completions/bc.fish (renamed from init/completions/bc.fish)0
-rw-r--r--share/completions/btdownloadcurses.py.fish (renamed from init/completions/btdownloadcurses.py.fish)0
-rw-r--r--share/completions/btdownloadheadless.py.fish (renamed from init/completions/btdownloadheadless.py.fish)0
-rw-r--r--share/completions/bunzip2.fish (renamed from init/completions/bunzip2.fish)0
-rw-r--r--share/completions/bzcat.fish (renamed from init/completions/bzcat.fish)0
-rw-r--r--share/completions/bzip2.fish (renamed from init/completions/bzip2.fish)0
-rw-r--r--share/completions/bzip2recover.fish (renamed from init/completions/bzip2recover.fish)0
-rw-r--r--share/completions/cat.fish (renamed from init/completions/cat.fish)0
-rw-r--r--share/completions/cd.fish (renamed from init/completions/cd.fish)0
-rw-r--r--share/completions/chgrp.fish (renamed from init/completions/chgrp.fish)0
-rw-r--r--share/completions/chown.fish (renamed from init/completions/chown.fish)0
-rw-r--r--share/completions/chsh.fish (renamed from init/completions/chsh.fish)0
-rw-r--r--share/completions/commandline.fish (renamed from init/completions/commandline.fish)0
-rw-r--r--share/completions/complete.fish (renamed from init/completions/complete.fish)0
-rw-r--r--share/completions/configure.fish (renamed from init/completions/configure.fish)0
-rw-r--r--share/completions/cut.fish (renamed from init/completions/cut.fish)0
-rw-r--r--share/completions/cvs.fish (renamed from init/completions/cvs.fish)0
-rw-r--r--share/completions/darcs.fish (renamed from init/completions/darcs.fish)0
-rw-r--r--share/completions/date.fish (renamed from init/completions/date.fish)0
-rw-r--r--share/completions/df.fish (renamed from init/completions/df.fish)0
-rw-r--r--share/completions/diff.fish (renamed from init/completions/diff.fish)0
-rw-r--r--share/completions/du.fish (renamed from init/completions/du.fish)0
-rw-r--r--share/completions/echo.fish (renamed from init/completions/echo.fish)0
-rw-r--r--share/completions/elatex.fish (renamed from init/completions/elatex.fish)0
-rw-r--r--share/completions/emacs.fish (renamed from init/completions/emacs.fish)0
-rw-r--r--share/completions/emerge.fish (renamed from init/completions/emerge.fish)0
-rw-r--r--share/completions/etex.fish (renamed from init/completions/etex.fish)0
-rw-r--r--share/completions/fish.fish (renamed from init/completions/fish.fish)0
-rw-r--r--share/completions/function.fish (renamed from init/completions/function.fish)0
-rw-r--r--share/completions/functions.fish (renamed from init/completions/functions.fish)0
-rw-r--r--share/completions/fusermount.fish (renamed from init/completions/fusermount.fish)0
-rw-r--r--share/completions/gcc.fish (renamed from init/completions/gcc.fish)0
-rw-r--r--share/completions/gpg.fish (renamed from init/completions/gpg.fish)0
-rw-r--r--share/completions/gprof.fish (renamed from init/completions/gprof.fish)0
-rw-r--r--share/completions/grep.fish (renamed from init/completions/grep.fish)0
-rw-r--r--share/completions/gunzip.fish (renamed from init/completions/gunzip.fish)0
-rw-r--r--share/completions/gzip.fish (renamed from init/completions/gzip.fish)0
-rw-r--r--share/completions/help.fish (renamed from init/completions/help.fish)0
-rw-r--r--share/completions/id.fish (renamed from init/completions/id.fish)0
-rw-r--r--share/completions/ifconfig.fish (renamed from init/completions/ifconfig.fish)0
-rw-r--r--share/completions/jobs.fish (renamed from init/completions/jobs.fish)0
-rw-r--r--share/completions/kill.fish (renamed from init/completions/kill.fish)0
-rw-r--r--share/completions/la.fish (renamed from init/completions/la.fish)0
-rw-r--r--share/completions/latex.fish (renamed from init/completions/latex.fish)0
-rw-r--r--share/completions/less.fish (renamed from init/completions/less.fish)0
-rw-r--r--share/completions/ll.fish (renamed from init/completions/ll.fish)0
-rw-r--r--share/completions/ls.fish (renamed from init/completions/ls.fish)0
-rw-r--r--share/completions/make.fish (renamed from init/completions/make.fish)0
-rw-r--r--share/completions/makedepend.fish (renamed from init/completions/makedepend.fish)0
-rw-r--r--share/completions/man.fish (renamed from init/completions/man.fish)0
-rw-r--r--share/completions/mimedb.fish (renamed from init/completions/mimedb.fish)0
-rw-r--r--share/completions/modprobe.fish (renamed from init/completions/modprobe.fish)0
-rw-r--r--share/completions/mount.fish (renamed from init/completions/mount.fish)0
-rw-r--r--share/completions/mplayer.fish (renamed from init/completions/mplayer.fish)0
-rw-r--r--share/completions/mv.fish (renamed from init/completions/mv.fish)0
-rw-r--r--share/completions/nextd.fish (renamed from init/completions/nextd.fish)0
-rw-r--r--share/completions/nice.fish (renamed from init/completions/nice.fish)0
-rw-r--r--share/completions/omega.fish (renamed from init/completions/omega.fish)0
-rw-r--r--share/completions/pdfelatex.fish (renamed from init/completions/pdfelatex.fish)0
-rw-r--r--share/completions/pdfetex.fish (renamed from init/completions/pdfetex.fish)0
-rw-r--r--share/completions/pdflatex.fish (renamed from init/completions/pdflatex.fish)0
-rw-r--r--share/completions/pdftex.fish (renamed from init/completions/pdftex.fish)0
-rw-r--r--share/completions/perl.fish (renamed from init/completions/perl.fish)0
-rw-r--r--share/completions/pine.fish (renamed from init/completions/pine.fish)0
-rw-r--r--share/completions/ping.fish (renamed from init/completions/ping.fish)0
-rw-r--r--share/completions/prevd.fish (renamed from init/completions/prevd.fish)0
-rw-r--r--share/completions/ps.fish (renamed from init/completions/ps.fish)0
-rw-r--r--share/completions/pushd.fish (renamed from init/completions/pushd.fish)0
-rw-r--r--share/completions/python.fish (renamed from init/completions/python.fish)0
-rw-r--r--share/completions/read.fish (renamed from init/completions/read.fish)0
-rw-r--r--share/completions/renice.fish (renamed from init/completions/renice.fish)0
-rw-r--r--share/completions/rm.fish (renamed from init/completions/rm.fish)0
-rw-r--r--share/completions/rmdir.fish (renamed from init/completions/rmdir.fish)0
-rw-r--r--share/completions/rpm.fish (renamed from init/completions/rpm.fish)0
-rw-r--r--share/completions/ruby.fish (renamed from init/completions/ruby.fish)0
-rw-r--r--share/completions/scp.fish (renamed from init/completions/scp.fish)0
-rw-r--r--share/completions/screen.fish (renamed from init/completions/screen.fish)0
-rw-r--r--share/completions/sed.fish (renamed from init/completions/sed.fish)0
-rw-r--r--share/completions/service.fish (renamed from init/completions/service.fish)0
-rw-r--r--share/completions/set.fish (renamed from init/completions/set.fish)0
-rw-r--r--share/completions/set_color.fish (renamed from init/completions/set_color.fish)0
-rw-r--r--share/completions/sort.fish (renamed from init/completions/sort.fish)0
-rw-r--r--share/completions/ssh.fish (renamed from init/completions/ssh.fish)0
-rw-r--r--share/completions/sshfs.fish (renamed from init/completions/sshfs.fish)0
-rw-r--r--share/completions/status.fish (renamed from init/completions/status.fish)0
-rw-r--r--share/completions/su.fish (renamed from init/completions/su.fish)0
-rw-r--r--share/completions/sudo.fish (renamed from init/completions/sudo.fish)0
-rw-r--r--share/completions/svn.fish (renamed from init/completions/svn.fish)0
-rw-r--r--share/completions/tar.fish (renamed from init/completions/tar.fish)0
-rw-r--r--share/completions/test.fish (renamed from init/completions/test.fish)0
-rw-r--r--share/completions/tex.fish (renamed from init/completions/tex.fish)0
-rw-r--r--share/completions/time.fish (renamed from init/completions/time.fish)0
-rw-r--r--share/completions/top.fish (renamed from init/completions/top.fish)0
-rw-r--r--share/completions/touch.fish (renamed from init/completions/touch.fish)0
-rw-r--r--share/completions/trap.fish (renamed from init/completions/trap.fish)0
-rw-r--r--share/completions/type.fish (renamed from init/completions/type.fish)0
-rw-r--r--share/completions/ulimit.fish (renamed from init/completions/ulimit.fish)0
-rw-r--r--share/completions/umount.fish (renamed from init/completions/umount.fish)0
-rw-r--r--share/completions/uname.fish (renamed from init/completions/uname.fish)0
-rw-r--r--share/completions/uniq.fish (renamed from init/completions/uniq.fish)0
-rw-r--r--share/completions/valgrind.fish (renamed from init/completions/valgrind.fish)0
-rw-r--r--share/completions/vared.fish (renamed from init/completions/vared.fish)0
-rw-r--r--share/completions/w.fish (renamed from init/completions/w.fish)0
-rw-r--r--share/completions/wc.fish (renamed from init/completions/wc.fish)0
-rw-r--r--share/completions/wget.fish (renamed from init/completions/wget.fish)0
-rw-r--r--share/completions/whatis.fish (renamed from init/completions/whatis.fish)0
-rw-r--r--share/completions/who.fish (renamed from init/completions/who.fish)0
-rw-r--r--share/completions/xprop.fish (renamed from init/completions/xprop.fish)0
-rw-r--r--share/completions/xsel.fish (renamed from init/completions/xsel.fish)0
-rw-r--r--share/completions/yum.fish (renamed from init/completions/yum.fish)0
-rw-r--r--share/completions/zcat.fish (renamed from init/completions/zcat.fish)0
-rw-r--r--share/completions/zip.fish (renamed from init/completions/zip.fish)0
-rw-r--r--share/fish (renamed from init/fish_complete.fish.in)9
-rw-r--r--share/functions/__fish_complete_bittorrent.fish (renamed from init/functions/__fish_complete_bittorrent.fish)0
-rw-r--r--share/functions/__fish_complete_directory.fish (renamed from init/functions/__fish_complete_directory.fish)0
-rw-r--r--share/functions/__fish_complete_ls.fish (renamed from init/functions/__fish_complete_ls.fish)0
-rw-r--r--share/functions/__fish_complete_man.fish (renamed from init/functions/__fish_complete_man.fish)0
-rw-r--r--share/functions/__fish_complete_pids.fish (renamed from init/functions/__fish_complete_pids.fish)0
-rw-r--r--share/functions/__fish_complete_ssh.fish (renamed from init/functions/__fish_complete_ssh.fish)0
-rw-r--r--share/functions/__fish_complete_subcommand.fish (renamed from init/functions/__fish_complete_subcommand.fish)0
-rw-r--r--share/functions/__fish_complete_suffix.fish (renamed from init/functions/__fish_complete_suffix.fish)0
-rw-r--r--share/functions/__fish_complete_tex.fish (renamed from init/functions/__fish_complete_tex.fish)0
-rw-r--r--share/functions/__fish_contains_opt.fish (renamed from init/functions/__fish_contains_opt.fish)0
-rw-r--r--share/functions/__fish_describe_command.fish (renamed from init/functions/__fish_describe_command.fish)0
-rw-r--r--share/functions/__fish_gnu_complete.fish (renamed from init/functions/__fish_gnu_complete.fish)0
-rw-r--r--share/functions/__fish_is_first_token.fish (renamed from init/functions/__fish_is_first_token.fish)0
-rw-r--r--share/functions/__fish_list_current_token.fish (renamed from init/functions/__fish_list_current_token.fish)0
-rw-r--r--share/functions/__fish_move_last.fish (renamed from init/functions/__fish_move_last.fish)0
-rw-r--r--share/functions/__fish_no_arguments.fish (renamed from init/functions/__fish_no_arguments.fish)0
-rw-r--r--share/functions/__fish_print_filesystems.fish (renamed from init/functions/__fish_print_filesystems.fish)0
-rw-r--r--share/functions/__fish_print_hostnames.fish (renamed from init/functions/__fish_print_hostnames.fish)0
-rw-r--r--share/functions/__fish_print_packages.fish (renamed from init/functions/__fish_print_packages.fish)0
-rw-r--r--share/functions/cd.fish (renamed from init/functions/cd.fish)0
-rw-r--r--share/functions/contains.fish (renamed from init/functions/contains.fish)0
-rw-r--r--share/functions/delete-or-exit.fish15
-rw-r--r--share/functions/dirh.fish (renamed from init/functions/dirh.fish)0
-rw-r--r--share/functions/dirs.fish (renamed from init/functions/dirs.fish)0
-rw-r--r--share/functions/fish_prompt.fish (renamed from init/functions/fish_prompt.fish)0
-rw-r--r--share/functions/help.fish (renamed from init/functions/help.fish)0
-rw-r--r--share/functions/la.fish (renamed from init/functions/la.fish)0
-rw-r--r--share/functions/ll.fish (renamed from init/functions/ll.fish)0
-rw-r--r--share/functions/ls.fish (renamed from init/functions/ls.fish)0
-rw-r--r--share/functions/nextd-or-forward-word.fish8
-rw-r--r--share/functions/nextd.fish (renamed from init/functions/nextd.fish)0
-rw-r--r--share/functions/open.fish (renamed from init/functions/open.fish)0
-rw-r--r--share/functions/popd.fish (renamed from init/functions/popd.fish)0
-rw-r--r--share/functions/prevd-or-backward-word.fish8
-rw-r--r--share/functions/prevd.fish (renamed from init/functions/prevd.fish)0
-rw-r--r--share/functions/prompt_pwd.fish (renamed from init/functions/prompt_pwd.fish)0
-rw-r--r--share/functions/psub.fish (renamed from init/functions/psub.fish)0
-rw-r--r--share/functions/pushd.fish (renamed from init/functions/pushd.fish)0
-rw-r--r--share/functions/pwd.fish (renamed from init/functions/pwd.fish)0
-rw-r--r--share/functions/trap.fish (renamed from init/functions/trap.fish)0
-rw-r--r--share/functions/type.fish (renamed from init/functions/type.fish)0
-rw-r--r--share/functions/umask.fish (renamed from init/functions/umask.fish)0
-rw-r--r--share/functions/vared.fish (renamed from init/functions/vared.fish)0
196 files changed, 300 insertions, 253 deletions
diff --git a/Makefile.in b/Makefile.in
index 0044ee05..fe0dd5fc 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -48,13 +48,11 @@ datadir = @datadir@
bindir = @bindir@
mandir = @mandir@
sysconfdir = @sysconfdir@
-fishdir = @fishdir@
-fishfile = @fishfile@
fishinputfile = @fishinputfile@
docdir = @docdir@
-#Init files to install
-INIT_DIR_INSTALL = init/fish_interactive.fish init/fish_function.fish init/fish_complete.fish
+#etc files to install
+ETC_DIR_INSTALL = etc/fish_interactive.fish etc/fish_function.fish
# Set to 1 if we have gettext
HAVE_GETTEXT=@HAVE_GETTEXT@
@@ -162,18 +160,20 @@ MAIN_DIR_FILES := Doxyfile Doxyfile.user Makefile.in configure \
user_doc.head.html xsel-0.9.6.tar ChangeLog config.sub \
config.guess fish_tests.c main.c fish_pager.c fishd.c seq.in
-# Files in ./init/
-INIT_DIR_FILES :=init/fish.in init/fish_complete.fish.in \
- init/fish_function.fish init/fish_inputrc \
- init/fish_interactive.fish.in
+# Files in ./etc/
+ETC_DIR_FILES :=etc/fish.in etc/fish_function.fish etc/fish_inputrc \
+ etc/fish_interactive.fish.in
+
+# Files in ./share/
+SHARE_DIR_FILES :=share/fish
# Files in ./tests/
TESTS_DIR_FILES := $(TEST_IN) $(TEST_IN:.in=.out) $(TEST_IN:.in=.err) \
$(TEST_IN:.in=.status) tests/test.fish tests/gen_output.fish
-COMPLETIONS_DIR_FILES := $(wildcard init/completions/*.fish)
+COMPLETIONS_DIR_FILES := $(wildcard share/completions/*.fish)
-FUNCTIONS_DIR_FILES := $(wildcard init/functions/*.fish)
+FUNCTIONS_DIR_FILES := $(wildcard share/functions/*.fish)
# Programs to build
PROGRAMS:=fish set_color @XSEL@ @SEQ_FALLBACK@ mimedb count fish_pager fishd
@@ -266,10 +266,10 @@ doc.h:$(BUILTIN_DOC_SRC) $(CMD_DOC_SRC) doc_src/doc.hdr
fi
# Create a template translation object
-messages.pot: *.c *.h init/*.in init/*.fish init/completions/*.fish init/functions/*.fish seq
+messages.pot: *.c *.h etc/*.in etc/*.fish share/*.in share/completions/*.fish share/functions/*.fish seq
if test $(HAVE_GETTEXT) = 1;then \
xgettext -k_ -kN_ -kcomplete_desc *.c *.h -o messages.pot; \
- if ! xgettext -j -k_ -LShell init/*.in init/*.fish init/functions/*.fish init/completions/*.fish seq -o messages.pot; then \
+ if ! xgettext -j -k_ -LShell etc/*.in etc/*.fish share/*.in share/completions/*.fish share/functions/*.fish seq -o messages.pot; then \
echo "Your xgettext version is too old to build the messages.pot file"\
rm messages.pot\
false;\
@@ -348,20 +348,22 @@ install: all install-translations
for i in $(PROGRAMS); do\
$(INSTALL) -m 755 $$i $(DESTDIR)$(bindir) ; \
done;
- $(INSTALL) -m 755 -d $(DESTDIR)$(sysconfdir)$(fishdir)
- $(INSTALL) -m 755 -d $(DESTDIR)$(sysconfdir)$(fishdir)/completions
- $(INSTALL) -m 755 -d $(DESTDIR)$(sysconfdir)$(fishdir)/functions
- $(INSTALL) -m 644 init/fish $(DESTDIR)$(sysconfdir)$(fishfile)
- for i in $(INIT_DIR_INSTALL); do \
- $(INSTALL) -m 644 $$i $(DESTDIR)$(sysconfdir)$(fishdir); \
+ $(INSTALL) -m 755 -d $(DESTDIR)$(sysconfdir)/fish.d
+ $(INSTALL) -m 755 -d $(DESTDIR)$(datadir)/fish
+ $(INSTALL) -m 755 -d $(DESTDIR)$(datadir)/fish/completions
+ $(INSTALL) -m 755 -d $(DESTDIR)$(datadir)/fish/functions
+ $(INSTALL) -m 644 etc/fish $(DESTDIR)$(sysconfdir)/fish
+ $(INSTALL) -m 644 share/fish $(DESTDIR)$(datadir)/fish
+ for i in $(ETC_DIR_INSTALL); do \
+ $(INSTALL) -m 644 $$i $(DESTDIR)$(sysconfdir)/fish.d; \
done;
for i in $(COMPLETIONS_DIR_FILES); do \
- $(INSTALL) -m 644 $$i $(DESTDIR)$(sysconfdir)$(fishdir)/completions/; \
+ $(INSTALL) -m 644 $$i $(DESTDIR)$(datadir)/fish/completions/; \
done;
for i in $(FUNCTIONS_DIR_FILES); do \
- $(INSTALL) -m 644 $$i $(DESTDIR)$(sysconfdir)$(fishdir)/functions/; \
+ $(INSTALL) -m 644 $$i $(DESTDIR)$(datadir)/fish/functions/; \
done;
- $(INSTALL) -m 644 init/fish_inputrc $(DESTDIR)$(sysconfdir)$(fishinputfile);
+ $(INSTALL) -m 644 etc/fish_inputrc $(DESTDIR)$(sysconfdir)/fish_inputrc;
$(INSTALL) -m 755 -d $(DESTDIR)$(docdir)
for i in user_doc/html/* ChangeLog; do \
if test -f $$i; then \
@@ -387,9 +389,10 @@ uninstall: uninstall-translations
rm -f $(DESTDIR)$(bindir)/$$i; \
done;
rm -f $(DESTDIR)$(bindir)/xsel
- rm -f $(DESTDIR)$(sysconfdir)$(fishfile)
- rm -f $(DESTDIR)$(sysconfdir)$(fishinputfile)
- rm -r $(DESTDIR)$(sysconfdir)$(fishdir)
+ rm -f $(DESTDIR)$(sysconfdir)/fish
+ rm -f $(DESTDIR)$(sysconfdir)/fish_inputrc
+ rm -r $(DESTDIR)$(sysconfdir)/fish.d
+ rm -r $(DESTDIR)$(datadir)/fish
rm -r $(DESTDIR)$(docdir)
for i in fish.1* @XSEL_MAN@ mimedb.1* fishd.1* set_color.1* count.1*; do \
rm $(DESTDIR)$(mandir)/man1/$$i; \
@@ -458,20 +461,22 @@ depend:
#
# Uses install instead of mkdir so build won't fail if the directory
# exists
-fish-@PACKAGE_VERSION@.tar: $(DOC_SRC_DIR_FILES) $(MAIN_DIR_FILES) $(INIT_DIR_FILES) $(TEST_DIR_FILES) $(FUNCTIONS_DIR_FILES) $(COMPLETIONS_DIR_FILES) ChangeLog
+fish-@PACKAGE_VERSION@.tar: $(DOC_SRC_DIR_FILES) $(MAIN_DIR_FILES) $(ETC_DIR_FILES) $(TEST_DIR_FILES) $(FUNCTIONS_DIR_FILES) $(COMPLETIONS_DIR_FILES) ChangeLog
rm -rf fish-@PACKAGE_VERSION@
$(INSTALL) -d fish-@PACKAGE_VERSION@
$(INSTALL) -d fish-@PACKAGE_VERSION@/doc_src
- $(INSTALL) -d fish-@PACKAGE_VERSION@/init
- $(INSTALL) -d fish-@PACKAGE_VERSION@/init/completions
- $(INSTALL) -d fish-@PACKAGE_VERSION@/init/functions
+ $(INSTALL) -d fish-@PACKAGE_VERSION@/etc
+ $(INSTALL) -d fish-@PACKAGE_VERSION@/share
+ $(INSTALL) -d fish-@PACKAGE_VERSION@/share/completions
+ $(INSTALL) -d fish-@PACKAGE_VERSION@/share/functions
$(INSTALL) -d fish-@PACKAGE_VERSION@/tests
$(INSTALL) -d fish-@PACKAGE_VERSION@/po
cp -f $(DOC_SRC_DIR_FILES) fish-@PACKAGE_VERSION@/doc_src
cp -f $(MAIN_DIR_FILES) fish-@PACKAGE_VERSION@/
- cp -f $(INIT_DIR_FILES) fish-@PACKAGE_VERSION@/init/
- cp -f $(COMPLETIONS_DIR_FILES) fish-@PACKAGE_VERSION@/init/completions/
- cp -f $(FUNCTIONS_DIR_FILES) fish-@PACKAGE_VERSION@/init/functions/
+ cp -f $(ETC_DIR_FILES) fish-@PACKAGE_VERSION@/etc/
+ cp -f $(SHARE_DIR_FILES) fish-@PACKAGE_VERSION@/share/
+ cp -f $(COMPLETIONS_DIR_FILES) fish-@PACKAGE_VERSION@/share/completions/
+ cp -f $(FUNCTIONS_DIR_FILES) fish-@PACKAGE_VERSION@/share/functions/
cp -f $(TESTS_DIR_FILES) fish-@PACKAGE_VERSION@/tests/
cp -f $(TRANSLATIONS_SRC) fish-@PACKAGE_VERSION@/po/
tar -c fish-@PACKAGE_VERSION@ >fish-@PACKAGE_VERSION@.tar
@@ -499,7 +504,7 @@ rpm: fish-@PACKAGE_VERSION@.tar.bz2
distclean: clean
rm -f fish.spec doc_src/fish.1 doc_src/Doxyfile
- rm -f init/fish init/fish_interactive.fish init/fish_complete.fish
+ rm -f etc/fish etc/fish_interactive.fish share/fish
rm -f config.status config.log config.h Makefile
.PHONY: distclean
diff --git a/configure.ac b/configure.ac
index 90b47f84..2d49994f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -104,10 +104,6 @@ else
AC_SUBST( PREFIX, [$prefix])
fi
-AC_SUBST(fishdir,[/fish.d])
-AC_SUBST(fishfile,[/fish])
-AC_SUBST(fishinputfile,[/fish_inputrc])
-
AC_ARG_VAR( [docdir], [Documentation direcotry] )
if test -z $docdir; then
@@ -116,7 +112,9 @@ fi
AC_DEFINE_UNQUOTED( DOCDIR, [L"$(eval echo $docdir)"], [Documentation directory] )
AC_DEFINE_UNQUOTED( SYSCONFDIR, [L"$(eval echo $sysconfdir)"], [System configuration directory] )
+AC_DEFINE_UNQUOTED( DATADIR, [L"$(eval echo $datadir)"], [System configuration directory] )
AC_SUBST( SYSCONFDIR, ["$(eval echo $sysconfdir)"] )
+AC_SUBST( DATADIR, ["$(eval echo $datadir)"] )
# Set up locale directory
AC_DEFINE_UNQUOTED( [LOCALEDIR], "$(eval echo $datadir)/locale", [Locale directory])
@@ -235,7 +233,7 @@ fi
# Check if we have ncurses, and use it rather than curses if possible.
AC_SEARCH_LIBS( setupterm, [ncurses curses], [ AC_MSG_NOTICE([Found curses implementation])], [AC_MSG_ERROR([Could not find a curses implementation, needed to build fish])] )
-AC_CONFIG_FILES([Makefile fish.spec doc_src/fish.1 doc_src/Doxyfile init/fish init/fish_interactive.fish init/fish_complete.fish seq])
+AC_CONFIG_FILES([Makefile fish.spec doc_src/fish.1 doc_src/Doxyfile etc/fish etc/fish_interactive.fish seq])
AC_OUTPUT
echo "Now run 'make' and 'make install' to built and install fish."
diff --git a/doc_src/doc.hdr b/doc_src/doc.hdr
index 82db951e..3ee8866e 100644
--- a/doc_src/doc.hdr
+++ b/doc_src/doc.hdr
@@ -216,6 +216,42 @@ the <a href="builtins.html#fg">fg</a> command.
To get a listing of all currently started jobs, use the <a
href="builtins.html#jobs">jobs</a> command.
+\subsection syntax-function Shellscript functions
+
+Functions are used to group together commands and arguments
+using a single name. For example, the following is a function
+definition that calls the command 'ls -l' to print a detailed listing
+of the contents of the current directory:
+
+<pre>
+function ll
+ ls -l $argv
+end
+</pre>
+
+The first line tells fish that a function by the name of ll is to be
+defined. To use it, simply write <code>ll</code> on the
+commandline. The second line tells fish that the command <code>ls -l
+$argv</code> should be called when ll is invoked. $argv is an array
+variable, which always contains all arguments sent to the function. In
+the example above, these are simply passed on to the ls command. For
+more information on functions, see the documentation for the <a
+href='builtin.html#function'>function builtin</a>.
+
+Functions can be defined on the commandline or in a configuration
+file, but they can also be automatically loaded. Fish automatically
+searches through any directories in the array variable
+\$fish_function_path, and any functions defined are automatically
+loaded when needed. A function definition file must have a filename
+consisting of the name of the function and the suffix '.fish'.
+
+The default value for \$fish_function_path is ~/.fish.d/functions,
+/etc/fish.d/functions /usr/share/fish/functions. The exact path to the
+last two of these may be slighly different depending on what install
+path prefix was chosen at configuration time. The rationale behind
+having three different directories is that the first one is for user
+specific functions, the second one is for system-wide additional
+functions and the last one is for default fish functions.
\subsection syntax-words Some common words
@@ -313,17 +349,33 @@ href="builtins.html#complete">complete</a> builtin, or write 'complete
--help' inside the \c fish shell.
For examples of how to write your own complex completions, study the
-completions in /etc/fish.d/completions (or ~/etc/fish.d/completions if
-you installed fish in your home directory).
-
-If you wish to use a completion, you should consider adding it to your
-startup files. When completion has been requested for a command \c
-COMMAND, fish will automatically look for the file
-~/.fish.d/completions/COMMAND.fish. If it exists, it will be
-automatically loaded. If you have written new completions for a common
+completions in /usr/share/fish/completions. (The exact path depends on
+your chosen installation prefix and may be slightly different)
+
+\subsection completion-path Where to put completions
+
+Completions can be defined on the commandline or in a configuration
+file, but they can also be automatically loaded. Fish automatically
+searches through any directories in the array variable
+\$fish_complete_path, and any completions defined are automatically
+loaded when needed. A completion file must have a filename consisting
+of the name of the command to complete and the suffix '.fish'.
+
+The default value for \$fish_complete_path is ~/.fish.d/completions,
+/etc/fish.d/completions and /usr/share/fish/completions. The exact
+path to the last two of these may be slighly different depending on
+what install path prefix was chosen at configuration time. If a
+suitable file is found in one of these directories, it will be
+automatically loaded and the search will be stopped. The rationale
+behind having three different directories is that the first one is for
+user specific completions, the second one is for system-wide
+completions and the last one is for default fish completions.
+
+If you have written new completions for a common
Unix command, please consider sharing your work by sending it to <a
href='mailto: fish-users@lists.sf.net'>the fish mailinglist</a>.
+
\section expand Parameter expansion (Globbing)
When an argument for a program is given on the commandline, it
@@ -878,12 +930,15 @@ which the user can change <code>fish</code>'s behaviour.
\section initialization Initialization files
-On startup, \c fish evaluates the file /etc/fish (Or ~/etc/fish if you
-installed fish in your home directory) and ~/.fish, in that order. If
-you want to run a command only on starting an interactive shell, use
-the exit status of the command 'status --is-interactive' to determine
-if the shell is interactive. If you want to run a command only when
-using a login shell, use 'status --is-login' instead.
+On startup, \c fish evaluates the files /usr/share/fish/fish,
+/etc/fish (Or ~/etc/fish if you installed fish in your home directory)
+and ~/.fish, in that order. The first file should not be directly
+edited, the second one is meant for systemwide configuration and the
+last one is meant for user configuration. If you want to run a command
+only on starting an interactive shell, use the exit status of the
+command 'status --is-interactive' to determine if the shell is
+interactive. If you want to run a command only when using a login
+shell, use 'status --is-login' instead.
Examples:
diff --git a/etc/fish b/etc/fish
new file mode 100644
index 00000000..8c170a6c
--- /dev/null
+++ b/etc/fish
@@ -0,0 +1,103 @@
+#
+# Init file for fish
+#
+# etc/fish. Generated from fish.in by configure.
+
+#
+# Set default search paths
+#
+
+set -g fish_function_path /usr/share/functions /etc/fish.d/functions ~/.fish.d/functions
+set -g fish_complete_path /usr/share/completions /etc/fish.d/completions ~/.fish.d/completions
+
+#
+# Set default field separators
+#
+
+set -g IFS \ \t\n
+
+#
+# Add a few common directories to path, if they exists. Note that pure
+# console programs like makedep sometimes live in /usr/X11R6/bin, so we
+# want this even for text-only terminals.
+#
+
+set -l path_list /bin /usr/bin /usr/X11R6/bin /usr/bin /sw/bin
+
+# Root should also have the sbin directories in the path
+if test "$USER" = root
+ set path_list $path_list /sbin /usr/sbin /usr/local/sbin
+end
+
+for i in $path_list
+ if not expr "$PATH" : .\*$i.\* >/dev/null
+ if test -d $i
+ set PATH $PATH $i
+ end
+ end
+end
+
+
+#
+# Set some value for LANG if nothing was set before, and this is a
+# login shell. Also check for i18n information in /etc/sysconfig/i18n
+#
+
+if status --is-login
+ if not set -q LANG >/dev/null
+ set -gx LANG en_US.UTF-8
+ end
+
+ if test -f /etc/sysconfig/i18n
+ eval (cat /etc/sysconfig/i18n |sed -ne 's/^\([a-zA-Z]*\)=\(.*\)$/set -gx \1 \2;/p')
+ end
+end
+
+
+#
+# Put linux console in unicode mode. Should this be done in any other
+# situation as well?
+#
+
+if expr "$LANG" : ".*[Uu][Tt][Ff]" >/dev/null
+ if test linux = "$TERM"
+ unicode_start ^/dev/null
+ end
+end
+
+
+#
+# There are variables that contain colons that are not arrays. This
+# reverts them back to regular strings.
+#
+
+for i in DISPLAY
+ if set -q $i
+ set -- $i (printf ":%s" $$i|cut -c 2-)
+ end
+end
+
+#
+# Alias for gettext (or a fallback if gettext isn't installed) This
+# needs to be defined here and not in fish_function.fish, since it is
+# used by other init files.
+#
+
+function _ -d "Alias for the gettext command"
+ printf "%s" $argv
+end
+if test 1 = "1"
+ if which gettext ^/dev/null >/dev/null
+ function _ -d "Alias for the gettext command"
+ gettext fish $argv
+ end
+ end
+end
+
+#
+# Load additional initialization files
+#
+
+for i in fish.d/*.fish
+ . $i
+end
diff --git a/init/fish.in b/etc/fish.in
index fe32960e..b010c31a 100644
--- a/init/fish.in
+++ b/etc/fish.in
@@ -4,11 +4,17 @@
# @configure_input@
#
+# Set default search paths
+#
+
+set -g fish_function_path ~/.fish.d/functions @SYSCONFDIR@/fish.d/functions @DATADIR@/functions
+set -g fish_complete_path ~/.fish.d/completions @SYSCONFDIR@/fish.d/completions @DATADIR@/completions
+
+#
# Set default field separators
#
set -g IFS \ \t\n
-set -g fish_function_path $PWD/fish.d/functions ~/.fish.d/functions
#
# Add a few common directories to path, if they exists. Note that pure
@@ -53,7 +59,7 @@ end
# situation as well?
#
-if expr "$LANG" : ".*UTF" >/dev/null
+if expr "$LANG" : ".*[Uu][Tt][Ff]" >/dev/null
if test linux = "$TERM"
unicode_start ^/dev/null
end
diff --git a/init/fish_inputrc b/etc/fish_inputrc
index fefdd55e..fefdd55e 100644
--- a/init/fish_inputrc
+++ b/etc/fish_inputrc
diff --git a/fish.spec.in b/fish.spec.in
index 3ce51b7e..a7c9802f 100644
--- a/fish.spec.in
+++ b/fish.spec.in
@@ -13,40 +13,65 @@ Source0: http://roo.no-ip.org/%{name}/files/%{version}/%{name}-%{
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: doxygen ncurses-devel xorg-x11-devel
+
+
+
%description
fish is a shell geared towards interactive use. It's features are
focused on user friendlieness and discoverability. The language syntax
is simple but incompatible with other shell languages.
+
+
+
%prep
%setup -q
-%build
+
+
+%build
%configure docdir=%_datadir/doc/%{name}-%{version}
make %{?_smp_mflags}
+
+
+
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR="$RPM_BUILD_ROOT"
+
+
+
%clean
rm -rf $RPM_BUILD_ROOT
+
+
+
%post
if ! grep %_bindir/fish %_sysconfdir/shells >/dev/null; then
echo %_bindir/fish >>%_sysconfdir/shells
fi
+
+
+
%postun
if [ "$1" = 0 ]; then
grep -v %_bindir/fish %_sysconfdir/shells >%_sysconfdir/fish.tmp
mv %_sysconfdir/fish.tmp %_sysconfdir/shells
fi
+
+
+
%files
%defattr(-,root,root,-)
+
%doc %_datadir/doc/%{name}-%{version}
+
%_mandir/man1/fish.1*
%_mandir/man1/xsel.1x*
%_mandir/man1/mimedb.1*
@@ -54,6 +79,7 @@ fi
%_mandir/man1/count.1*
%_mandir/man1/fishd.1*
%_mandir/man1/fish_pager.1*
+
%attr(0755,root,root) %_bindir/fish
%attr(0755,root,root) %_bindir/fishd
%attr(0755,root,root) %_bindir/fish_pager
@@ -61,16 +87,26 @@ fi
%attr(0755,root,root) %_bindir/set_color
%attr(0755,root,root) %_bindir/mimedb
%attr(0755,root,root) %_bindir/count
+
%config %_sysconfdir/fish
%config %_sysconfdir/fish_inputrc
%dir %_sysconfdir/fish.d
%config %_sysconfdir/fish.d/fish_*.fish
-%dir %_sysconfdir/fish.d/completions
-%config %_sysconfdir/fish.d/completions/*.fish
-%dir %_sysconfdir/fish.d/functions
-%config %_sysconfdir/fish.d/functions/*.fish
+
+%dir %_datadir/fish
+%_datadir/fish/fish
+
+%dir %_datadir/fish/completions
+%_datadir/fish/completions/*.fish
+
+%dir %_datadir/fish/functions
+%_datadir/fish/functions/*.fish
+
%_datadir/locale/*/LC_MESSAGES/fish.mo
+
+
+
%changelog
* Tue Nov 29 2005 Axel Liljencrantz <axel@liljencrantz.se> 1.17.0-0
- 1.17.0
diff --git a/function.c b/function.c
index 661f71f2..02f03496 100644
--- a/function.c
+++ b/function.c
@@ -102,7 +102,7 @@ static void autoload_names( array_list_t *out, int get_hidden )
suffix = wcsrchr( fn, L'.' );
if( suffix && (wcscmp( suffix, L".fish" ) == 0 ) )
{
- wchar_t *dup;
+ const wchar_t *dup;
*suffix = 0;
dup = intern( fn );
if( !dup )
diff --git a/init/fish_function.fish b/init/fish_function.fish
deleted file mode 100644
index 0c065273..00000000
--- a/init/fish_function.fish
+++ /dev/null
@@ -1,37 +0,0 @@
-
-#
-# Print the current working directory in a shortened form. This
-# function is used by the default prompt command.
-#
-
-function prevd-or-backward-word --key-binding
- if test -z (commandline)
- prevd
- else
- commandline -f backward-word
- end
-end
-
-function nextd-or-forward-word --key-binding
- if test -z (commandline)
- nextd
- else
- commandline -f forward-word
- end
-end
-
-#
-# This function deletes a character from the commandline if it is
-# non-empty, and exits the shell otherwise. Implementing this
-# functionality has been a longstanding request from various
-# fish-users.
-#
-
-function delete-or-exit --key-binding
- if test (commandline)
- commandline -f delete-char
- else
- exit
- end
-end
-
diff --git a/init/fish_interactive.fish.in b/init/fish_interactive.fish.in
deleted file mode 100644
index bbd89ab9..00000000
--- a/init/fish_interactive.fish.in
+++ /dev/null
@@ -1,154 +0,0 @@
-#
-# Initializations that should only be performed when in interactive mode
-#
-# @configure_input@
-
-if not status --is-interactive
- exit
-end
-
-#
-# Print a greeting
-#
-
-printf (_ 'Welcome to fish, the friendly interactive shell\n')
-printf (_ 'Type %shelp%s for instructions on how to use fish\n') (set_color green) (set_color normal)
-
-#
-# Set exit message
-#
-
-function fish_on_exit -d (_ "Commands to execute when fish exits") --on-process %self
- printf (_ "Good bye\n")
-end
-
-#
-# Set INPUTRC to something nice
-#
-# We override INPUTRC if already set, since it may be set by a shell
-# other than fish, which may use a different file. The new value should
-# be exported, since the fish inputrc file plays nice with other files
-# by including them when found.
-# Give priority to the default file installed with fish in
-# @SYSCONFDIR@/fish_inputrc.
-#
-
-for i in ~/.fish_inputrc @SYSCONFDIR@/fish_inputrc ~/.inputrc /etc/inputrc
- if test -f $i
- set -xg INPUTRC $i
- break
- end
-end
-
-
-#
-# Set various color values
-#
-
-function set_default -d "Set an exported universal variable, unless it has already been set"
- if not set -q $argv[1]
- set -Ux -- $argv
- end
-end
-
-function set_exported_default -d "Set an exported universal variable, unless it has already been set"
- if not set -q $argv[1]
- set -Ux -- $argv
- end
-end
-
-
-# Regular syntax highlighting colors
-set_default fish_color_normal normal
-set_default fish_color_command green
-set_default fish_color_redirection normal
-set_default fish_color_comment brown
-set_default fish_color_error red
-
-set_default fish_color_cwd green
-
-# Background color for matching quotes and parenthesis
-set_default fish_color_match cyan
-
-# Background color for search matches
-set_default fish_color_search_match purple
-
-# Pager colors
-set_default fish_pager_color_prefix cyan
-set_default fish_pager_color_completion normal
-set_default fish_pager_color_description normal
-set_default fish_pager_color_progress cyan
-
-# Directory history colors
-set_default fish_color_history_current cyan
-
-
-#
-# Setup the CDPATH variable
-#
-
-set_default CDPATH . ~
-
-#
-# Match colors for grep, if supported
-#
-
-if grep --color=auto --help 1>/dev/null 2>/dev/null
- set_exported_default GREP_COLOR '97;45'
- set_exported_default GREP_OPTIONS '--color=auto'
-end
-
-#
-# Color definitions for ls, if supported
-#
-
-if command ls --color=auto --help 1>/dev/null 2>/dev/null
-
- set -l color_document 35
- set -l color_image '01;35'
- set -l color_sound '01;35'
- set -l color_video '01;35'
- set -l color_archive '01;31'
- set -l color_command '01;32'
- set -l color_backup 37
-
- set -l default no=00 fi=00 'di=01;34' 'ln=01;36' 'pi=40;33' 'so=01;35' 'bd=40;33;01' 'cd=40;33;01' 'or=01;05;37;41' 'mi=01;05;37;41' ex=$color_command
-
- for i in .cmd .exe .com .btm .bat .sh .csh .fish
- set default $default "*$i=$color_command"
- end
-
- for i in .tar .tgz .arj .taz .lhz .zip .z .Z .gz .bz2 .bz .tz .rpm .cpio .jar .deb .rar .bin .hqx
- set default $default "*$i=$color_archive"
- end
-
- for i in .jpg .jpeg .gif .bmp .xbm .xpm .png .tif
- set default $default "*$i=$color_image"
- end
-
- for i in .mp3 .au .wav .aiff .ogg .wma
- set default $default "*$i=$color_sound"
- end
-
- for i in .avi .mpeg .mpg .divx .mov .qt .wmv .rm
- set default $default "*$i=$color_video"
- end
-
- for i in .htm .html .rtf .wpd .doc .pdf .ps .xls .swf .txt .tex .sxw .dvi INSTALL README ChangeLog
- set default $default "*$i=$color_document"
- end
-
- for i in '~' .bak
- set default $default "*$i=$color_backup"
- end
-
- set -gx LS_COLORS $default
-end
-
-
-#
-# Remove temporary functions
-#
-
-functions -e set_exported_default
-functions -e set_default
diff --git a/main.c b/main.c
index 0258f8f2..0da1d562 100644
--- a/main.c
+++ b/main.c
@@ -75,6 +75,7 @@ static int read_init()
env_set( L"__fish_help_dir", DOCDIR, 0);
+ eval( L"builtin cd " DATADIR L" 2>/dev/null; . fish 2>/dev/null", 0, TOP );
eval( L"builtin cd " SYSCONFDIR L" 2>/dev/null; . fish 2>/dev/null", 0, TOP );
eval( L"builtin cd 2>/dev/null;. .fish 2>/dev/null", 0, TOP );
diff --git a/init/completions/apm.fish b/share/completions/apm.fish
index 40f3699f..40f3699f 100644
--- a/init/completions/apm.fish
+++ b/share/completions/apm.fish
diff --git a/init/completions/apropos.fish b/share/completions/apropos.fish
index 18c3ab57..18c3ab57 100644
--- a/init/completions/apropos.fish
+++ b/share/completions/apropos.fish
diff --git a/init/completions/apt-build.fish b/share/completions/apt-build.fish
index 9a1387cb..9a1387cb 100644
--- a/init/completions/apt-build.fish
+++ b/share/completions/apt-build.fish
diff --git a/init/completions/apt-cache.fish b/share/completions/apt-cache.fish
index ea8c90fe..ea8c90fe 100644
--- a/init/completions/apt-cache.fish
+++ b/share/completions/apt-cache.fish
diff --git a/init/completions/apt-cdrom.fish b/share/completions/apt-cdrom.fish
index 83aead2c..83aead2c 100644
--- a/init/completions/apt-cdrom.fish
+++ b/share/completions/apt-cdrom.fish
diff --git a/init/completions/apt-config.fish b/share/completions/apt-config.fish
index 1e910bce..1e910bce 100644
--- a/init/completions/apt-config.fish
+++ b/share/completions/apt-config.fish
diff --git a/init/completions/apt-extracttemplates.fish b/share/completions/apt-extracttemplates.fish
index f3bdb66d..f3bdb66d 100644
--- a/init/completions/apt-extracttemplates.fish
+++ b/share/completions/apt-extracttemplates.fish
diff --git a/init/completions/apt-file.fish b/share/completions/apt-file.fish
index 62d2f1b0..62d2f1b0 100644
--- a/init/completions/apt-file.fish
+++ b/share/completions/apt-file.fish
diff --git a/init/completions/apt-ftparchive.fish b/share/completions/apt-ftparchive.fish
index 556cd877..556cd877 100644
--- a/init/completions/apt-ftparchive.fish
+++ b/share/completions/apt-ftparchive.fish
diff --git a/init/completions/apt-get.fish b/share/completions/apt-get.fish
index de6e3013..de6e3013 100644
--- a/init/completions/apt-get.fish
+++ b/share/completions/apt-get.fish
diff --git a/init/completions/apt-key.fish b/share/completions/apt-key.fish
index 0e5dc2e4..0e5dc2e4 100644
--- a/init/completions/apt-key.fish
+++ b/share/completions/apt-key.fish
diff --git a/init/completions/apt-listbugs.fish b/share/completions/apt-listbugs.fish
index 7c2175dd..7c2175dd 100644
--- a/init/completions/apt-listbugs.fish
+++ b/share/completions/apt-listbugs.fish
diff --git a/init/completions/apt-listchanges.fish b/share/completions/apt-listchanges.fish
index 4bf1aa64..4bf1aa64 100644
--- a/init/completions/apt-listchanges.fish
+++ b/share/completions/apt-listchanges.fish
diff --git a/init/completions/apt-move.fish b/share/completions/apt-move.fish
index 915ce894..915ce894 100644
--- a/init/completions/apt-move.fish
+++ b/share/completions/apt-move.fish
diff --git a/init/completions/apt-proxy-import.fish b/share/completions/apt-proxy-import.fish
index ab838594..ab838594 100644
--- a/init/completions/apt-proxy-import.fish
+++ b/share/completions/apt-proxy-import.fish
diff --git a/init/completions/apt-rdepends.fish b/share/completions/apt-rdepends.fish
index 03a915fe..03a915fe 100644
--- a/init/completions/apt-rdepends.fish
+++ b/share/completions/apt-rdepends.fish
diff --git a/init/completions/apt-setup.fish b/share/completions/apt-setup.fish
index b57b95db..b57b95db 100644
--- a/init/completions/apt-setup.fish
+++ b/share/completions/apt-setup.fish
diff --git a/init/completions/apt-show-source.fish b/share/completions/apt-show-source.fish
index 6c875f9c..6c875f9c 100644
--- a/init/completions/apt-show-source.fish
+++ b/share/completions/apt-show-source.fish
diff --git a/init/completions/apt-show-versions.fish b/share/completions/apt-show-versions.fish
index f4ee6c60..f4ee6c60 100644
--- a/init/completions/apt-show-versions.fish
+++ b/share/completions/apt-show-versions.fish
diff --git a/init/completions/apt-sortpkgs.fish b/share/completions/apt-sortpkgs.fish
index d2b4bb08..d2b4bb08 100644
--- a/init/completions/apt-sortpkgs.fish
+++ b/share/completions/apt-sortpkgs.fish
diff --git a/init/completions/apt-spy.fish b/share/completions/apt-spy.fish
index 41d7ed0d..41d7ed0d 100644
--- a/init/completions/apt-spy.fish
+++ b/share/completions/apt-spy.fish
diff --git a/init/completions/apt-src.fish b/share/completions/apt-src.fish
index 98cda50b..98cda50b 100644
--- a/init/completions/apt-src.fish
+++ b/share/completions/apt-src.fish
diff --git a/init/completions/apt-zip-inst.fish b/share/completions/apt-zip-inst.fish
index 34a302ef..34a302ef 100644
--- a/init/completions/apt-zip-inst.fish
+++ b/share/completions/apt-zip-inst.fish
diff --git a/init/completions/apt-zip-list.fish b/share/completions/apt-zip-list.fish
index d62e2133..d62e2133 100644
--- a/init/completions/apt-zip-list.fish
+++ b/share/completions/apt-zip-list.fish
diff --git a/init/completions/arp.fish b/share/completions/arp.fish
index 162c428f..162c428f 100644
--- a/init/completions/arp.fish
+++ b/share/completions/arp.fish
diff --git a/init/completions/at.fish b/share/completions/at.fish
index 54450138..54450138 100644
--- a/init/completions/at.fish
+++ b/share/completions/at.fish
diff --git a/init/completions/atd.fish b/share/completions/atd.fish
index 3d947e20..3d947e20 100644
--- a/init/completions/atd.fish
+++ b/share/completions/atd.fish
diff --git a/init/completions/atq.fish b/share/completions/atq.fish
index 4ef4c03d..4ef4c03d 100644
--- a/init/completions/atq.fish
+++ b/share/completions/atq.fish
diff --git a/init/completions/atrm.fish b/share/completions/atrm.fish
index e92c88a7..e92c88a7 100644
--- a/init/completions/atrm.fish
+++ b/share/completions/atrm.fish
diff --git a/init/completions/bc.fish b/share/completions/bc.fish
index e05d0992..e05d0992 100644
--- a/init/completions/bc.fish
+++ b/share/completions/bc.fish
diff --git a/init/completions/btdownloadcurses.py.fish b/share/completions/btdownloadcurses.py.fish
index 73a17461..73a17461 100644
--- a/init/completions/btdownloadcurses.py.fish
+++ b/share/completions/btdownloadcurses.py.fish
diff --git a/init/completions/btdownloadheadless.py.fish b/share/completions/btdownloadheadless.py.fish
index d2e83c60..d2e83c60 100644
--- a/init/completions/btdownloadheadless.py.fish
+++ b/share/completions/btdownloadheadless.py.fish
diff --git a/init/completions/bunzip2.fish b/share/completions/bunzip2.fish
index d98efe95..d98efe95 100644
--- a/init/completions/bunzip2.fish
+++ b/share/completions/bunzip2.fish
diff --git a/init/completions/bzcat.fish b/share/completions/bzcat.fish
index 6bc9bdfb..6bc9bdfb 100644
--- a/init/completions/bzcat.fish
+++ b/share/completions/bzcat.fish
diff --git a/init/completions/bzip2.fish b/share/completions/bzip2.fish
index 6727d162..6727d162 100644
--- a/init/completions/bzip2.fish
+++ b/share/completions/bzip2.fish
diff --git a/init/completions/bzip2recover.fish b/share/completions/bzip2recover.fish
index 2ac17f46..2ac17f46 100644
--- a/init/completions/bzip2recover.fish
+++ b/share/completions/bzip2recover.fish
diff --git a/init/completions/cat.fish b/share/completions/cat.fish
index be52e9c3..be52e9c3 100644
--- a/init/completions/cat.fish
+++ b/share/completions/cat.fish
diff --git a/init/completions/cd.fish b/share/completions/cd.fish
index 93eadcb7..93eadcb7 100644
--- a/init/completions/cd.fish
+++ b/share/completions/cd.fish
diff --git a/init/completions/chgrp.fish b/share/completions/chgrp.fish
index 41cce959..41cce959 100644
--- a/init/completions/chgrp.fish
+++ b/share/completions/chgrp.fish
diff --git a/init/completions/chown.fish b/share/completions/chown.fish
index 1ba22d29..1ba22d29 100644
--- a/init/completions/chown.fish
+++ b/share/completions/chown.fish
diff --git a/init/completions/chsh.fish b/share/completions/chsh.fish
index 7608f017..7608f017 100644
--- a/init/completions/chsh.fish
+++ b/share/completions/chsh.fish
diff --git a/init/completions/commandline.fish b/share/completions/commandline.fish
index 337f0185..337f0185 100644
--- a/init/completions/commandline.fish
+++ b/share/completions/commandline.fish
diff --git a/init/completions/complete.fish b/share/completions/complete.fish
index 2dcc8200..2dcc8200 100644
--- a/init/completions/complete.fish
+++ b/share/completions/complete.fish
diff --git a/init/completions/configure.fish b/share/completions/configure.fish
index 8325b573..8325b573 100644
--- a/init/completions/configure.fish
+++ b/share/completions/configure.fish
diff --git a/init/completions/cut.fish b/share/completions/cut.fish
index 2ccf95d0..2ccf95d0 100644
--- a/init/completions/cut.fish
+++ b/share/completions/cut.fish
diff --git a/init/completions/cvs.fish b/share/completions/cvs.fish
index e40d7c87..e40d7c87 100644
--- a/init/completions/cvs.fish
+++ b/share/completions/cvs.fish
diff --git a/init/completions/darcs.fish b/share/completions/darcs.fish
index b3a7ae12..b3a7ae12 100644
--- a/init/completions/darcs.fish
+++ b/share/completions/darcs.fish
diff --git a/init/completions/date.fish b/share/completions/date.fish
index 863080b6..863080b6 100644
--- a/init/completions/date.fish
+++ b/share/completions/date.fish
diff --git a/init/completions/df.fish b/share/completions/df.fish
index 9cbb75d5..9cbb75d5 100644
--- a/init/completions/df.fish
+++ b/share/completions/df.fish
diff --git a/init/completions/diff.fish b/share/completions/diff.fish
index 1adbf235..1adbf235 100644
--- a/init/completions/diff.fish
+++ b/share/completions/diff.fish
diff --git a/init/completions/du.fish b/share/completions/du.fish
index 761dd92c..761dd92c 100644
--- a/init/completions/du.fish
+++ b/share/completions/du.fish
diff --git a/init/completions/echo.fish b/share/completions/echo.fish
index 09fbca9a..09fbca9a 100644
--- a/init/completions/echo.fish
+++ b/share/completions/echo.fish
diff --git a/init/completions/elatex.fish b/share/completions/elatex.fish
index 68294ba4..68294ba4 100644
--- a/init/completions/elatex.fish
+++ b/share/completions/elatex.fish
diff --git a/init/completions/emacs.fish b/share/completions/emacs.fish
index 09408aee..09408aee 100644
--- a/init/completions/emacs.fish
+++ b/share/completions/emacs.fish
diff --git a/init/completions/emerge.fish b/share/completions/emerge.fish
index 2f6c0d7f..2f6c0d7f 100644
--- a/init/completions/emerge.fish
+++ b/share/completions/emerge.fish
diff --git a/init/completions/etex.fish b/share/completions/etex.fish
index b0280a37..b0280a37 100644
--- a/init/completions/etex.fish
+++ b/share/completions/etex.fish
diff --git a/init/completions/fish.fish b/share/completions/fish.fish
index b49f98a1..b49f98a1 100644
--- a/init/completions/fish.fish
+++ b/share/completions/fish.fish
diff --git a/init/completions/function.fish b/share/completions/function.fish
index 25194511..25194511 100644
--- a/init/completions/function.fish
+++ b/share/completions/function.fish
diff --git a/init/completions/functions.fish b/share/completions/functions.fish
index 3095c4bf..3095c4bf 100644
--- a/init/completions/functions.fish
+++ b/share/completions/functions.fish
diff --git a/init/completions/fusermount.fish b/share/completions/fusermount.fish
index 56ddcd4e..56ddcd4e 100644
--- a/init/completions/fusermount.fish
+++ b/share/completions/fusermount.fish
diff --git a/init/completions/gcc.fish b/share/completions/gcc.fish
index bb1ecd13..bb1ecd13 100644
--- a/init/completions/gcc.fish
+++ b/share/completions/gcc.fish
diff --git a/init/completions/gpg.fish b/share/completions/gpg.fish
index 355bde48..355bde48 100644
--- a/init/completions/gpg.fish
+++ b/share/completions/gpg.fish
diff --git a/init/completions/gprof.fish b/share/completions/gprof.fish
index 09ad4712..09ad4712 100644
--- a/init/completions/gprof.fish
+++ b/share/completions/gprof.fish
diff --git a/init/completions/grep.fish b/share/completions/grep.fish
index de96facf..de96facf 100644
--- a/init/completions/grep.fish
+++ b/share/completions/grep.fish
diff --git a/init/completions/gunzip.fish b/share/completions/gunzip.fish
index f15c8d78..f15c8d78 100644
--- a/init/completions/gunzip.fish
+++ b/share/completions/gunzip.fish
diff --git a/init/completions/gzip.fish b/share/completions/gzip.fish
index ca84d8ae..ca84d8ae 100644
--- a/init/completions/gzip.fish
+++ b/share/completions/gzip.fish
diff --git a/init/completions/help.fish b/share/completions/help.fish
index 1763a936..1763a936 100644
--- a/init/completions/help.fish
+++ b/share/completions/help.fish
diff --git a/init/completions/id.fish b/share/completions/id.fish
index 9826f434..9826f434 100644
--- a/init/completions/id.fish
+++ b/share/completions/id.fish
diff --git a/init/completions/ifconfig.fish b/share/completions/ifconfig.fish
index ab1481e7..ab1481e7 100644
--- a/init/completions/ifconfig.fish
+++ b/share/completions/ifconfig.fish
diff --git a/init/completions/jobs.fish b/share/completions/jobs.fish
index c3a0cb6c..c3a0cb6c 100644
--- a/init/completions/jobs.fish
+++ b/share/completions/jobs.fish
diff --git a/init/completions/kill.fish b/share/completions/kill.fish
index b36838fc..b36838fc 100644
--- a/init/completions/kill.fish
+++ b/share/completions/kill.fish
diff --git a/init/completions/la.fish b/share/completions/la.fish
index 1bc6bc95..1bc6bc95 100644
--- a/init/completions/la.fish
+++ b/share/completions/la.fish
diff --git a/init/completions/latex.fish b/share/completions/latex.fish
index 1897f965..1897f965 100644
--- a/init/completions/latex.fish
+++ b/share/completions/latex.fish
diff --git a/init/completions/less.fish b/share/completions/less.fish
index ab33de5a..ab33de5a 100644
--- a/init/completions/less.fish
+++ b/share/completions/less.fish
diff --git a/init/completions/ll.fish b/share/completions/ll.fish
index 2fe36ef6..2fe36ef6 100644
--- a/init/completions/ll.fish
+++ b/share/completions/ll.fish
diff --git a/init/completions/ls.fish b/share/completions/ls.fish
index 517d2759..517d2759 100644
--- a/init/completions/ls.fish
+++ b/share/completions/ls.fish
diff --git a/init/completions/make.fish b/share/completions/make.fish
index 351a0c1b..351a0c1b 100644
--- a/init/completions/make.fish
+++ b/share/completions/make.fish
diff --git a/init/completions/makedepend.fish b/share/completions/makedepend.fish
index 534a1885..534a1885 100644
--- a/init/completions/makedepend.fish
+++ b/share/completions/makedepend.fish
diff --git a/init/completions/man.fish b/share/completions/man.fish
index 8ff23dc1..8ff23dc1 100644
--- a/init/completions/man.fish
+++ b/share/completions/man.fish
diff --git a/init/completions/mimedb.fish b/share/completions/mimedb.fish
index 8d0f1324..8d0f1324 100644
--- a/init/completions/mimedb.fish
+++ b/share/completions/mimedb.fish
diff --git a/init/completions/modprobe.fish b/share/completions/modprobe.fish
index 40074839..40074839 100644
--- a/init/completions/modprobe.fish
+++ b/share/completions/modprobe.fish
diff --git a/init/completions/mount.fish b/share/completions/mount.fish
index 94fa929b..94fa929b 100644
--- a/init/completions/mount.fish
+++ b/share/completions/mount.fish
diff --git a/init/completions/mplayer.fish b/share/completions/mplayer.fish
index c1368898..c1368898 100644
--- a/init/completions/mplayer.fish
+++ b/share/completions/mplayer.fish
diff --git a/init/completions/mv.fish b/share/completions/mv.fish
index 9f57f59f..9f57f59f 100644
--- a/init/completions/mv.fish
+++ b/share/completions/mv.fish
diff --git a/init/completions/nextd.fish b/share/completions/nextd.fish
index 1f6e0631..1f6e0631 100644
--- a/init/completions/nextd.fish
+++ b/share/completions/nextd.fish
diff --git a/init/completions/nice.fish b/share/completions/nice.fish
index e7b67035..e7b67035 100644
--- a/init/completions/nice.fish
+++ b/share/completions/nice.fish
diff --git a/init/completions/omega.fish b/share/completions/omega.fish
index 76908cc8..76908cc8 100644
--- a/init/completions/omega.fish
+++ b/share/completions/omega.fish
diff --git a/init/completions/pdfelatex.fish b/share/completions/pdfelatex.fish
index 555d9b7d..555d9b7d 100644
--- a/init/completions/pdfelatex.fish
+++ b/share/completions/pdfelatex.fish
diff --git a/init/completions/pdfetex.fish b/share/completions/pdfetex.fish
index a5ae9f9a..a5ae9f9a 100644
--- a/init/completions/pdfetex.fish
+++ b/share/completions/pdfetex.fish
diff --git a/init/completions/pdflatex.fish b/share/completions/pdflatex.fish
index 80b1a5bf..80b1a5bf 100644
--- a/init/completions/pdflatex.fish
+++ b/share/completions/pdflatex.fish
diff --git a/init/completions/pdftex.fish b/share/completions/pdftex.fish
index c4c6f270..c4c6f270 100644
--- a/init/completions/pdftex.fish
+++ b/share/completions/pdftex.fish
diff --git a/init/completions/perl.fish b/share/completions/perl.fish
index 62f49b07..62f49b07 100644
--- a/init/completions/perl.fish
+++ b/share/completions/perl.fish
diff --git a/init/completions/pine.fish b/share/completions/pine.fish
index 76e34f31..76e34f31 100644
--- a/init/completions/pine.fish
+++ b/share/completions/pine.fish
diff --git a/init/completions/ping.fish b/share/completions/ping.fish
index b222a446..b222a446 100644
--- a/init/completions/ping.fish
+++ b/share/completions/ping.fish
diff --git a/init/completions/prevd.fish b/share/completions/prevd.fish
index 2ef6873b..2ef6873b 100644
--- a/init/completions/prevd.fish
+++ b/share/completions/prevd.fish
diff --git a/init/completions/ps.fish b/share/completions/ps.fish
index 30eb974b..30eb974b 100644
--- a/init/completions/ps.fish
+++ b/share/completions/ps.fish
diff --git a/init/completions/pushd.fish b/share/completions/pushd.fish
index 49958bf8..49958bf8 100644
--- a/init/completions/pushd.fish
+++ b/share/completions/pushd.fish
diff --git a/init/completions/python.fish b/share/completions/python.fish
index 1e94a60f..1e94a60f 100644
--- a/init/completions/python.fish
+++ b/share/completions/python.fish
diff --git a/init/completions/read.fish b/share/completions/read.fish
index e6bac135..e6bac135 100644
--- a/init/completions/read.fish
+++ b/share/completions/read.fish
diff --git a/init/completions/renice.fish b/share/completions/renice.fish
index 65b88a68..65b88a68 100644
--- a/init/completions/renice.fish
+++ b/share/completions/renice.fish
diff --git a/init/completions/rm.fish b/share/completions/rm.fish
index f869fdbd..f869fdbd 100644
--- a/init/completions/rm.fish
+++ b/share/completions/rm.fish
diff --git a/init/completions/rmdir.fish b/share/completions/rmdir.fish
index 9cb6a691..9cb6a691 100644
--- a/init/completions/rmdir.fish
+++ b/share/completions/rmdir.fish
diff --git a/init/completions/rpm.fish b/share/completions/rpm.fish
index 42b823f2..42b823f2 100644
--- a/init/completions/rpm.fish
+++ b/share/completions/rpm.fish
diff --git a/init/completions/ruby.fish b/share/completions/ruby.fish
index 08a061ef..08a061ef 100644
--- a/init/completions/ruby.fish
+++ b/share/completions/ruby.fish
diff --git a/init/completions/scp.fish b/share/completions/scp.fish
index 111a7300..111a7300 100644
--- a/init/completions/scp.fish
+++ b/share/completions/scp.fish
diff --git a/init/completions/screen.fish b/share/completions/screen.fish
index 2208bc47..2208bc47 100644
--- a/init/completions/screen.fish
+++ b/share/completions/screen.fish
diff --git a/init/completions/sed.fish b/share/completions/sed.fish
index d32d9c26..d32d9c26 100644
--- a/init/completions/sed.fish
+++ b/share/completions/sed.fish
diff --git a/init/completions/service.fish b/share/completions/service.fish
index e4d40a6d..e4d40a6d 100644
--- a/init/completions/service.fish
+++ b/share/completions/service.fish
diff --git a/init/completions/set.fish b/share/completions/set.fish
index 77e64972..77e64972 100644
--- a/init/completions/set.fish
+++ b/share/completions/set.fish
diff --git a/init/completions/set_color.fish b/share/completions/set_color.fish
index cb42c933..cb42c933 100644
--- a/init/completions/set_color.fish
+++ b/share/completions/set_color.fish
diff --git a/init/completions/sort.fish b/share/completions/sort.fish
index 0fa9c170..0fa9c170 100644
--- a/init/completions/sort.fish
+++ b/share/completions/sort.fish
diff --git a/init/completions/ssh.fish b/share/completions/ssh.fish
index 2aff2dea..2aff2dea 100644
--- a/init/completions/ssh.fish
+++ b/share/completions/ssh.fish
diff --git a/init/completions/sshfs.fish b/share/completions/sshfs.fish
index 76a31493..76a31493 100644
--- a/init/completions/sshfs.fish
+++ b/share/completions/sshfs.fish
diff --git a/init/completions/status.fish b/share/completions/status.fish
index 8f6fcc14..8f6fcc14 100644
--- a/init/completions/status.fish
+++ b/share/completions/status.fish
diff --git a/init/completions/su.fish b/share/completions/su.fish
index 6bdabdd0..6bdabdd0 100644
--- a/init/completions/su.fish
+++ b/share/completions/su.fish
diff --git a/init/completions/sudo.fish b/share/completions/sudo.fish
index 1407e746..1407e746 100644
--- a/init/completions/sudo.fish
+++ b/share/completions/sudo.fish
diff --git a/init/completions/svn.fish b/share/completions/svn.fish
index a2f7f169..a2f7f169 100644
--- a/init/completions/svn.fish
+++ b/share/completions/svn.fish
diff --git a/init/completions/tar.fish b/share/completions/tar.fish
index 0da0cbe0..0da0cbe0 100644
--- a/init/completions/tar.fish
+++ b/share/completions/tar.fish
diff --git a/init/completions/test.fish b/share/completions/test.fish
index 0bbd8c67..0bbd8c67 100644
--- a/init/completions/test.fish
+++ b/share/completions/test.fish
diff --git a/init/completions/tex.fish b/share/completions/tex.fish
index e62d33a4..e62d33a4 100644
--- a/init/completions/tex.fish
+++ b/share/completions/tex.fish
diff --git a/init/completions/time.fish b/share/completions/time.fish
index 6ee38288..6ee38288 100644
--- a/init/completions/time.fish
+++ b/share/completions/time.fish
diff --git a/init/completions/top.fish b/share/completions/top.fish
index b247dafe..b247dafe 100644
--- a/init/completions/top.fish
+++ b/share/completions/top.fish
diff --git a/init/completions/touch.fish b/share/completions/touch.fish
index 423730fd..423730fd 100644
--- a/init/completions/touch.fish
+++ b/share/completions/touch.fish
diff --git a/init/completions/trap.fish b/share/completions/trap.fish
index 5cdd0a5f..5cdd0a5f 100644
--- a/init/completions/trap.fish
+++ b/share/completions/trap.fish
diff --git a/init/completions/type.fish b/share/completions/type.fish
index afd99f95..afd99f95 100644
--- a/init/completions/type.fish
+++ b/share/completions/type.fish
diff --git a/init/completions/ulimit.fish b/share/completions/ulimit.fish
index e5055818..e5055818 100644
--- a/init/completions/ulimit.fish
+++ b/share/completions/ulimit.fish
diff --git a/init/completions/umount.fish b/share/completions/umount.fish
index d69e7563..d69e7563 100644
--- a/init/completions/umount.fish
+++ b/share/completions/umount.fish
diff --git a/init/completions/uname.fish b/share/completions/uname.fish
index d9cb2462..d9cb2462 100644
--- a/init/completions/uname.fish
+++ b/share/completions/uname.fish
diff --git a/init/completions/uniq.fish b/share/completions/uniq.fish
index fc218e06..fc218e06 100644
--- a/init/completions/uniq.fish
+++ b/share/completions/uniq.fish
diff --git a/init/completions/valgrind.fish b/share/completions/valgrind.fish
index aa4317bf..aa4317bf 100644
--- a/init/completions/valgrind.fish
+++ b/share/completions/valgrind.fish
diff --git a/init/completions/vared.fish b/share/completions/vared.fish
index 02210082..02210082 100644
--- a/init/completions/vared.fish
+++ b/share/completions/vared.fish
diff --git a/init/completions/w.fish b/share/completions/w.fish
index f53bcbd7..f53bcbd7 100644
--- a/init/completions/w.fish
+++ b/share/completions/w.fish
diff --git a/init/completions/wc.fish b/share/completions/wc.fish
index f4e5c1e6..f4e5c1e6 100644
--- a/init/completions/wc.fish
+++ b/share/completions/wc.fish
diff --git a/init/completions/wget.fish b/share/completions/wget.fish
index 7b026fc6..7b026fc6 100644
--- a/init/completions/wget.fish
+++ b/share/completions/wget.fish
diff --git a/init/completions/whatis.fish b/share/completions/whatis.fish
index eda161e3..eda161e3 100644
--- a/init/completions/whatis.fish
+++ b/share/completions/whatis.fish
diff --git a/init/completions/who.fish b/share/completions/who.fish
index fa5020e8..fa5020e8 100644
--- a/init/completions/who.fish
+++ b/share/completions/who.fish
diff --git a/init/completions/xprop.fish b/share/completions/xprop.fish
index cdef3022..cdef3022 100644
--- a/init/completions/xprop.fish
+++ b/share/completions/xprop.fish
diff --git a/init/completions/xsel.fish b/share/completions/xsel.fish
index acdca663..acdca663 100644
--- a/init/completions/xsel.fish
+++ b/share/completions/xsel.fish
diff --git a/init/completions/yum.fish b/share/completions/yum.fish
index 3b44d288..3b44d288 100644
--- a/init/completions/yum.fish
+++ b/share/completions/yum.fish
diff --git a/init/completions/zcat.fish b/share/completions/zcat.fish
index ef0923d3..ef0923d3 100644
--- a/init/completions/zcat.fish
+++ b/share/completions/zcat.fish
diff --git a/init/completions/zip.fish b/share/completions/zip.fish
index 9af815cf..9af815cf 100644
--- a/init/completions/zip.fish
+++ b/share/completions/zip.fish
diff --git a/init/fish_complete.fish.in b/share/fish
index 64b8ab18..9877edd5 100644
--- a/init/fish_complete.fish.in
+++ b/share/fish
@@ -1,8 +1,13 @@
+#
# Main file for fish command completions. This file contains various
# common helper functions for the command completions. All actual
# completions are located in the completions subdirectory.
#
-# @configure_input@
+
+#
+# Assign a temporary value here for performance reasons. The real value should be set in /etc/fish.
+#
+set -g fish_function_path
#
# Don't need completions in non-interactive mode
@@ -12,8 +17,6 @@ if not status --is-interactive
exit
end
-set -g fish_complete_path @SYSCONFDIR@/fish.d/completions ~/.fish.d/completions
-
#
# Convenience functions
#
diff --git a/init/functions/__fish_complete_bittorrent.fish b/share/functions/__fish_complete_bittorrent.fish
index 1f1a21ad..1f1a21ad 100644
--- a/init/functions/__fish_complete_bittorrent.fish
+++ b/share/functions/__fish_complete_bittorrent.fish
diff --git a/init/functions/__fish_complete_directory.fish b/share/functions/__fish_complete_directory.fish
index af3844d5..af3844d5 100644
--- a/init/functions/__fish_complete_directory.fish
+++ b/share/functions/__fish_complete_directory.fish
diff --git a/init/functions/__fish_complete_ls.fish b/share/functions/__fish_complete_ls.fish
index 0aac5ea4..0aac5ea4 100644
--- a/init/functions/__fish_complete_ls.fish
+++ b/share/functions/__fish_complete_ls.fish
diff --git a/init/functions/__fish_complete_man.fish b/share/functions/__fish_complete_man.fish
index fa116956..fa116956 100644
--- a/init/functions/__fish_complete_man.fish
+++ b/share/functions/__fish_complete_man.fish
diff --git a/init/functions/__fish_complete_pids.fish b/share/functions/__fish_complete_pids.fish
index 42fcc571..42fcc571 100644
--- a/init/functions/__fish_complete_pids.fish
+++ b/share/functions/__fish_complete_pids.fish
diff --git a/init/functions/__fish_complete_ssh.fish b/share/functions/__fish_complete_ssh.fish
index d1aa6f82..d1aa6f82 100644
--- a/init/functions/__fish_complete_ssh.fish
+++ b/share/functions/__fish_complete_ssh.fish
diff --git a/init/functions/__fish_complete_subcommand.fish b/share/functions/__fish_complete_subcommand.fish
index 60ecc35a..60ecc35a 100644
--- a/init/functions/__fish_complete_subcommand.fish
+++ b/share/functions/__fish_complete_subcommand.fish
diff --git a/init/functions/__fish_complete_suffix.fish b/share/functions/__fish_complete_suffix.fish
index 78c5d2e0..78c5d2e0 100644
--- a/init/functions/__fish_complete_suffix.fish
+++ b/share/functions/__fish_complete_suffix.fish
diff --git a/init/functions/__fish_complete_tex.fish b/share/functions/__fish_complete_tex.fish
index 871aa41a..871aa41a 100644
--- a/init/functions/__fish_complete_tex.fish
+++ b/share/functions/__fish_complete_tex.fish
diff --git a/init/functions/__fish_contains_opt.fish b/share/functions/__fish_contains_opt.fish
index 5b06007e..5b06007e 100644
--- a/init/functions/__fish_contains_opt.fish
+++ b/share/functions/__fish_contains_opt.fish
diff --git a/init/functions/__fish_describe_command.fish b/share/functions/__fish_describe_command.fish
index 50d3870a..50d3870a 100644
--- a/init/functions/__fish_describe_command.fish
+++ b/share/functions/__fish_describe_command.fish
diff --git a/init/functions/__fish_gnu_complete.fish b/share/functions/__fish_gnu_complete.fish
index 9aeb0ba8..9aeb0ba8 100644
--- a/init/functions/__fish_gnu_complete.fish
+++ b/share/functions/__fish_gnu_complete.fish
diff --git a/init/functions/__fish_is_first_token.fish b/share/functions/__fish_is_first_token.fish
index e2ca69b1..e2ca69b1 100644
--- a/init/functions/__fish_is_first_token.fish
+++ b/share/functions/__fish_is_first_token.fish
diff --git a/init/functions/__fish_list_current_token.fish b/share/functions/__fish_list_current_token.fish
index b31aac40..b31aac40 100644
--- a/init/functions/__fish_list_current_token.fish
+++ b/share/functions/__fish_list_current_token.fish
diff --git a/init/functions/__fish_move_last.fish b/share/functions/__fish_move_last.fish
index 965072cd..965072cd 100644
--- a/init/functions/__fish_move_last.fish
+++ b/share/functions/__fish_move_last.fish
diff --git a/init/functions/__fish_no_arguments.fish b/share/functions/__fish_no_arguments.fish
index e47a4272..e47a4272 100644
--- a/init/functions/__fish_no_arguments.fish
+++ b/share/functions/__fish_no_arguments.fish
diff --git a/init/functions/__fish_print_filesystems.fish b/share/functions/__fish_print_filesystems.fish
index 0eeea3c8..0eeea3c8 100644
--- a/init/functions/__fish_print_filesystems.fish
+++ b/share/functions/__fish_print_filesystems.fish
diff --git a/init/functions/__fish_print_hostnames.fish b/share/functions/__fish_print_hostnames.fish
index f6de9784..f6de9784 100644
--- a/init/functions/__fish_print_hostnames.fish
+++ b/share/functions/__fish_print_hostnames.fish
diff --git a/init/functions/__fish_print_packages.fish b/share/functions/__fish_print_packages.fish
index 03e52314..03e52314 100644
--- a/init/functions/__fish_print_packages.fish
+++ b/share/functions/__fish_print_packages.fish
diff --git a/init/functions/cd.fish b/share/functions/cd.fish
index e9287c4b..e9287c4b 100644
--- a/init/functions/cd.fish
+++ b/share/functions/cd.fish
diff --git a/init/functions/contains.fish b/share/functions/contains.fish
index 331794c7..331794c7 100644
--- a/init/functions/contains.fish
+++ b/share/functions/contains.fish
diff --git a/share/functions/delete-or-exit.fish b/share/functions/delete-or-exit.fish
new file mode 100644
index 00000000..3e030f79
--- /dev/null
+++ b/share/functions/delete-or-exit.fish
@@ -0,0 +1,15 @@
+#
+# This function deletes a character from the commandline if it is
+# non-empty, and exits the shell otherwise. Implementing this
+# functionality has been a longstanding request from various
+# fish-users.
+#
+
+function delete-or-exit --key-binding
+ if test (commandline)
+ commandline -f delete-char
+ else
+ exit
+ end
+end
+
diff --git a/init/functions/dirh.fish b/share/functions/dirh.fish
index 8be46c81..8be46c81 100644
--- a/init/functions/dirh.fish
+++ b/share/functions/dirh.fish
diff --git a/init/functions/dirs.fish b/share/functions/dirs.fish
index cde428aa..cde428aa 100644
--- a/init/functions/dirs.fish
+++ b/share/functions/dirs.fish
diff --git a/init/functions/fish_prompt.fish b/share/functions/fish_prompt.fish
index f1c67012..f1c67012 100644
--- a/init/functions/fish_prompt.fish
+++ b/share/functions/fish_prompt.fish
diff --git a/init/functions/help.fish b/share/functions/help.fish
index f61822ff..f61822ff 100644
--- a/init/functions/help.fish
+++ b/share/functions/help.fish
diff --git a/init/functions/la.fish b/share/functions/la.fish
index 4fddc3b1..4fddc3b1 100644
--- a/init/functions/la.fish
+++ b/share/functions/la.fish
diff --git a/init/functions/ll.fish b/share/functions/ll.fish
index bfe290ab..bfe290ab 100644
--- a/init/functions/ll.fish
+++ b/share/functions/ll.fish
diff --git a/init/functions/ls.fish b/share/functions/ls.fish
index aa20f219..aa20f219 100644
--- a/init/functions/ls.fish
+++ b/share/functions/ls.fish
diff --git a/share/functions/nextd-or-forward-word.fish b/share/functions/nextd-or-forward-word.fish
new file mode 100644
index 00000000..3407f680
--- /dev/null
+++ b/share/functions/nextd-or-forward-word.fish
@@ -0,0 +1,8 @@
+
+function nextd-or-forward-word --key-binding
+ if test -z (commandline)
+ nextd
+ else
+ commandline -f forward-word
+ end
+end
diff --git a/init/functions/nextd.fish b/share/functions/nextd.fish
index bf6f32f8..bf6f32f8 100644
--- a/init/functions/nextd.fish
+++ b/share/functions/nextd.fish
diff --git a/init/functions/open.fish b/share/functions/open.fish
index 9e61f236..9e61f236 100644
--- a/init/functions/open.fish
+++ b/share/functions/open.fish
diff --git a/init/functions/popd.fish b/share/functions/popd.fish
index f8b8a532..f8b8a532 100644
--- a/init/functions/popd.fish
+++ b/share/functions/popd.fish
diff --git a/share/functions/prevd-or-backward-word.fish b/share/functions/prevd-or-backward-word.fish
new file mode 100644
index 00000000..e06a05a7
--- /dev/null
+++ b/share/functions/prevd-or-backward-word.fish
@@ -0,0 +1,8 @@
+function prevd-or-backward-word --key-binding
+ if test -z (commandline)
+ prevd
+ else
+ commandline -f backward-word
+ end
+end
+
diff --git a/init/functions/prevd.fish b/share/functions/prevd.fish
index 000a5792..000a5792 100644
--- a/init/functions/prevd.fish
+++ b/share/functions/prevd.fish
diff --git a/init/functions/prompt_pwd.fish b/share/functions/prompt_pwd.fish
index 709ccca6..709ccca6 100644
--- a/init/functions/prompt_pwd.fish
+++ b/share/functions/prompt_pwd.fish
diff --git a/init/functions/psub.fish b/share/functions/psub.fish
index fd59cd95..fd59cd95 100644
--- a/init/functions/psub.fish
+++ b/share/functions/psub.fish
diff --git a/init/functions/pushd.fish b/share/functions/pushd.fish
index 5c4f288e..5c4f288e 100644
--- a/init/functions/pushd.fish
+++ b/share/functions/pushd.fish
diff --git a/init/functions/pwd.fish b/share/functions/pwd.fish
index 678fecb4..678fecb4 100644
--- a/init/functions/pwd.fish
+++ b/share/functions/pwd.fish
diff --git a/init/functions/trap.fish b/share/functions/trap.fish
index 74940dbe..74940dbe 100644
--- a/init/functions/trap.fish
+++ b/share/functions/trap.fish
diff --git a/init/functions/type.fish b/share/functions/type.fish
index bb5c75e0..bb5c75e0 100644
--- a/init/functions/type.fish
+++ b/share/functions/type.fish
diff --git a/init/functions/umask.fish b/share/functions/umask.fish
index afca8f5f..afca8f5f 100644
--- a/init/functions/umask.fish
+++ b/share/functions/umask.fish
diff --git a/init/functions/vared.fish b/share/functions/vared.fish
index b9414d84..b9414d84 100644
--- a/init/functions/vared.fish
+++ b/share/functions/vared.fish