fish-shell/share/functions
Kurtis Rader 9d2b53450a limit size of cd history to 25 directories
The existing implementation grows the $dirprev array without bounds. Besides
causing what would appear to be a memory leak it also makes the nextd and
prevd commands more expensive than they need to be. It also makes it harder to
create a useful "menu" cd command.

In addition to implementing a reasonable limit on the size of the $dirprev
array I've reformatted the code using fish_indent.

Update the documentation to include mentions of the $dirprev and $dirnext
variables as well as the limit on how much directory history is kept.

Fixes 2836
2016-03-23 13:36:00 -07:00
..
_.fish Make gettext function use echo instead of printf to save a fork 2012-04-25 13:37:41 -07:00
__fish_append.fish remove trialing spaces #2 2010-09-18 10:18:26 +08:00
__fish_bind_test1.fish Squashed commit of the following: 2012-06-15 17:30:33 -07:00
__fish_bind_test2.fish remove trialing spaces #2 2010-09-18 10:18:26 +08:00
__fish_commandline_test.fish Squashed commit of the following: 2012-06-15 17:30:33 -07:00
__fish_complete_abook_formats.fish Squashed commit of the following: 2012-06-15 17:30:33 -07:00
__fish_complete_ant_targets.fish remove trialing spaces #2 2010-09-18 10:18:26 +08:00
__fish_complete_atool_archive_contents.fish Squashed commit of the following: 2012-06-15 17:30:33 -07:00
__fish_complete_bittorrent.fish Drop use of the N_ no-op for translation descriptions. Instead, tell xgettext that any token following '--description' should be translated. This should greatly speed up completion loading on platforms where fork() is slow. (Hi, OS X) 2007-01-16 11:18:28 +10:00
__fish_complete_cd.fish Remove errant slash from the end of cd completions 2015-10-07 13:39:42 -07:00
__fish_complete_command.fish Another stringification (__fish_complete_command) 2016-02-04 13:53:55 +01:00
__fish_complete_convert_options.fish Squashed commit of the following: 2012-06-15 17:30:33 -07:00
__fish_complete_directories.fish Minor polish like adding missing whitespace, switch to using --argument switch in function definitions to make code more readable, add a few minor saftey checks, etc. 2007-09-24 07:07:30 +10:00
__fish_complete_file_url.fish remove trialing spaces #2 2010-09-18 10:18:26 +08:00
__fish_complete_ftp.fish Fixed ftp completions 2013-07-18 21:26:32 +05:30
__fish_complete_groups.fish use getent for passwd and group if available 2012-11-27 11:49:52 +08:00
__fish_complete_job_pids.fish Add a function to complete job PIDs. 2015-11-27 16:07:16 -08:00
__fish_complete_list.fish Squashed commit of the following: 2013-04-01 10:49:02 -07:00
__fish_complete_lpr.fish Remove trailing whitespaces and change tabs to spaces 2012-11-18 11:23:22 +01:00
__fish_complete_lpr_option.fish Stringify __fish_complete_lpr_option 2016-02-03 23:26:41 +01:00
__fish_complete_lsusb.fish Rename __fish_complete_usb function. 2014-01-14 08:28:15 +01:00
__fish_complete_man.fish __fish_complete_man: rework AWK script 2015-12-04 16:23:57 +08:00
__fish_complete_path.fish __fish_complete_path: add new completion, mimics builtin path completion 2014-09-29 14:05:18 +08:00
__fish_complete_pgrep.fish Squashed commit of the following: 2013-04-01 10:49:02 -07:00
__fish_complete_pids.fish Replace sed -E with string replace 2015-09-28 20:06:20 +02:00
__fish_complete_ppp_peer.fish Squashed commit of the following: 2012-06-15 17:30:33 -07:00
__fish_complete_proc.fish Fix proc and pid completion on OS X, and improve it on Linux. 2013-01-16 14:11:43 -08:00
__fish_complete_setxkbmap.fish Squashed commit of the following: 2012-06-15 17:30:33 -07:00
__fish_complete_ssh.fish Squashed commit of the following: 2013-04-01 10:49:02 -07:00
__fish_complete_subcommand.fish Replace tr invocations 2016-02-03 23:47:46 +01:00
__fish_complete_subcommand_root.fish Suppress PATH errors in sudo tab-completion 2014-09-04 13:22:06 -07:00
__fish_complete_suffix.fish __fish_complete_suffix: don't provide file description by default 2015-07-23 14:26:38 +08:00
__fish_complete_svn_diff.fish Remove trailing whitespaces and change tabs to spaces 2012-11-18 11:23:22 +01:00
__fish_complete_tar.fish remove trialing spaces #2 2010-09-18 10:18:26 +08:00
__fish_complete_unrar.fish remove trialing spaces #2 2010-09-18 10:18:26 +08:00
__fish_complete_users.fish Rename sgrep to __fish_sgrep 2015-09-09 20:55:04 +02:00
__fish_complete_wvdial_peers.fish Squashed commit of the following: 2012-06-15 17:30:33 -07:00
__fish_config_interactive.fish Skip greeting on empty variable 2016-01-18 21:56:59 +01:00
__fish_contains_opt.fish Rename sgrep to __fish_sgrep 2015-09-09 20:55:04 +02:00
__fish_crux_packages.fish remove trialing spaces #2 2010-09-18 10:18:26 +08:00
__fish_cursor_konsole.fish Add tmux support 2014-01-20 21:28:54 +04:00
__fish_cursor_xterm.fish Replace uses of expr with math/string 2016-02-03 23:23:59 +01:00
__fish_describe_command.fish Get rid of 'nothing appropriate' output when completing. 2012-08-04 11:20:03 -07:00
__fish_filter_ant_targets.fish Improve ant completions. This patch comes from Steven Knight. (minor tweaks applied) 2008-01-09 08:16:08 +10:00
__fish_git_prompt.fish Vcs prompt: Break if vcs isn't installed 2015-09-06 14:58:09 +02:00
__fish_gnu_complete.fish Squashed commit of the following: 2013-04-01 10:49:02 -07:00
__fish_hg_prompt.fish hg_prompt: Use string match -q instead of redirection 2016-01-08 14:10:03 +01:00
__fish_is_first_token.fish Drop unneeded '--' when using set builtin in various places 2006-12-13 06:37:27 +10:00
__fish_is_token_n.fish Replace uses of expr with math/string 2016-02-03 23:23:59 +01:00
__fish_list_current_token.fish make alt-L output respect multi-line prompts 2016-03-18 15:53:29 -07:00
__fish_make_completion_signals.fish Fixed kill-signals completion. Added completions for OS X kill command. 2015-12-28 12:54:13 +01:00
__fish_man_page.fish Add Meta+H as keybinding for man page. 2014-09-28 11:12:25 +02:00
__fish_move_last.fish remove trialing spaces #2 2010-09-18 10:18:26 +08:00
__fish_no_arguments.fish remove trialing spaces #2 2010-09-18 10:18:26 +08:00
__fish_not_contain_opt.fish Rename sgrep to __fish_sgrep 2015-09-09 20:55:04 +02:00
__fish_number_of_cmd_args_wo_opts.fish Add eselect, rc-update and rc-service completions. (These are utilities used by Gentoo Linux) 2013-11-27 18:36:05 +08:00
__fish_paginate.fish Change fish_paginate to paginate both stdout and stderr. 2014-12-28 23:14:13 +08:00
__fish_ports_dirs.fish Completions for ports, a tool for port management in CRUX linux 2007-08-04 21:09:16 +10:00
__fish_print_abook_emails.fish Squashed commit of the following: 2012-06-15 17:30:33 -07:00
__fish_print_addresses.fish __fish_print_{addresses,interaces}: Better OSX/BSD 2015-09-24 15:32:15 +02:00
__fish_print_arch_daemons.fish Squashed commit of the following: 2012-06-15 17:30:33 -07:00
__fish_print_cmd_args.fish Add eselect, rc-update and rc-service completions. (These are utilities used by Gentoo Linux) 2013-11-27 18:36:05 +08:00
__fish_print_cmd_args_without_options.fish Add eselect, rc-update and rc-service completions. (These are utilities used by Gentoo Linux) 2013-11-27 18:36:05 +08:00
__fish_print_commands.fish Teach fish_print_commands how to use __fish_datadir 2012-12-27 00:46:54 -08:00
__fish_print_debian_apache_confs.fish Add completions for Debian's Apache tools, a2{en,dis}{mod,conf,site} 2015-06-26 16:14:01 +08:00
__fish_print_debian_apache_mods.fish Add completions for Debian's Apache tools, a2{en,dis}{mod,conf,site} 2015-06-26 16:14:01 +08:00
__fish_print_debian_apache_sites.fish Add completions for Debian's Apache tools, a2{en,dis}{mod,conf,site} 2015-06-26 16:14:01 +08:00
__fish_print_debian_services.fish adds completion for Debian's invoke-rc.d command 2009-02-05 05:17:57 +10:00
__fish_print_encodings.fish Create common function for listing available character encodings, make sure it is used in all relevant places. 2007-09-22 07:10:51 +10:00
__fish_print_filesystems.fish Include mount helpers in filesystem completion 2015-12-30 19:02:03 +01:00
__fish_print_function_prototypes.fish Add functiopn prototype completions for valgrind --alloc-fn 2006-02-24 23:56:18 +10:00
__fish_print_help.fish Replace uses of expr with math/string 2016-02-03 23:23:59 +01:00
__fish_print_hostnames.fish Make reading ssh files case-insensitive 2016-03-22 11:09:36 +01:00
__fish_print_interfaces.fish Replace tr invocations 2016-02-03 23:47:46 +01:00
__fish_print_lpr_options.fish Squashed commit of the following: 2012-06-15 17:30:33 -07:00
__fish_print_lpr_printers.fish Squashed commit of the following: 2012-06-15 17:30:33 -07:00
__fish_print_lsblk_columns.fish Squashed commit of the following: 2012-06-15 17:30:33 -07:00
__fish_print_make_targets.fish Rename sgrep to __fish_sgrep 2015-09-09 20:55:04 +02:00
__fish_print_mounted.fish Port linux __fish_print_mounted to string 2015-12-17 12:14:03 +01:00
__fish_print_packages.fish Fix package listing for zypper 2016-02-12 23:00:40 +01:00
__fish_print_pacman_repos.fish Introduce __fish_print_pacman_repos helper 2015-09-25 13:37:39 +02:00
__fish_print_service_names.fish Improve __fish_print_service_names 2016-02-07 14:53:12 +01:00
__fish_print_svn_rev.fish Add __fish_svn_prompt function 2015-12-10 18:17:40 +01:00
__fish_print_users.fish Improve __fish_print_users 2016-02-15 19:31:20 +09:00
__fish_print_xdg_mimeapps.fish Squashed commit of the following: 2012-06-15 17:30:33 -07:00
__fish_print_xdg_mimetypes.fish Squashed commit of the following: 2012-06-15 17:30:33 -07:00
__fish_print_xrandr_modes.fish Squashed commit of the following: 2012-06-15 17:30:33 -07:00
__fish_print_xrandr_outputs.fish Squashed commit of the following: 2012-06-15 17:30:33 -07:00
__fish_print_xwindows.fish Squashed commit of the following: 2012-06-15 17:30:33 -07:00
__fish_prt_no_subcommand.fish Completions for prt-get and pkgutils, the package management utilities for CRUX (Giorgio Lando) 2007-08-04 06:22:53 +10:00
__fish_prt_packages.fish Completions for prt-get and pkgutils, the package management utilities for CRUX (Giorgio Lando) 2007-08-04 06:22:53 +10:00
__fish_prt_ports.fish Completions for prt-get and pkgutils, the package management utilities for CRUX (Giorgio Lando) 2007-08-04 06:22:53 +10:00
__fish_prt_use_package.fish remove trialing spaces #2 2010-09-18 10:18:26 +08:00
__fish_prt_use_port.fish Completions for prt-get and pkgutils, the package management utilities for CRUX (Giorgio Lando) 2007-08-04 06:22:53 +10:00
__fish_pwd.fish Mac OS X doesn't support uname -o. Use uname instead. 2013-08-16 20:48:44 +02:00
__fish_seen_subcommand_from.fish Drop unneeded '--' when using set builtin in various places 2006-12-13 06:37:27 +10:00
__fish_sgrep.fish Add __fish_sgrep 2015-09-09 21:52:18 +02:00
__fish_svn_prompt.fish Add __fish_svn_prompt function 2015-12-10 18:17:40 +01:00
__fish_systemctl_automounts.fish systemctl completions: Add more unit types and commands 2015-03-06 23:05:24 -08:00
__fish_systemctl_devices.fish systemctl completions: Add more unit types and commands 2015-03-06 23:05:24 -08:00
__fish_systemctl_mounts.fish systemctl completions: Support user-mode 2015-03-06 23:05:24 -08:00
__fish_systemctl_scopes.fish systemctl completions: Add more unit types and commands 2015-03-06 23:05:24 -08:00
__fish_systemctl_service_paths.fish systemctl completions: Only list matching units on enable/disable 2015-03-06 23:05:24 -08:00
__fish_systemctl_services.fish systemctl completions: Show instanced services 2015-09-17 18:16:56 +02:00
__fish_systemctl_slices.fish systemctl completions: Add more unit types and commands 2015-03-06 23:05:24 -08:00
__fish_systemctl_snapshots.fish systemctl completions: Add more unit types and commands 2015-03-06 23:05:24 -08:00
__fish_systemctl_sockets.fish systemctl completions: Only list matching units on enable/disable 2015-03-06 23:05:24 -08:00
__fish_systemctl_swaps.fish systemctl completions: Add more unit types and commands 2015-03-06 23:05:24 -08:00
__fish_systemctl_targets.fish systemctl completions: Add more unit types and commands 2015-03-06 23:05:24 -08:00
__fish_systemctl_timers.fish systemctl completions: Only list matching units on enable/disable 2015-03-06 23:05:24 -08:00
__fish_systemd_machine_images.fish Add completions for systemd's machinectl 2015-07-02 14:36:48 +08:00
__fish_systemd_machines.fish machinectl: Add "shell" subcommand 2015-09-28 16:22:29 +02:00
__fish_test_arg.fish Add vim completions, written by Velko Hristov 2007-01-30 10:42:33 +10:00
__fish_urlencode.fish Rewrite __fish_urlencode to not encode valid characters 2016-02-27 00:14:52 -08:00
__fish_use_subcommand.fish Minor cleanups, mostly of code comments 2006-11-11 20:54:52 +10:00
__fish_vcs_prompt.fish Add __fish_vcs_prompt helper function 2015-12-16 19:05:28 +01:00
__terlar_git_prompt.fish Vcs prompt: Break if vcs isn't installed 2015-09-06 14:58:09 +02:00
abbr.fish Migrate abbrs from =-separated to space-separated 2016-03-02 10:59:12 -08:00
alias.fish Fix aliases with whitespace 2015-09-23 13:28:32 +02:00
cd.fish limit size of cd history to 25 directories 2016-03-23 13:36:00 -07:00
contains_seq.fish Replace uses of expr with math/string 2016-02-03 23:23:59 +01:00
delete-or-exit.fish Made C-d delete characters in multiple lines. 2012-06-07 21:18:02 +05:30
dirh.fish Remove trailing whitespaces and change tabs to spaces 2012-11-18 11:23:22 +01:00
dirs.fish Improve dirs output and add -c option 2015-07-12 12:20:44 -07:00
down-or-search.fish Replace tr invocations 2016-02-03 23:47:46 +01:00
eval.fish Clean up recent fix for #1892 2015-01-17 15:36:30 -08:00
export.fish Use string split in export.fish 2016-02-10 20:33:43 +01:00
fish_config.fish Fix check for non-empty argument (= initial tab) in fish_config 2012-08-30 13:17:32 +02:00
fish_default_key_bindings.fish add \r equivalent binding 2016-03-20 12:08:46 -07:00
fish_fallback_prompt.fish Revert "prompts: more concise way of getting the hostname." 2015-10-16 07:01:12 +08:00
fish_indent.fish Add function for fish_indent so that it does not need to be in PATH, in preparation for making fish no longer need to set PATH 2013-02-13 14:44:10 -08:00
fish_mode_prompt.fish Implement lowercase-r replace in fish_vi_mode 2015-07-20 00:29:08 -07:00
fish_prompt.fish Revert "prompts: more concise way of getting the hostname." 2015-10-16 07:01:12 +08:00
fish_update_completions.fish Manpage completions: store in $XDG_DATA_HOME 2014-09-29 19:39:36 +08:00
fish_vi_cursor.fish Also send konsole cursor sequence for iTerm2 2015-10-13 15:36:55 +02:00
fish_vi_key_bindings.fish implement swap-selection-start-stop function 2016-03-20 19:22:04 -07:00
fish_vi_mode.fish Rework how the mode is reported in fish_vi_mode 2015-06-14 11:36:11 -07:00
funced.fish Use $VISUAL before $EDITOR in funced 2015-09-02 13:55:59 +02:00
funcsave.fish Fix funcsave to not delete the function it just created 2015-04-06 22:40:13 -07:00
grep.fish Try to just see if grep is happy with --color=auto, or not, as the --help exit status varies in BSD vs. GNU. 2016-02-20 21:11:40 +01:00
help.fish Fix user browser for help in Cygwin 2016-02-12 23:53:17 +01:00
history.fish history.fish: Fix input handling 2016-03-02 14:26:10 +01:00
hostname.fish Mac OS X doesn't support uname -o. Use uname instead. 2013-08-16 20:48:44 +02:00
isatty.fish isatty: use command test instead of redirections 2015-02-01 18:18:34 +08:00
la.fish Make all descriptions for function calls use the implicit translation from the previous patch instead of explicitly using N_ 2007-01-16 11:29:18 +10:00
ll.fish Making spacing of .fish files uniform. 2015-08-08 11:22:44 -07:00
ls.fish ls: find and use various dircolors initialisation files, if they exist 2014-10-17 10:23:05 +08:00
man.fish functions/man.fish: add fish into MANPATH even if it is already set 2015-10-09 21:01:59 +08:00
math.fish math: Join lines manually 2015-11-19 12:04:21 +01:00
N_.fish Drop use of the N_ no-op for translation descriptions. Instead, tell xgettext that any token following '--description' should be translated. This should greatly speed up completion loading on platforms where fork() is slow. (Hi, OS X) 2007-01-16 11:18:28 +10:00
nextd-or-forward-word.fish {prev,next}d-or-*-word: Fix for multiple lines 2015-08-26 21:30:04 +02:00
nextd.fish Make dirh, nextd, prevd work on OS X 2012-05-04 18:53:38 -07:00
open.fish Making spacing of .fish files uniform. 2015-08-08 11:22:44 -07:00
popd.fish Making spacing of .fish files uniform. 2015-08-08 11:22:44 -07:00
prevd-or-backward-word.fish {prev,next}d-or-*-word: Fix for multiple lines 2015-08-26 21:30:04 +02:00
prevd.fish Make dirh, nextd, prevd work on OS X 2012-05-04 18:53:38 -07:00
prompt_pwd.fish Document prompt_pwd 2015-12-17 15:25:13 +01:00
psub.fish psub: add -s, --suffix 2015-11-14 13:15:30 +01:00
pushd.fish Making spacing of .fish files uniform. 2015-08-08 11:22:44 -07:00
seq.fish Remove circular dependency in fallback seq 2015-11-27 19:34:27 +01:00
setenv.fish Make all descriptions for function calls use the implicit translation from the previous patch instead of explicitly using N_ 2007-01-16 11:29:18 +10:00
suspend.fish Add a shell suspend function 2015-08-30 18:42:35 +02:00
trap.fish Stringify trap 2016-02-03 23:23:04 +01:00
type.fish Use command which in type 2016-02-28 12:12:13 +01:00
umask.fish Rename sgrep to __fish_sgrep 2015-09-09 20:55:04 +02:00
up-or-search.fish Further work on keyboard navigating the completion list 2014-01-18 12:42:53 -08:00
vared.fish Making spacing of .fish files uniform. 2015-08-08 11:22:44 -07:00