@@ -400,7 +400,7 @@ message.__replace = function (kind, content, add_to_history)
400400 -- to be added to the history.
401401 message .history [message .id ] = {
402402 kind = kind ,
403- content = { { 1 , " hi " , 178 }} or content
403+ content = content
404404 };
405405 message .id = message .id + 1 ;
406406 else
@@ -971,6 +971,21 @@ message.__history = function (entries)
971971 {}
972972 };
973973
974+ --- Equalizes line & extmark count.
975+ --- @param _lines string[]
976+ --- @param _exts ( ui.message.hl_fragment[] )[]
977+ local function lines_exts_equal (_lines , _exts )
978+ if # _lines < # _exts then
979+ for _ = 1 , # _exts - # _lines do
980+ table.insert (lines , " " );
981+ end
982+ elseif # _lines > # _exts then
983+ for _ = 1 , # _lines - # _exts do
984+ table.insert (exts , {});
985+ end
986+ end
987+ end
988+
974989 --- | fS
975990
976991 if vim .g .__ui_history_pref == " vim" and entries then
@@ -980,6 +995,8 @@ message.__history = function (entries)
980995
981996 lines = vim .list_extend (lines , _lines );
982997 exts = vim .list_extend (exts , _exts );
998+
999+ lines_exts_equal (lines , exts );
9831000 end
9841001 else
9851002 -- Show history from `ui.nvim`.
@@ -1013,6 +1030,8 @@ message.__history = function (entries)
10131030
10141031 lines = vim .list_extend (lines , m_lines )
10151032 exts = vim .list_extend (exts , m_exts )
1033+
1034+ lines_exts_equal (lines , exts );
10161035 end
10171036 end
10181037
0 commit comments