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.
This commit is contained in:
Fabian Homborg 2016-02-11 14:57:24 +01:00
parent 89206d8654
commit 585bdf45c8

View file

@ -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