From 585bdf45c8abf6c837ca1e0dd70f8c54beb1833d Mon Sep 17 00:00:00 2001 From: Fabian Homborg Date: Thu, 11 Feb 2016 14:57:24 +0100 Subject: [PATCH] abbr: Bail early when the abbr already exists This speeds up the common case of `abbr -a` calls in config.fish by about 90% - from 900ms to 90ms for 100 calls. --- share/functions/abbr.fish | 3 +++ 1 file changed, 3 insertions(+) diff --git a/share/functions/abbr.fish b/share/functions/abbr.fish index e86ea5598..b37091c42 100644 --- a/share/functions/abbr.fish +++ b/share/functions/abbr.fish @@ -72,6 +72,9 @@ function abbr --description "Manage abbreviations" switch $mode case 'add' + # Bail out early if the exact abbr is already in + # This depends on the separator staying the same, but that's the common case (config.fish) + contains -- $mode_arg $fish_user_abbreviations; and return 0 set -l key set -l value __fish_abbr_parse_entry $mode_arg key value