nu-table: Fix 1char usange + tests

Don't like the test diff.
Maybe Min Width for a cell must be 2 at least?
This commit is contained in:
Maxim Zhiburt 2025-05-07 03:25:05 +03:00
parent e6fd3cb53c
commit 2f5205ac72
2 changed files with 513 additions and 336 deletions

View File

@ -1362,16 +1362,21 @@ fn test_expand_big_0() {
"│ │ │ │ d │ │",
"│ │ │ │ } │ │",
"│ │ ╰───────────┴───╯ │",
"│ │ ╭───┬──────┬────╮ │",
"│ bench │ │ # │ name │ ha │ │",
"│ │ │ │ │ rn │ │",
"│ │ │ │ │ es │ │",
"│ │ │ │ │ s │ │",
"│ │ ├───┼──────┼────┤ │",
"│ │ │ 0 │ benc │ fa │ │",
"│ │ │ │ hmar │ ls │ │",
"│ │ │ │ ks │ e │ │",
"│ │ ╰───┴──────┴────╯ │",
"│ │ ╭───┬───────┬───╮ │",
"│ bench │ │ # │ name │ h │ │",
"│ │ │ │ │ a │ │",
"│ │ │ │ │ r │ │",
"│ │ │ │ │ n │ │",
"│ │ │ │ │ e │ │",
"│ │ │ │ │ s │ │",
"│ │ │ │ │ s │ │",
"│ │ ├───┼───────┼───┤ │",
"│ │ │ 0 │ bench │ f │ │",
"│ │ │ │ marks │ a │ │",
"│ │ │ │ │ l │ │",
"│ │ │ │ │ s │ │",
"│ │ │ │ │ e │ │",
"│ │ ╰───┴───────┴───╯ │",
"╰──────────────────┴───────────────────╯",
]);
@ -1553,114 +1558,303 @@ fn table_expande_with_no_header_internally_0() {
"│ │ │ │ │ │ ╰─────┴──────────╯ │ │ │",
"│ │ │ │ │ display_output │ │ │ │",
"│ │ │ │ ╰────────────────┴────────────────────╯ │ │",
"│ │ │ │ ╭───┬───────────────────────────┬────────────────────────┬────────┬─────╮ │ │",
"│ │ │ menus │ │ # │ name │ only_buffer_difference │ marker │ ... │ │ │",
"│ │ │ │ ├───┼───────────────────────────┼────────────────────────┼────────┼─────┤ │ │",
"│ │ │ │ │ 0 │ completion_menu │ false │ | │ ... │ │ │",
"│ │ │ │ │ 1 │ history_menu │ true │ ? │ ... │ │ │",
"│ │ │ │ │ 2 │ help_menu │ true │ ? │ ... │ │ │",
"│ │ │ │ │ 3 │ commands_menu │ false │ # │ ... │ │ │",
"│ │ │ │ │ 4 │ vars_menu │ true │ # │ ... │ │ │",
"│ │ │ │ │ 5 │ commands_with_description │ true │ # │ ... │ │ │",
"│ │ │ │ ╰───┴───────────────────────────┴────────────────────────┴────────┴─────╯ │ │",
"│ │ │ │ ╭────┬───────────────────────────┬──────────┬─────────┬────────────────┬────╮ │ │",
"│ │ │ keybindings │ │ # │ name │ modifier │ keycode │ mode │ ev │ │ │",
"│ │ │ │ │ │ │ │ │ │ en │ │ │",
"│ │ │ │ │ │ │ │ │ │ t │ │ │",
"│ │ │ │ ├────┼───────────────────────────┼──────────┼─────────┼────────────────┼────┤ │ │",
"│ │ │ │ │ 0 │ completion_menu │ none │ tab │ ╭───┬────────╮ │ {r │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ emacs │ │ ec │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ vi_nor │ │ or │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ mal │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ vi_ins │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ert │ │ fi │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴────────╯ │ el │ │ │",
"│ │ │ │ │ │ │ │ │ │ d} │ │ │",
"│ │ │ │ │ 1 │ completion_previous │ shift │ backtab │ ╭───┬────────╮ │ {r │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ emacs │ │ ec │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ vi_nor │ │ or │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ mal │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ vi_ins │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ert │ │ fi │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴────────╯ │ el │ │ │",
"│ │ │ │ │ │ │ │ │ │ d} │ │ │",
"│ │ │ │ │ 2 │ history_menu │ control │ char_r │ emacs │ {r │ │ │",
"│ │ │ │ │ │ │ │ │ │ ec │ │ │",
"│ │ │ │ │ │ │ │ │ │ or │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ │ │",
"│ │ │ │ │ │ │ │ │ │ fi │ │ │",
"│ │ │ │ │ │ │ │ │ │ el │ │ │",
"│ │ │ │ │ │ │ │ │ │ ds │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 3 │ next_page │ control │ char_x │ emacs │ {r │ │ │",
"│ │ │ │ │ │ │ │ │ │ ec │ │ │",
"│ │ │ │ │ │ │ │ │ │ or │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ fi │ │ │",
"│ │ │ │ │ │ │ │ │ │ el │ │ │",
"│ │ │ │ │ │ │ │ │ │ d} │ │ │",
"│ │ │ │ │ 4 │ undo_or_previous_page │ control │ char_z │ emacs │ {r │ │ │",
"│ │ │ │ │ │ │ │ │ │ ec │ │ │",
"│ │ │ │ │ │ │ │ │ │ or │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ fi │ │ │",
"│ │ │ │ │ │ │ │ │ │ el │ │ │",
"│ │ │ │ │ │ │ │ │ │ d} │ │ │",
"│ │ │ │ │ 5 │ yank │ control │ char_y │ emacs │ {r │ │ │",
"│ │ │ │ │ │ │ │ │ │ ec │ │ │",
"│ │ │ │ │ │ │ │ │ │ or │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ fi │ │ │",
"│ │ │ │ │ │ │ │ │ │ el │ │ │",
"│ │ │ │ │ │ │ │ │ │ d} │ │ │",
"│ │ │ │ │ 6 │ unix-line-discard │ control │ char_u │ ╭───┬────────╮ │ {r │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ emacs │ │ ec │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ vi_nor │ │ or │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ mal │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ vi_ins │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ert │ │ fi │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴────────╯ │ el │ │ │",
"│ │ │ │ │ │ │ │ │ │ d} │ │ │",
"│ │ │ │ │ 7 │ kill-line │ control │ char_k │ ╭───┬────────╮ │ {r │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ emacs │ │ ec │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ vi_nor │ │ or │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ mal │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ vi_ins │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ert │ │ fi │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴────────╯ │ el │ │ │",
"│ │ │ │ │ │ │ │ │ │ d} │ │ │",
"│ │ │ │ │ 8 │ commands_menu │ control │ char_t │ ╭───┬────────╮ │ {r │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ emacs │ │ ec │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ vi_nor │ │ or │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ mal │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ vi_ins │ │ 2 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ert │ │ fi │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴────────╯ │ el │ │ │",
"│ │ │ │ │ │ │ │ │ │ ds │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 9 │ vars_menu │ alt │ char_o │ ╭───┬────────╮ │ {r │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ emacs │ │ ec │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ vi_nor │ │ or │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ mal │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ vi_ins │ │ 2 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ert │ │ fi │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴────────╯ │ el │ │ │",
"│ │ │ │ │ │ │ │ │ │ ds │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 10 │ commands_with_description │ control │ char_s │ ╭───┬────────╮ │ {r │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ emacs │ │ ec │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ vi_nor │ │ or │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ mal │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ vi_ins │ │ 2 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ert │ │ fi │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴────────╯ │ el │ │ │",
"│ │ │ │ │ │ │ │ │ │ ds │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ ╰────┴───────────────────────────┴──────────┴─────────┴────────────────┴────╯ │ │",
"│ │ │ │ ╭───┬───────────────────────────┬────────────────────────┬────────┬───┬─────╮ │ │",
"│ │ │ menus │ │ # │ name │ only_buffer_difference │ marker │ t │ ... │ │ │",
"│ │ │ │ │ │ │ │ │ y │ │ │ │",
"│ │ │ │ │ │ │ │ │ p │ │ │ │",
"│ │ │ │ │ │ │ │ │ e │ │ │ │",
"│ │ │ │ ├───┼───────────────────────────┼────────────────────────┼────────┼───┼─────┤ │ │",
"│ │ │ │ │ 0 │ completion_menu │ false │ | │ { │ ... │ │ │",
"│ │ │ │ │ │ │ │ │ r │ │ │ │",
"│ │ │ │ │ │ │ │ │ e │ │ │ │",
"│ │ │ │ │ │ │ │ │ c │ │ │ │",
"│ │ │ │ │ │ │ │ │ o │ │ │ │",
"│ │ │ │ │ │ │ │ │ r │ │ │ │",
"│ │ │ │ │ │ │ │ │ d │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ 4 │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ f │ │ │ │",
"│ │ │ │ │ │ │ │ │ i │ │ │ │",
"│ │ │ │ │ │ │ │ │ e │ │ │ │",
"│ │ │ │ │ │ │ │ │ l │ │ │ │",
"│ │ │ │ │ │ │ │ │ d │ │ │ │",
"│ │ │ │ │ │ │ │ │ s │ │ │ │",
"│ │ │ │ │ │ │ │ │ } │ │ │ │",
"│ │ │ │ │ 1 │ history_menu │ true │ ? │ { │ ... │ │ │",
"│ │ │ │ │ │ │ │ │ r │ │ │ │",
"│ │ │ │ │ │ │ │ │ e │ │ │ │",
"│ │ │ │ │ │ │ │ │ c │ │ │ │",
"│ │ │ │ │ │ │ │ │ o │ │ │ │",
"│ │ │ │ │ │ │ │ │ r │ │ │ │",
"│ │ │ │ │ │ │ │ │ d │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ 2 │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ f │ │ │ │",
"│ │ │ │ │ │ │ │ │ i │ │ │ │",
"│ │ │ │ │ │ │ │ │ e │ │ │ │",
"│ │ │ │ │ │ │ │ │ l │ │ │ │",
"│ │ │ │ │ │ │ │ │ d │ │ │ │",
"│ │ │ │ │ │ │ │ │ s │ │ │ │",
"│ │ │ │ │ │ │ │ │ } │ │ │ │",
"│ │ │ │ │ 2 │ help_menu │ true │ ? │ { │ ... │ │ │",
"│ │ │ │ │ │ │ │ │ r │ │ │ │",
"│ │ │ │ │ │ │ │ │ e │ │ │ │",
"│ │ │ │ │ │ │ │ │ c │ │ │ │",
"│ │ │ │ │ │ │ │ │ o │ │ │ │",
"│ │ │ │ │ │ │ │ │ r │ │ │ │",
"│ │ │ │ │ │ │ │ │ d │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ 6 │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ f │ │ │ │",
"│ │ │ │ │ │ │ │ │ i │ │ │ │",
"│ │ │ │ │ │ │ │ │ e │ │ │ │",
"│ │ │ │ │ │ │ │ │ l │ │ │ │",
"│ │ │ │ │ │ │ │ │ d │ │ │ │",
"│ │ │ │ │ │ │ │ │ s │ │ │ │",
"│ │ │ │ │ │ │ │ │ } │ │ │ │",
"│ │ │ │ │ 3 │ commands_menu │ false │ # │ { │ ... │ │ │",
"│ │ │ │ │ │ │ │ │ r │ │ │ │",
"│ │ │ │ │ │ │ │ │ e │ │ │ │",
"│ │ │ │ │ │ │ │ │ c │ │ │ │",
"│ │ │ │ │ │ │ │ │ o │ │ │ │",
"│ │ │ │ │ │ │ │ │ r │ │ │ │",
"│ │ │ │ │ │ │ │ │ d │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ 4 │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ f │ │ │ │",
"│ │ │ │ │ │ │ │ │ i │ │ │ │",
"│ │ │ │ │ │ │ │ │ e │ │ │ │",
"│ │ │ │ │ │ │ │ │ l │ │ │ │",
"│ │ │ │ │ │ │ │ │ d │ │ │ │",
"│ │ │ │ │ │ │ │ │ s │ │ │ │",
"│ │ │ │ │ │ │ │ │ } │ │ │ │",
"│ │ │ │ │ 4 │ vars_menu │ true │ # │ { │ ... │ │ │",
"│ │ │ │ │ │ │ │ │ r │ │ │ │",
"│ │ │ │ │ │ │ │ │ e │ │ │ │",
"│ │ │ │ │ │ │ │ │ c │ │ │ │",
"│ │ │ │ │ │ │ │ │ o │ │ │ │",
"│ │ │ │ │ │ │ │ │ r │ │ │ │",
"│ │ │ │ │ │ │ │ │ d │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ 2 │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ f │ │ │ │",
"│ │ │ │ │ │ │ │ │ i │ │ │ │",
"│ │ │ │ │ │ │ │ │ e │ │ │ │",
"│ │ │ │ │ │ │ │ │ l │ │ │ │",
"│ │ │ │ │ │ │ │ │ d │ │ │ │",
"│ │ │ │ │ │ │ │ │ s │ │ │ │",
"│ │ │ │ │ │ │ │ │ } │ │ │ │",
"│ │ │ │ │ 5 │ commands_with_description │ true │ # │ { │ ... │ │ │",
"│ │ │ │ │ │ │ │ │ r │ │ │ │",
"│ │ │ │ │ │ │ │ │ e │ │ │ │",
"│ │ │ │ │ │ │ │ │ c │ │ │ │",
"│ │ │ │ │ │ │ │ │ o │ │ │ │",
"│ │ │ │ │ │ │ │ │ r │ │ │ │",
"│ │ │ │ │ │ │ │ │ d │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ 6 │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ f │ │ │ │",
"│ │ │ │ │ │ │ │ │ i │ │ │ │",
"│ │ │ │ │ │ │ │ │ e │ │ │ │",
"│ │ │ │ │ │ │ │ │ l │ │ │ │",
"│ │ │ │ │ │ │ │ │ d │ │ │ │",
"│ │ │ │ │ │ │ │ │ s │ │ │ │",
"│ │ │ │ │ │ │ │ │ } │ │ │ │",
"│ │ │ │ ╰───┴───────────────────────────┴────────────────────────┴────────┴───┴─────╯ │ │",
"│ │ │ │ ╭────┬───────────────────────────┬──────────┬─────────┬─────────────────┬───╮ │ │",
"│ │ │ keybindings │ │ # │ name │ modifier │ keycode │ mode │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ v │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ n │ │ │",
"│ │ │ │ │ │ │ │ │ │ t │ │ │",
"│ │ │ │ ├────┼───────────────────────────┼──────────┼─────────┼─────────────────┼───┤ │ │",
"│ │ │ │ │ 0 │ completion_menu │ none │ tab │ ╭───┬─────────╮ │ { │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ emacs │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ vi_norm │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ al │ │ c │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ vi_inse │ │ o │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ rt │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴─────────╯ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ f │ │ │",
"│ │ │ │ │ │ │ │ │ │ i │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ l │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 1 │ completion_previous │ shift │ backtab │ ╭───┬─────────╮ │ { │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ emacs │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ vi_norm │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ al │ │ c │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ vi_inse │ │ o │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ rt │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴─────────╯ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ f │ │ │",
"│ │ │ │ │ │ │ │ │ │ i │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ l │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 2 │ history_menu │ control │ char_r │ emacs │ { │ │ │",
"│ │ │ │ │ │ │ │ │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ c │ │ │",
"│ │ │ │ │ │ │ │ │ │ o │ │ │",
"│ │ │ │ │ │ │ │ │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ f │ │ │",
"│ │ │ │ │ │ │ │ │ │ i │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ l │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ s │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 3 │ next_page │ control │ char_x │ emacs │ { │ │ │",
"│ │ │ │ │ │ │ │ │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ c │ │ │",
"│ │ │ │ │ │ │ │ │ │ o │ │ │",
"│ │ │ │ │ │ │ │ │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ f │ │ │",
"│ │ │ │ │ │ │ │ │ │ i │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ l │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 4 │ undo_or_previous_page │ control │ char_z │ emacs │ { │ │ │",
"│ │ │ │ │ │ │ │ │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ c │ │ │",
"│ │ │ │ │ │ │ │ │ │ o │ │ │",
"│ │ │ │ │ │ │ │ │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ f │ │ │",
"│ │ │ │ │ │ │ │ │ │ i │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ l │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 5 │ yank │ control │ char_y │ emacs │ { │ │ │",
"│ │ │ │ │ │ │ │ │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ c │ │ │",
"│ │ │ │ │ │ │ │ │ │ o │ │ │",
"│ │ │ │ │ │ │ │ │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ f │ │ │",
"│ │ │ │ │ │ │ │ │ │ i │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ l │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 6 │ unix-line-discard │ control │ char_u │ ╭───┬─────────╮ │ { │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ emacs │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ vi_norm │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ al │ │ c │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ vi_inse │ │ o │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ rt │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴─────────╯ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ f │ │ │",
"│ │ │ │ │ │ │ │ │ │ i │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ l │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 7 │ kill-line │ control │ char_k │ ╭───┬─────────╮ │ { │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ emacs │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ vi_norm │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ al │ │ c │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ vi_inse │ │ o │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ rt │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴─────────╯ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ f │ │ │",
"│ │ │ │ │ │ │ │ │ │ i │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ l │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 8 │ commands_menu │ control │ char_t │ ╭───┬─────────╮ │ { │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ emacs │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ vi_norm │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ al │ │ c │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ vi_inse │ │ o │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ rt │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴─────────╯ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ f │ │ │",
"│ │ │ │ │ │ │ │ │ │ i │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ l │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ s │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 9 │ vars_menu │ alt │ char_o │ ╭───┬─────────╮ │ { │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ emacs │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ vi_norm │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ al │ │ c │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ vi_inse │ │ o │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ rt │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴─────────╯ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ f │ │ │",
"│ │ │ │ │ │ │ │ │ │ i │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ l │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ s │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 10 │ commands_with_description │ control │ char_s │ ╭───┬─────────╮ │ { │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ emacs │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ vi_norm │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ al │ │ c │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ vi_inse │ │ o │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ rt │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴─────────╯ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ f │ │ │",
"│ │ │ │ │ │ │ │ │ │ i │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ l │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ s │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ ╰────┴───────────────────────────┴──────────┴─────────┴─────────────────┴───╯ │ │",
"│ │ ╰──────────────────────────────────┴───────────────────────────────────────────────────────────────────────────────╯ │",
"╰────────────────────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯",
])
@ -1852,220 +2046,194 @@ fn table_expande_with_no_header_internally_1() {
"│ │ │ │ │ 4 │ vars_menu │ true │ # │ ... │ │ │",
"│ │ │ │ │ 5 │ commands_with_description │ true │ # │ ... │ │ │",
"│ │ │ │ ╰───┴───────────────────────────┴────────────────────────┴───────┴─────╯ │ │",
"│ │ │ │ ╭────┬───────────────────────────┬──────────┬─────────┬───────────┬────╮ │ │",
"│ │ │ keybindings │ │ # │ name │ modifier │ keycode │ mode │ ev │ │ │",
"│ │ │ │ │ │ │ │ │ │ en │ │ │",
"│ │ │ │ │ │ │ │ │ │ t │ │ │",
"│ │ │ │ ├────┼───────────────────────────┼──────────┼─────────┼───────────┼────┤ │ │",
"│ │ │ │ │ 0 │ completion_menu │ none │ tab │ ╭───┬───╮ │ {r │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ e │ │ ec │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ m │ │ or │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ a │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ c │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ s │ │ fi │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ v │ │ el │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ i │ │ d} │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ n │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ o │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ r │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ m │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ a │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ l │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ v │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ i │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ i │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ n │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ s │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ e │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ r │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ t │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴───╯ │ │ │ │",
"│ │ │ │ │ 1 │ completion_previous │ shift │ backtab │ ╭───┬───╮ │ {r │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ e │ │ ec │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ m │ │ or │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ a │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ c │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ s │ │ fi │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ v │ │ el │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ i │ │ d} │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ n │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ o │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ r │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ m │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ a │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ l │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ v │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ i │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ i │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ n │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ s │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ e │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ r │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ t │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴───╯ │ │ │ │",
"│ │ │ │ │ 2 │ history_menu │ control │ char_r │ emacs │ {r │ │ │",
"│ │ │ │ │ │ │ │ │ │ ec │ │ │",
"│ │ │ │ │ │ │ │ │ │ or │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ │ │",
"│ │ │ │ │ │ │ │ │ │ fi │ │ │",
"│ │ │ │ │ │ │ │ │ │ el │ │ │",
"│ │ │ │ │ │ │ │ │ │ ds │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 3 │ next_page │ control │ char_x │ emacs │ {r │ │ │",
"│ │ │ │ │ │ │ │ │ │ ec │ │ │",
"│ │ │ │ │ │ │ │ │ │ or │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ fi │ │ │",
"│ │ │ │ │ │ │ │ │ │ el │ │ │",
"│ │ │ │ │ │ │ │ │ │ d} │ │ │",
"│ │ │ │ │ 4 │ undo_or_previous_page │ control │ char_z │ emacs │ {r │ │ │",
"│ │ │ │ │ │ │ │ │ │ ec │ │ │",
"│ │ │ │ │ │ │ │ │ │ or │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ fi │ │ │",
"│ │ │ │ │ │ │ │ │ │ el │ │ │",
"│ │ │ │ │ │ │ │ │ │ d} │ │ │",
"│ │ │ │ │ 5 │ yank │ control │ char_y │ emacs │ {r │ │ │",
"│ │ │ │ │ │ │ │ │ │ ec │ │ │",
"│ │ │ │ │ │ │ │ │ │ or │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ fi │ │ │",
"│ │ │ │ │ │ │ │ │ │ el │ │ │",
"│ │ │ │ │ │ │ │ │ │ d} │ │ │",
"│ │ │ │ │ 6 │ unix-line-discard │ control │ char_u │ ╭───┬───╮ │ {r │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ e │ │ ec │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ m │ │ or │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ a │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ c │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ s │ │ fi │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ v │ │ el │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ i │ │ d} │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ n │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ o │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ r │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ m │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ a │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ l │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ v │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ i │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ i │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ n │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ s │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ e │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ r │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ t │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴───╯ │ │ │ │",
"│ │ │ │ │ 7 │ kill-line │ control │ char_k │ ╭───┬───╮ │ {r │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ e │ │ ec │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ m │ │ or │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ a │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ c │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ s │ │ fi │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ v │ │ el │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ i │ │ d} │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ n │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ o │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ r │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ m │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ a │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ l │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ v │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ i │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ i │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ n │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ s │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ e │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ r │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ t │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴───╯ │ │ │ │",
"│ │ │ │ │ 8 │ commands_menu │ control │ char_t │ ╭───┬───╮ │ {r │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ e │ │ ec │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ m │ │ or │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ a │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ c │ │ 2 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ s │ │ fi │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ v │ │ el │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ i │ │ ds │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _ │ │ } │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ n │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ o │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ r │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ m │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ a │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ l │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ v │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ i │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ i │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ n │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ s │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ e │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ r │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ t │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴───╯ │ │ │ │",
"│ │ │ │ │ 9 │ vars_menu │ alt │ char_o │ ╭───┬───╮ │ {r │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ e │ │ ec │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ m │ │ or │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ a │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ c │ │ 2 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ s │ │ fi │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ v │ │ el │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ i │ │ ds │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _ │ │ } │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ n │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ o │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ r │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ m │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ a │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ l │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ v │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ i │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ i │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ n │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ s │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ e │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ r │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ t │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴───╯ │ │ │ │",
"│ │ │ │ │ 10 │ commands_with_description │ control │ char_s │ ╭───┬───╮ │ {r │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ e │ │ ec │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ m │ │ or │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ a │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ c │ │ 2 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ s │ │ fi │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ v │ │ el │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ i │ │ ds │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _ │ │ } │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ n │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ o │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ r │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ m │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ a │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ l │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ v │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ i │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ i │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ n │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ s │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ e │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ r │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ t │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴───╯ │ │ │ │",
"│ │ │ │ ╰────┴───────────────────────────┴──────────┴─────────┴───────────┴────╯ │ │",
"│ │ │ │ ╭────┬───────────────────────────┬──────────┬─────────┬────────────┬───╮ │ │",
"│ │ │ keybindings │ │ # │ name │ modifier │ keycode │ mode │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ v │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ n │ │ │",
"│ │ │ │ │ │ │ │ │ │ t │ │ │",
"│ │ │ │ ├────┼───────────────────────────┼──────────┼─────────┼────────────┼───┤ │ │",
"│ │ │ │ │ 0 │ completion_menu │ none │ tab │ ╭───┬────╮ │ { │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ em │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ac │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ s │ │ c │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ vi │ │ o │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _n │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ or │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ma │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ l │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ vi │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _i │ │ f │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ns │ │ i │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ er │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ t │ │ l │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴────╯ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 1 │ completion_previous │ shift │ backtab │ ╭───┬────╮ │ { │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ em │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ac │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ s │ │ c │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ vi │ │ o │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _n │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ or │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ma │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ l │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ vi │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _i │ │ f │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ns │ │ i │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ er │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ t │ │ l │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴────╯ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 2 │ history_menu │ control │ char_r │ emacs │ { │ │ │",
"│ │ │ │ │ │ │ │ │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ c │ │ │",
"│ │ │ │ │ │ │ │ │ │ o │ │ │",
"│ │ │ │ │ │ │ │ │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ f │ │ │",
"│ │ │ │ │ │ │ │ │ │ i │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ l │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ s │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 3 │ next_page │ control │ char_x │ emacs │ { │ │ │",
"│ │ │ │ │ │ │ │ │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ c │ │ │",
"│ │ │ │ │ │ │ │ │ │ o │ │ │",
"│ │ │ │ │ │ │ │ │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ f │ │ │",
"│ │ │ │ │ │ │ │ │ │ i │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ l │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 4 │ undo_or_previous_page │ control │ char_z │ emacs │ { │ │ │",
"│ │ │ │ │ │ │ │ │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ c │ │ │",
"│ │ │ │ │ │ │ │ │ │ o │ │ │",
"│ │ │ │ │ │ │ │ │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ f │ │ │",
"│ │ │ │ │ │ │ │ │ │ i │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ l │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 5 │ yank │ control │ char_y │ emacs │ { │ │ │",
"│ │ │ │ │ │ │ │ │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ c │ │ │",
"│ │ │ │ │ │ │ │ │ │ o │ │ │",
"│ │ │ │ │ │ │ │ │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ f │ │ │",
"│ │ │ │ │ │ │ │ │ │ i │ │ │",
"│ │ │ │ │ │ │ │ │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ l │ │ │",
"│ │ │ │ │ │ │ │ │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 6 │ unix-line-discard │ control │ char_u │ ╭───┬────╮ │ { │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ em │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ac │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ s │ │ c │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ vi │ │ o │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _n │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ or │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ma │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ l │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ vi │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _i │ │ f │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ns │ │ i │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ er │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ t │ │ l │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴────╯ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 7 │ kill-line │ control │ char_k │ ╭───┬────╮ │ { │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ em │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ac │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ s │ │ c │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ vi │ │ o │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _n │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ or │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ma │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ l │ │ 1 │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ vi │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _i │ │ f │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ns │ │ i │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ er │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ t │ │ l │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴────╯ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 8 │ commands_menu │ control │ char_t │ ╭───┬────╮ │ { │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ em │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ac │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ s │ │ c │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ vi │ │ o │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _n │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ or │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ma │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ l │ │ 2 │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ vi │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _i │ │ f │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ns │ │ i │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ er │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ t │ │ l │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴────╯ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ s │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 9 │ vars_menu │ alt │ char_o │ ╭───┬────╮ │ { │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ em │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ac │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ s │ │ c │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ vi │ │ o │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _n │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ or │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ma │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ l │ │ 2 │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ vi │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _i │ │ f │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ns │ │ i │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ er │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ t │ │ l │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴────╯ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ s │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ │ 10 │ commands_with_description │ control │ char_s │ ╭───┬────╮ │ { │ │ │",
"│ │ │ │ │ │ │ │ │ │ 0 │ em │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ac │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ s │ │ c │ │ │",
"│ │ │ │ │ │ │ │ │ │ 1 │ vi │ │ o │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _n │ │ r │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ or │ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ma │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ l │ │ 2 │ │ │",
"│ │ │ │ │ │ │ │ │ │ 2 │ vi │ │ │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ _i │ │ f │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ ns │ │ i │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ er │ │ e │ │ │",
"│ │ │ │ │ │ │ │ │ │ │ t │ │ l │ │ │",
"│ │ │ │ │ │ │ │ │ ╰───┴────╯ │ d │ │ │",
"│ │ │ │ │ │ │ │ │ │ s │ │ │",
"│ │ │ │ │ │ │ │ │ │ } │ │ │",
"│ │ │ │ ╰────┴───────────────────────────┴──────────┴─────────┴────────────┴───╯ │ │",
"│ │ ╰──────────────────────────────────┴──────────────────────────────────────────────────────────────────────────╯ │",
"╰────────────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯",
])

View File

@ -102,7 +102,7 @@ type CellResult = Result<Option<CellOutput>, ShellError>;
fn expand_list(input: &[Value], cfg: Cfg<'_>) -> TableResult {
const SPLIT_LINE_SPACE: usize = 1;
const MIN_CELL_CONTENT_WIDTH: usize = 3;
const MIN_CELL_WIDTH: usize = 3;
const TRUNCATE_CONTENT_WIDTH: usize = 3;
if input.is_empty() {
@ -118,7 +118,7 @@ fn expand_list(input: &[Value], cfg: Cfg<'_>) -> TableResult {
.opts
.width
.saturating_sub(SPLIT_LINE_SPACE + SPLIT_LINE_SPACE);
if available_width < MIN_CELL_CONTENT_WIDTH {
if available_width < MIN_CELL_WIDTH {
return Ok(None);
}
@ -271,9 +271,18 @@ fn expand_list(input: &[Value], cfg: Cfg<'_>) -> TableResult {
// We want to reserver some space for next column
// If we can't fit it in it will be popped anyhow.
let is_prelast_column = col + 2 == count_columns;
let is_last_column = col + 1 == count_columns;
if !is_last_column && available > truncate_column_width + SPLIT_LINE_SPACE {
available -= truncate_column_width + SPLIT_LINE_SPACE;
if is_prelast_column {
let need_width = MIN_CELL_WIDTH + SPLIT_LINE_SPACE;
if available > need_width {
available -= need_width;
}
} else if !is_last_column {
let need_width: usize = truncate_column_width + SPLIT_LINE_SPACE;
if available > need_width {
available -= need_width;
}
}
let mut total_column_rows = 0usize;