From ae149c8e652d2497c961de449fd1e47605f681f8 Mon Sep 17 00:00:00 2001 From: Daniel Sockwell Date: Thu, 7 Feb 2019 08:07:34 -0500 Subject: [PATCH 01/11] =?UTF-8?q?Revise=20the=20vi=20mode=20indicator=20to?= =?UTF-8?q?=20=E2=9D=AE=20for=20non-insert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit changes the default behavior of the prompt in vi mode. Previously, the prompt retained the fish shell's default mode indicator: it would print `[I]`, `[N]`, or `[V]` to indicate whether the user was in insert, normal, or visual mode. After this commit, the prompt will flip to `❮` whenever the user is not in insert mode. This matches the behavior of the zsh version of Pure. The user can restore the prior functionality by setting the `pure_reverse_prompt_symbol_in_vimode` variable to `false` in their conf.d/pure.fish file. --- conf.d/pure.fish | 8 +++++++- functions/_pure_prompt_symbol.fish | 18 +++++++++++++++++- functions/_pure_prompt_vimode.fish | 5 ++++- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/conf.d/pure.fish b/conf.d/pure.fish index 2f702389..a11ee1b7 100644 --- a/conf.d/pure.fish +++ b/conf.d/pure.fish @@ -13,6 +13,7 @@ _pure_set_default pure_color_dark (set_color black) # Prompt _pure_set_default pure_symbol_prompt "❯" +_pure_set_default pure_symbol_reverse "❮" _pure_set_default pure_color_prompt_on_error $pure_color_danger _pure_set_default pure_color_prompt_on_success $pure_color_success @@ -57,8 +58,13 @@ _pure_set_default pure_color_command_duration $pure_color_warning _pure_set_default pure_right_prompt "" _pure_set_default pure_color_right_prompt $pure_color_normal +# vi mode indicator +# true (default): indicate a non-insert mode by reversing the prompt symbol (❮) +# false: indicate vi mode with [I], [N], [V] +_pure_set_default pure_reverse_prompt_symbol_in_vimode true + # Title _pure_set_default pure_symbol_title_bar_separator "—" # Whether or not is a fresh session -set --global _pure_fresh_session true \ No newline at end of file +set --global _pure_fresh_session true diff --git a/functions/_pure_prompt_symbol.fish b/functions/_pure_prompt_symbol.fish index c249b247..79a1211c 100644 --- a/functions/_pure_prompt_symbol.fish +++ b/functions/_pure_prompt_symbol.fish @@ -2,7 +2,10 @@ function _pure_prompt_symbol \ --description 'Print prompt symbol' \ --argument-names exit_code + set --local reverse_symbol_instead_of_default_mode_prompt $pure_reverse_prompt_symbol_in_vimode set --local pure_symbol $pure_symbol_prompt + set --local pure_symbol_reverse $pure_symbol_reverse + set --local command_succeed 0 set --local color_symbol $pure_color_prompt_on_success # default pure symbol color @@ -14,5 +17,18 @@ function _pure_prompt_symbol \ end end - echo "$color_symbol$pure_symbol" + if test reverse_symbol_instead_of_default_mode_prompt + # Do nothing if not in vi mode + if test "$fish_key_bindings" = "fish_vi_key_bindings" + or test "$fish_key_bindings" = "fish_hybrid_key_bindings" + if test "$fish_bind_mode" = "insert" + echo "$color_symbol$pure_symbol" + else + echo "$color_symbol$pure_symbol_reverse" + end + end + + else + echo "$color_symbol$pure_symbol" + end end diff --git a/functions/_pure_prompt_vimode.fish b/functions/_pure_prompt_vimode.fish index a0eca769..75b7c0bb 100644 --- a/functions/_pure_prompt_vimode.fish +++ b/functions/_pure_prompt_vimode.fish @@ -1,3 +1,6 @@ function _pure_prompt_vimode - echo (fish_default_mode_prompt) + set --local reverse_symbol_instead_of_default_mode_prompt $pure_reverse_prompt_symbol_in_vimode + if test ! reverse_symbol_instead_of_default_mode_prompt + echo (fish_default_mode_prompt) + end end From 58e63dc0421d4fd824eaa51a1288df0bef838f25 Mon Sep 17 00:00:00 2001 From: Daniel Sockwell Date: Mon, 11 Feb 2019 10:24:46 -0500 Subject: [PATCH 02/11] Simplify code testing settings for vi_mode symbol --- functions/_pure_prompt_symbol.fish | 30 ++++++++++-------------------- functions/_pure_prompt_vimode.fish | 3 +-- 2 files changed, 11 insertions(+), 22 deletions(-) diff --git a/functions/_pure_prompt_symbol.fish b/functions/_pure_prompt_symbol.fish index 79a1211c..7b92bbd9 100644 --- a/functions/_pure_prompt_symbol.fish +++ b/functions/_pure_prompt_symbol.fish @@ -2,33 +2,23 @@ function _pure_prompt_symbol \ --description 'Print prompt symbol' \ --argument-names exit_code - set --local reverse_symbol_instead_of_default_mode_prompt $pure_reverse_prompt_symbol_in_vimode - set --local pure_symbol $pure_symbol_prompt - set --local pure_symbol_reverse $pure_symbol_reverse - + set --local pure_symbol $pure_symbol_prompt # default pure symbol (`❯`) + set --local is_vi_mode (string match fish_{vi,hybrid}_key_bindings $fish_key_bindings) + if test is_vi_mode \ + -a $pure_reverse_prompt_symbol_in_vimode \ + -a "$fish_bind_mode" != "insert" + set pure_symbol $pure_symbol_reverse # default reverse symbol `❮` + end set --local command_succeed 0 set --local color_symbol $pure_color_prompt_on_success # default pure symbol color if test $exit_code -ne 0 set color_symbol $pure_color_prompt_on_error # different pure symbol color when previous command failed - if test "$pure_separate_prompt_on_error" = true - set color_symbol "$pure_color_prompt_on_error$pure_symbol_prompt$pure_color_prompt_on_success" + if test $pure_separate_prompt_on_error = true + set color_symbol "$pure_color_symbol_error$pure_symbol$pure_color_symbol_success" end end - if test reverse_symbol_instead_of_default_mode_prompt - # Do nothing if not in vi mode - if test "$fish_key_bindings" = "fish_vi_key_bindings" - or test "$fish_key_bindings" = "fish_hybrid_key_bindings" - if test "$fish_bind_mode" = "insert" - echo "$color_symbol$pure_symbol" - else - echo "$color_symbol$pure_symbol_reverse" - end - end - - else - echo "$color_symbol$pure_symbol" - end + echo "$color_symbol$pure_symbol" end diff --git a/functions/_pure_prompt_vimode.fish b/functions/_pure_prompt_vimode.fish index 75b7c0bb..dff060fe 100644 --- a/functions/_pure_prompt_vimode.fish +++ b/functions/_pure_prompt_vimode.fish @@ -1,6 +1,5 @@ function _pure_prompt_vimode - set --local reverse_symbol_instead_of_default_mode_prompt $pure_reverse_prompt_symbol_in_vimode - if test ! reverse_symbol_instead_of_default_mode_prompt + if test ! $pure_reverse_prompt_symbol_in_vimode echo (fish_default_mode_prompt) end end From 6b030a46d4be9be03ce26b13724879a2ec9b72fa Mon Sep 17 00:00:00 2001 From: Daniel Sockwell Date: Mon, 11 Feb 2019 10:36:42 -0500 Subject: [PATCH 03/11] Add test for pure_reverse_prompt_symbol_in_vimode --- tests/_pure.test.fish | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/_pure.test.fish b/tests/_pure.test.fish index d4a4624b..4e18fcb1 100644 --- a/tests/_pure.test.fish +++ b/tests/_pure.test.fish @@ -26,6 +26,18 @@ set --local empty '' echo $pure_symbol_prompt ) = "❯" +@test "configure: pure_symbol_reverse" ( + set --erase pure_symbol_reverse + source $current_dirname/../conf.d/pure.fish + echo $pure_symbol_reverse +) = "❮" + +@test "configure: pure_reverse_prompt_symbol_in_vimode" ( + set --erase pure_reverse_prompt_symbol_in_vimode + source $DIRNAME/../conf.d/pure.fish + echo $pure_reverse_prompt_symbol_in_vimode + ) = true + @test "configure: pure_symbol_git_unpulled_commits" ( set --erase pure_symbol_git_unpulled_commits source $current_dirname/../conf.d/pure.fish From 484a74ec481f33197cf763e23abeaf756d78b6a8 Mon Sep 17 00:00:00 2001 From: Edouard Lopez Date: Tue, 19 Feb 2019 10:57:59 +0100 Subject: [PATCH 04/11] fix merge conflict --- functions/_pure_prompt_symbol.fish | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/functions/_pure_prompt_symbol.fish b/functions/_pure_prompt_symbol.fish index 7b92bbd9..d0da18fa 100644 --- a/functions/_pure_prompt_symbol.fish +++ b/functions/_pure_prompt_symbol.fish @@ -2,23 +2,23 @@ function _pure_prompt_symbol \ --description 'Print prompt symbol' \ --argument-names exit_code - set --local pure_symbol $pure_symbol_prompt # default pure symbol (`❯`) + set --local prompt_symbol $pure_symbol_prompt # default pure symbol (`❯`) set --local is_vi_mode (string match fish_{vi,hybrid}_key_bindings $fish_key_bindings) if test is_vi_mode \ - -a $pure_reverse_prompt_symbol_in_vimode \ - -a "$fish_bind_mode" != "insert" - set pure_symbol $pure_symbol_reverse # default reverse symbol `❮` + -a $pure_reverse_prompt_symbol_in_vimode \ + -a "$fish_bind_mode" != "insert" + set prompt_symbol $pure_symbol_reverse # default reverse symbol `❮` end - set --local command_succeed 0 + set --local command_succeed 0 set --local color_symbol $pure_color_prompt_on_success # default pure symbol color - if test $exit_code -ne 0 + if test $exit_code -ne $command_succeed set color_symbol $pure_color_prompt_on_error # different pure symbol color when previous command failed - if test $pure_separate_prompt_on_error = true - set color_symbol "$pure_color_symbol_error$pure_symbol$pure_color_symbol_success" + if test "$pure_separate_prompt_on_error" = true + set color_symbol "$pure_color_symbol_error$prompt_symbol$pure_color_symbol_success" end end - echo "$color_symbol$pure_symbol" + echo "$color_symbol$prompt_symbol" end From 12edd51aa6798ba721017880b4425d37b001dc46 Mon Sep 17 00:00:00 2001 From: Edouard Lopez Date: Tue, 19 Feb 2019 12:36:59 +0100 Subject: [PATCH 05/11] correct import path (use $current_dirname) --- tests/_pure.test.fish | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/_pure.test.fish b/tests/_pure.test.fish index 4e18fcb1..c6cf29e3 100644 --- a/tests/_pure.test.fish +++ b/tests/_pure.test.fish @@ -34,7 +34,7 @@ set --local empty '' @test "configure: pure_reverse_prompt_symbol_in_vimode" ( set --erase pure_reverse_prompt_symbol_in_vimode - source $DIRNAME/../conf.d/pure.fish + source $current_dirname/../conf.d/pure.fish echo $pure_reverse_prompt_symbol_in_vimode ) = true From c62d05294ecf29e8b23337d647c3b8aa27d48f71 Mon Sep 17 00:00:00 2001 From: Edouard Lopez Date: Tue, 19 Feb 2019 12:37:48 +0100 Subject: [PATCH 06/11] extract _pure_get_prompt_symbol method --- functions/_pure_get_prompt_symbol.fish | 14 ++++++++++++++ functions/_pure_prompt_symbol.fish | 9 +-------- tests/_pure_get_prompt_symbol.test.fish | 14 ++++++++++++++ tests/_pure_prompt_symbol.test.fish | 1 + 4 files changed, 30 insertions(+), 8 deletions(-) create mode 100644 functions/_pure_get_prompt_symbol.fish create mode 100644 tests/_pure_get_prompt_symbol.test.fish diff --git a/functions/_pure_get_prompt_symbol.fish b/functions/_pure_get_prompt_symbol.fish new file mode 100644 index 00000000..de10b8c0 --- /dev/null +++ b/functions/_pure_get_prompt_symbol.fish @@ -0,0 +1,14 @@ +function _pure_get_prompt_symbol \ + --description 'Print prompt symbol' \ + --argument-names exit_code + + set --local prompt_symbol $pure_symbol_prompt # default pure symbol (`❯`) + set --local is_vi_mode (string match fish_{vi,hybrid}_key_bindings $fish_key_bindings) + if test is_vi_mode \ + -a "$pure_reverse_prompt_symbol_in_vimode" = true \ + -a "$fish_bind_mode" != "insert" + set prompt_symbol $pure_symbol_reverse # default reverse symbol `❮` + end + + echo "$prompt_symbol" +end diff --git a/functions/_pure_prompt_symbol.fish b/functions/_pure_prompt_symbol.fish index d0da18fa..d44613a2 100644 --- a/functions/_pure_prompt_symbol.fish +++ b/functions/_pure_prompt_symbol.fish @@ -2,14 +2,7 @@ function _pure_prompt_symbol \ --description 'Print prompt symbol' \ --argument-names exit_code - set --local prompt_symbol $pure_symbol_prompt # default pure symbol (`❯`) - set --local is_vi_mode (string match fish_{vi,hybrid}_key_bindings $fish_key_bindings) - if test is_vi_mode \ - -a $pure_reverse_prompt_symbol_in_vimode \ - -a "$fish_bind_mode" != "insert" - set prompt_symbol $pure_symbol_reverse # default reverse symbol `❮` - end - + set --local prompt_symbol (_pure_get_prompt_symbol) set --local command_succeed 0 set --local color_symbol $pure_color_prompt_on_success # default pure symbol color if test $exit_code -ne $command_succeed diff --git a/tests/_pure_get_prompt_symbol.test.fish b/tests/_pure_get_prompt_symbol.test.fish new file mode 100644 index 00000000..53e8790f --- /dev/null +++ b/tests/_pure_get_prompt_symbol.test.fish @@ -0,0 +1,14 @@ +source $current_dirname/../functions/_pure_get_prompt_symbol.fish + +@test "_pure_get_prompt_symbol: get default symbol ❯" ( + set pure_symbol_prompt '❯' + + _pure_get_prompt_symbol +) = '❯' + +@test "_pure_get_prompt_symbol: get vi-mode symbol ❮" ( + set pure_reverse_prompt_symbol_in_vimode true + set pure_symbol_reverse '❮' + + _pure_get_prompt_symbol +) = '❮' diff --git a/tests/_pure_prompt_symbol.test.fish b/tests/_pure_prompt_symbol.test.fish index 9cd6be08..4a8d81ad 100644 --- a/tests/_pure_prompt_symbol.test.fish +++ b/tests/_pure_prompt_symbol.test.fish @@ -1,4 +1,5 @@ source $current_dirname/../functions/_pure_prompt_symbol.fish +source $current_dirname/../functions/_pure_get_prompt_symbol.fish set --local empty '' set --local fail 1 From c72242e2823dbe34cc2289036a14844b2ad1ee85 Mon Sep 17 00:00:00 2001 From: Edouard Lopez Date: Tue, 19 Feb 2019 13:06:52 +0100 Subject: [PATCH 07/11] correct variable name --- functions/_pure_prompt_symbol.fish | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions/_pure_prompt_symbol.fish b/functions/_pure_prompt_symbol.fish index d44613a2..ee3c4a55 100644 --- a/functions/_pure_prompt_symbol.fish +++ b/functions/_pure_prompt_symbol.fish @@ -9,7 +9,7 @@ function _pure_prompt_symbol \ set color_symbol $pure_color_prompt_on_error # different pure symbol color when previous command failed if test "$pure_separate_prompt_on_error" = true - set color_symbol "$pure_color_symbol_error$prompt_symbol$pure_color_symbol_success" + set color_symbol "$pure_color_prompt_on_error$prompt_symbol$pure_color_prompt_on_success" end end From ef543ef9c79c0e4231a7302d145b31d4256d454d Mon Sep 17 00:00:00 2001 From: Edouard Lopez Date: Tue, 19 Feb 2019 13:16:18 +0100 Subject: [PATCH 08/11] import _pure_get_prompt_symbol.fish in tests --- tests/_pure_prompt.test.fish | 1 + tests/_pure_prompt_symbol.test.fish | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/_pure_prompt.test.fish b/tests/_pure_prompt.test.fish index daf7ea20..27123227 100644 --- a/tests/_pure_prompt.test.fish +++ b/tests/_pure_prompt.test.fish @@ -2,6 +2,7 @@ source $current_dirname/../functions/_pure_prompt.fish source $current_dirname/../functions/_pure_prompt_virtualenv.fish source $current_dirname/../functions/_pure_prompt_vimode.fish source $current_dirname/../functions/_pure_prompt_symbol.fish +source $current_dirname/../functions/_pure_get_prompt_symbol.fish source $current_dirname/../functions/_pure_print_prompt.fish source $current_dirname/../functions/_pure_string_width.fish diff --git a/tests/_pure_prompt_symbol.test.fish b/tests/_pure_prompt_symbol.test.fish index 4a8d81ad..4cd94526 100644 --- a/tests/_pure_prompt_symbol.test.fish +++ b/tests/_pure_prompt_symbol.test.fish @@ -1,5 +1,5 @@ -source $current_dirname/../functions/_pure_prompt_symbol.fish source $current_dirname/../functions/_pure_get_prompt_symbol.fish +source $current_dirname/../functions/_pure_prompt_symbol.fish set --local empty '' set --local fail 1 From 587cfa0acd2ceb3ec0261d951f361d400ae1738e Mon Sep 17 00:00:00 2001 From: Edouard Lopez Date: Tue, 19 Feb 2019 13:30:09 +0100 Subject: [PATCH 09/11] bump pure_version to 2.1.0 fixes #139 --- conf.d/pure.fish | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf.d/pure.fish b/conf.d/pure.fish index a11ee1b7..6ccf57a5 100644 --- a/conf.d/pure.fish +++ b/conf.d/pure.fish @@ -1,4 +1,4 @@ -set --universal pure_version 2.0.2 # used for bug report +set --universal pure_version 2.1.0 # used for bug report # Base colors _pure_set_default pure_color_primary (set_color blue) From 8726bb9f6e5b41f403f7a50628891a8dce4fdb7c Mon Sep 17 00:00:00 2001 From: Edouard Lopez Date: Tue, 19 Feb 2019 15:47:54 +0100 Subject: [PATCH 10/11] rename variable to `pure_symbol_reverse_prompt` --- conf.d/pure.fish | 4 ++-- functions/_pure_get_prompt_symbol.fish | 4 ++-- tests/_pure.test.fish | 6 +++--- tests/_pure_get_prompt_symbol.test.fish | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/conf.d/pure.fish b/conf.d/pure.fish index 6ccf57a5..928e36cc 100644 --- a/conf.d/pure.fish +++ b/conf.d/pure.fish @@ -13,7 +13,7 @@ _pure_set_default pure_color_dark (set_color black) # Prompt _pure_set_default pure_symbol_prompt "❯" -_pure_set_default pure_symbol_reverse "❮" +_pure_set_default pure_symbol_reverse_prompt "❮" # used for VI mode _pure_set_default pure_color_prompt_on_error $pure_color_danger _pure_set_default pure_color_prompt_on_success $pure_color_success @@ -58,7 +58,7 @@ _pure_set_default pure_color_command_duration $pure_color_warning _pure_set_default pure_right_prompt "" _pure_set_default pure_color_right_prompt $pure_color_normal -# vi mode indicator +# VI mode indicator # true (default): indicate a non-insert mode by reversing the prompt symbol (❮) # false: indicate vi mode with [I], [N], [V] _pure_set_default pure_reverse_prompt_symbol_in_vimode true diff --git a/functions/_pure_get_prompt_symbol.fish b/functions/_pure_get_prompt_symbol.fish index de10b8c0..224df10b 100644 --- a/functions/_pure_get_prompt_symbol.fish +++ b/functions/_pure_get_prompt_symbol.fish @@ -2,12 +2,12 @@ function _pure_get_prompt_symbol \ --description 'Print prompt symbol' \ --argument-names exit_code - set --local prompt_symbol $pure_symbol_prompt # default pure symbol (`❯`) + set --local prompt_symbol $pure_symbol_prompt set --local is_vi_mode (string match fish_{vi,hybrid}_key_bindings $fish_key_bindings) if test is_vi_mode \ -a "$pure_reverse_prompt_symbol_in_vimode" = true \ -a "$fish_bind_mode" != "insert" - set prompt_symbol $pure_symbol_reverse # default reverse symbol `❮` + set prompt_symbol $pure_symbol_reverse_prompt end echo "$prompt_symbol" diff --git a/tests/_pure.test.fish b/tests/_pure.test.fish index c6cf29e3..1e1bb6c2 100644 --- a/tests/_pure.test.fish +++ b/tests/_pure.test.fish @@ -26,10 +26,10 @@ set --local empty '' echo $pure_symbol_prompt ) = "❯" -@test "configure: pure_symbol_reverse" ( - set --erase pure_symbol_reverse +@test "configure: pure_symbol_reverse_prompt" ( + set --erase pure_symbol_reverse_prompt source $current_dirname/../conf.d/pure.fish - echo $pure_symbol_reverse + echo $pure_symbol_reverse_prompt ) = "❮" @test "configure: pure_reverse_prompt_symbol_in_vimode" ( diff --git a/tests/_pure_get_prompt_symbol.test.fish b/tests/_pure_get_prompt_symbol.test.fish index 53e8790f..e1356d23 100644 --- a/tests/_pure_get_prompt_symbol.test.fish +++ b/tests/_pure_get_prompt_symbol.test.fish @@ -8,7 +8,7 @@ source $current_dirname/../functions/_pure_get_prompt_symbol.fish @test "_pure_get_prompt_symbol: get vi-mode symbol ❮" ( set pure_reverse_prompt_symbol_in_vimode true - set pure_symbol_reverse '❮' + set pure_symbol_reverse_prompt '❮' _pure_get_prompt_symbol ) = '❮' From b9714a2e6f7a5b4c49b52c6a60995d85f8e1fcfe Mon Sep 17 00:00:00 2001 From: Edouard Lopez Date: Tue, 19 Feb 2019 16:50:47 +0100 Subject: [PATCH 11/11] quote variable when checking for emptyness --- functions/_pure_get_prompt_symbol.fish | 2 +- tests/_pure_get_prompt_symbol.test.fish | 35 ++++++++++++++++++++++--- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/functions/_pure_get_prompt_symbol.fish b/functions/_pure_get_prompt_symbol.fish index 224df10b..7dac16b8 100644 --- a/functions/_pure_get_prompt_symbol.fish +++ b/functions/_pure_get_prompt_symbol.fish @@ -4,7 +4,7 @@ function _pure_get_prompt_symbol \ set --local prompt_symbol $pure_symbol_prompt set --local is_vi_mode (string match fish_{vi,hybrid}_key_bindings $fish_key_bindings) - if test is_vi_mode \ + if test -n "$is_vi_mode" \ -a "$pure_reverse_prompt_symbol_in_vimode" = true \ -a "$fish_bind_mode" != "insert" set prompt_symbol $pure_symbol_reverse_prompt diff --git a/tests/_pure_get_prompt_symbol.test.fish b/tests/_pure_get_prompt_symbol.test.fish index e1356d23..c43d2a9d 100644 --- a/tests/_pure_get_prompt_symbol.test.fish +++ b/tests/_pure_get_prompt_symbol.test.fish @@ -1,14 +1,41 @@ source $current_dirname/../functions/_pure_get_prompt_symbol.fish +function setup + set --global pure_symbol_prompt '❯' + set --global pure_symbol_reverse_prompt '❮' +end + +function teardown + set fish_key_bindings fish_default_key_bindings + set fish_bind_mode 'default' +end + @test "_pure_get_prompt_symbol: get default symbol ❯" ( - set pure_symbol_prompt '❯' + set pure_reverse_prompt_symbol_in_vimode false + + _pure_get_prompt_symbol +) = '❯' + +@test "_pure_get_prompt_symbol: get default symbol ❯ when key binding is default" ( + set pure_reverse_prompt_symbol_in_vimode true + set fish_bind_mode 'insert' + set fish_key_bindings 'fish_default_key_bindings' _pure_get_prompt_symbol ) = '❯' -@test "_pure_get_prompt_symbol: get vi-mode symbol ❮" ( +@test "_pure_get_prompt_symbol: get default symbol ❯ when bind mode is default" ( set pure_reverse_prompt_symbol_in_vimode true - set pure_symbol_reverse_prompt '❮' - + set fish_key_bindings 'fish_default_key_bindings' + set fish_bind_mode 'default' + + _pure_get_prompt_symbol +) = '❯' + +@test "_pure_get_prompt_symbol: get reverse symbol ❮ when VI key binding and not in insert mode" ( + set pure_reverse_prompt_symbol_in_vimode true + set fish_bind_mode 'default' + set fish_key_bindings 'fish_vi_key_bindings' + _pure_get_prompt_symbol ) = '❮'