From f5241da836213b8ee05d4946e4884be2a6714658 Mon Sep 17 00:00:00 2001 From: Fabian Homborg Date: Tue, 12 Apr 2016 20:36:46 +0200 Subject: [PATCH] Let the binding functions set the binding variable This ensures they can just be called and "the right thing" will happen - fish_user_key_bindings will be executed, the variable will reflect the bindings. --- share/functions/fish_default_key_bindings.fish | 4 ++++ share/functions/fish_vi_key_bindings.fish | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/share/functions/fish_default_key_bindings.fish b/share/functions/fish_default_key_bindings.fish index c057754ab..e679fac08 100644 --- a/share/functions/fish_default_key_bindings.fish +++ b/share/functions/fish_default_key_bindings.fish @@ -1,6 +1,10 @@ function fish_default_key_bindings -d "Default (Emacs-like) key bindings for fish" -a mode if not set -q mode[1] + if test "$fish_key_bindings" != "fish_default_key_bindings" + set fish_key_bindings fish_default_key_bindings # This triggers the handler, which calls us again and ensures the user_key_bindings are executed + return + end # Clear earlier bindings, if any bind --erase --all end diff --git a/share/functions/fish_vi_key_bindings.fish b/share/functions/fish_vi_key_bindings.fish index c2a40361e..1956a11bd 100644 --- a/share/functions/fish_vi_key_bindings.fish +++ b/share/functions/fish_vi_key_bindings.fish @@ -1,4 +1,8 @@ function fish_vi_key_bindings --description 'vi-like key bindings for fish' + if test "$fish_key_bindings" != "fish_vi_key_bindings" + set fish_key_bindings fish_vi_key_bindings # This triggers the handler, which calls us again and ensures the user_key_bindings are executed + return + end # The default escape timeout is 300ms. But for users of Vi bindings that can # be slightly annoying when trying to switch to Vi "normal" mode. Too, # vi-mode users are unlikely to use escape-as-meta. So set a much shorter