From 7d198fa404eed86af161f4d0ccb01186a6ddc910 Mon Sep 17 00:00:00 2001 From: Michael Forster Date: Fri, 1 Jul 2022 18:26:00 +0200 Subject: [PATCH] Add an initial test for fish_cursor_selection_mode --- src/reader.cpp | 4 +- tests/pexpects/cursor_selection.py | 61 ++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 tests/pexpects/cursor_selection.py diff --git a/src/reader.cpp b/src/reader.cpp index 1574dec51..ff84b2b96 100644 --- a/src/reader.cpp +++ b/src/reader.cpp @@ -1049,8 +1049,8 @@ wcstring combine_command_and_autosuggestion(const wcstring &cmdline, } bool reader_data_t::select_char_after_cursor() { - auto val = vars().get(L"fish_select_char_after_cursor"); - return !val || val->as_string() == L"1"; + auto val = vars().get(L"fish_cursor_selection_mode"); + return !val || val->as_string() == L"inclusive"; } /// Update the cursor position. diff --git a/tests/pexpects/cursor_selection.py b/tests/pexpects/cursor_selection.py new file mode 100644 index 000000000..474d77e83 --- /dev/null +++ b/tests/pexpects/cursor_selection.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python3 +from pexpect_helper import SpawnedProc + +home, end = "\x01", "\x05" +left, right ="\x02", "\x06" +select, dump = "\x00", "!" + +sp = SpawnedProc() +sendline, expect_prompt, expect_str = sp.sendline, sp.expect_prompt, sp.expect_str +expect_prompt() + +sendline("bind -k nul begin-selection") +expect_prompt() +sendline("bind ! 'echo -n \"<$(commandline --current-selection)>\"'") +expect_prompt() + +sendline("set fish_cursor_selection_mode inclusive") + +sendline(f"echo{home}{select}{dump}") +expect_str("") +sendline(f"echo{home}{select}{right}{dump}") +expect_str("") +sendline(f"echo{home}{right}{select}{left}{dump}") +expect_str("") + +sendline(f"echo{home}{right}{select}{dump}") +expect_str("") +sendline(f"echo{home}{right}{select}{right}{dump}") +expect_str("") +sendline(f"echo{home}{right}{right}{select}{left}{dump}") +expect_str("") + +sendline(f"echo{end}{select}{dump}") +expect_str("<>") +sendline(f"echo{end}{select}{left}{dump}") +expect_str("") +sendline(f"echo{end}{left}{select}{right}{dump}") +expect_str("") + +sendline("set fish_cursor_selection_mode exclusive") + +sendline(f"echo{home}{select}{dump}") +expect_str("<>") +sendline(f"echo{home}{select}{right}{dump}") +expect_str("") +sendline(f"echo{home}{right}{select}{left}{dump}") +expect_str("") + +sendline(f"echo{home}{right}{select}{dump}") +expect_str("<>") +sendline(f"echo{home}{right}{select}{right}{dump}") +expect_str("") +sendline(f"echo{home}{right}{right}{select}{left}{dump}") +expect_str("") + +sendline(f"echo{end}{select}{dump}") +expect_str("<>") +sendline(f"echo{end}{select}{left}{dump}") +expect_str("") +sendline(f"echo{end}{left}{select}{right}{dump}") +expect_str("")