From 0c1ee0e224c6ea95d8d0cd06bd4bf66bc0145387 Mon Sep 17 00:00:00 2001 From: Daniel Mouritzen Date: Wed, 18 Sep 2019 13:57:33 +0200 Subject: [PATCH] Escape backslashes in key when grepping for keybindings --- sensible.tmux | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sensible.tmux b/sensible.tmux index 5cf2af6..c95f58d 100755 --- a/sensible.tmux +++ b/sensible.tmux @@ -19,6 +19,11 @@ command_exists() { type "$command" >/dev/null 2>&1 } +escape_for_regex() { + local inp="$1" + echo $inp | sed 's/\\/\\\\/g' +} + # returns prefix key, e.g. 'C-a' prefix() { tmux show-option -gv prefix @@ -45,7 +50,7 @@ server_option_value_not_changed() { } key_binding_not_set() { - local key="$1" + local key=$(escape_for_regex "$1") if $(tmux list-keys | grep -q "${KEY_BINDING_REGEX}${key}[[:space:]]"); then return 1 else @@ -54,8 +59,8 @@ key_binding_not_set() { } key_binding_not_changed() { - local key="$1" - local default_value="$2" + local key=$(escape_for_regex "$1") + local default_value=$(escape_for_regex "$2") if $(tmux list-keys | grep -q "${KEY_BINDING_REGEX}${key}[[:space:]]\+${default_value}"); then # key still has the default binding return 0