From: Christian Heller Date: Sun, 19 Oct 2025 08:53:30 +0000 (+0200) Subject: In testing, reduce verbosity of "repeat" command. X-Git-Url: https://plomlompom.com/repos/%7B%7B%20web_path%20%7D%7D/static/%7B%7Bdb.prefix%7D%7D/conditions?a=commitdiff_plain;ds=sidebyside;p=ircplom In testing, reduce verbosity of "repeat" command. --- diff --git a/src/ircplom/testing.py b/src/ircplom/testing.py index 8883223..21251da 100644 --- a/src/ircplom/testing.py +++ b/src/ircplom/testing.py @@ -37,7 +37,7 @@ _N_ARGS_FOR_CMD = { _MARK_LOG: 2, _MARK_LOGSRVRMSG: 3, _MARK_PROMPT: 1, - _MARK_REPEAT: 3, + _MARK_REPEAT: 2, _MARK_SCREENLINE: 3, _MARK_SERVERMSG: 2, _MARK_WAIT: 1 @@ -222,21 +222,22 @@ class _Playbook: **__ ) -> list[tuple[str, str]]: inserts: list[tuple[str, str]] = [] - for inserted_t in self._lines_t[int(anchors[args[0]] + 1 - ):int(anchors[args[1]])]: + for inserted_t in self._lines_t[ + int(anchors[args[0]+'-in'] + 1): + int(anchors[args[0]+'-out'])]: insert = inserted_t[1] - if len(args) == 3 and insert: + if len(args) == 2 and insert: cmd_name, remains = insert.split(_SEP_0, maxsplit=1) if cmd_name == _MARK_ANCHOR: continue args_ = list(self._args_for_cmd(cmd_name, remains)) - if args[2][0] in '+-': + if args[1][0] in '+-': args_[0] = _SEP_1.join( - str(int(n) + int(args[2])) + str(int(n) + int(args[1])) for n in args_[0].split(_SEP_1) if n ) or ',' else: - args_[0] = args[2] + args_[0] = args[1] insert = _SEP_0.join([cmd_name] + args_) inserts += [(index_str + ':r:' + inserted_t[0], insert)] return inserts diff --git a/src/tests/_timeout_retries.test b/src/tests/_timeout_retries.test index 22f4be6..195aedd 100644 --- a/src/tests/_timeout_retries.test +++ b/src/tests/_timeout_retries.test @@ -59,23 +59,23 @@ log 1 >.. PING :what's up? servermsg 0 timeout servermsg 0 no timely PONG from server log 1 $.. connection_state set to: [broken: no timely PONG from server] -repeat isupport-clear-in isupport-clear-out +repeat isupport-clear log 1 $.. connection_state set to: [] log , $.. DISCONNECTED log 1 $!. will retry connecting in 1 seconds -repeat conn-full-in conn-full-out +repeat conn-full # on second server, check timed auto-retries don't activate after manual intervention > /connect baz.bar.foo:10003 foo:bar baz:foobarbazquux -repeat clientwin-init-in clientwin-init-out 2 +repeat clientwin-init 2 log , $.. DISCONNECTED log 2 $.. hostname set to: [baz.bar.foo] -repeat conn-init-retries-in conn-init-retries-out 2 +repeat conn-init-retries 2 > /window 2 > /reconnect -repeat conn0-in conn0-out 2 +repeat conn0 2 log , $.. CONNECTED -repeat conn1-in conn1-out 2 +repeat conn1 2 wait 4 > /disconnect log 2 >.. QUIT :ircplom says bye diff --git a/src/tests/connect_disconnect_legalities.test b/src/tests/connect_disconnect_legalities.test index be8eadc..bed7b48 100644 --- a/src/tests/connect_disconnect_legalities.test +++ b/src/tests/connect_disconnect_legalities.test @@ -35,7 +35,7 @@ log 1 $!. not re-connecting since already connected log 1 >.. QUIT :ircplom says bye loggedservermsg 0 1 <.. ERROR :Closing link: (whatever@whatever.com) [Quit: ircplom says bye] log 1 $.. connection_state set to: [Closing link: (whatever@whatever.com) [Quit: ircplom says bye]] -repeat isupport-clear-in isupport-clear-out +repeat isupport-clear log 1 $.. connection_state set to: [] log , $.. DISCONNECTED @@ -45,7 +45,7 @@ log 1 $!. cannot send, connection seems closed # succeed to re-connect after disconnect > /reconnect -repeat connecting-in connecting-out +repeat connecting > /quit log 0 <.. diff --git a/src/tests/error_disconnects.test b/src/tests/error_disconnects.test index 1ec55ba..e626d67 100644 --- a/src/tests/error_disconnects.test +++ b/src/tests/error_disconnects.test @@ -29,7 +29,7 @@ log 1 >.. NICK :foo loggedservermsg 0 1 <.. ERROR :abc def ghi log 1 $.. connection_state set to: [abc def ghi] | disconnecting-in -repeat isupport-clear-in isupport-clear-out +repeat isupport-clear log 1 $.. connection_state set to: [] log , $.. DISCONNECTED | disconnecting-out @@ -37,12 +37,12 @@ log , $.. DISCONNECTED # to prepare next test, get back to connected state > /window 1 > /reconnect -repeat connecting-in connecting-out +repeat connecting # test "timed out)" ERROR handling loggedservermsg 0 1 <.. ERROR :Closing link: (Connection timed out) log 1 $.. connection_state set to: [Closing link: (Connection timed out)] -repeat disconnecting-in disconnecting-out +repeat disconnecting log 1 $!. will retry connecting in 1 seconds # over and out diff --git a/src/tests/pingpong.test b/src/tests/pingpong.test index d6b98a7..ae5ea5f 100644 --- a/src/tests/pingpong.test +++ b/src/tests/pingpong.test @@ -42,11 +42,11 @@ loggedservermsg 0 1 <.. :*.?.net NOTICE * :*** Looking up your ident... log 2 <.. (server) *** Looking up your ident... # another timeout instead of pong? disconnect -repeat trigger-ping-in trigger-ping-out +repeat trigger-ping servermsg 0 timeout servermsg 0 no timely PONG from server log 1 $.. connection_state set to: [broken: no timely PONG from server] -repeat isupport-clear-in isupport-clear-out +repeat isupport-clear log 1 $.. connection_state set to: [] log 2 $.. DISCONNECTED log 1 $!. will retry connecting in 1 seconds @@ -55,10 +55,10 @@ log 1 $!. will retry connecting in 1 seconds # on re-connect, ensure timer cleared, i.e. only 2nd time-out will disconnect > /window 1 > /reconnect -repeat conn0-in conn0-out +repeat conn0 log 2 $.. CONNECTED -repeat conn1-in conn1-out -repeat full-timeout-in full-timeout-out +repeat conn1 +repeat full-timeout > /quit log 0 <.. diff --git a/src/tests/test.test b/src/tests/test.test index a6c2cee..c5bacb3 100644 --- a/src/tests/test.test +++ b/src/tests/test.test @@ -331,7 +331,7 @@ log 5 $.. foo1!~foobarbaz@baz.bar.foo quits: Client Quit log 1 $.. channels:#testtest:exits:me cleared loggedservermsg 0 1 <.. ERROR :Closing link: (~foobarbaz@baz.bar.foo) [Quit: ircplom says bye] log 1 $.. connection_state set to: [Closing link: (~foobarbaz@baz.bar.foo) [Quit: ircplom says bye]] -repeat isupport-clear-in isupport-clear-out +repeat isupport-clear log 1 $.. caps cleared log 1 $.. channels cleared log 1 $.. connection_state set to: [] @@ -354,18 +354,18 @@ log 1 $!. not sending, since not in channel # test setting up second client, but 432 irrecoverably > /connect baz.bar.foo ?foo foo:foo -repeat standard-clears-in standard-clears-out +7 +repeat standard-clears +7 log 8 $.. hostname set to: [baz.bar.foo] log 8 $.. port set to: [-1] log 8 $.. nick_wanted set to: [?foo] log 8 $.. user_wanted set to: [foo] log 8 $.. realname set to: [foo] -repeat conn-in conn-out +7 +repeat conn +7 log 8 >.. USER foo 0 * :foo log 8 >.. NICK :?foo loggedservermsg 1 8 <.. :*.?.net 432 * ?foo :Erroneous nickname | disconnect-in -repeat isupport-clear-in isupport-clear-out 8 +repeat isupport-clear 8 log 8 $.. connection_state set to: [] log , $.. DISCONNECTED | disconnect-out @@ -373,28 +373,28 @@ log 8 $!. nickname refused for bad format, giving up # test failing third connection > /connect baz.baz.baz baz baz:baz -repeat standard-clears-in standard-clears-out +8 +repeat standard-clears +8 log 9 $.. hostname set to: [baz.baz.baz] log 9 $.. port set to: [-1] log 9 $.. nick_wanted set to: [baz] log 9 $.. user_wanted set to: [baz] log 9 $.. realname set to: [baz] -repeat conn-in conn-out +8 +repeat conn +8 log 9 >.. USER baz 0 * :baz log 9 >.. NICK :baz servermsg 2 FAKE_IRC_CONN_ABORT_EXCEPTION log 9 $.. connection_state set to: [broken: FAKE_IRC_CONN_ABORT_EXCEPTION] -repeat disconnect-in disconnect-out +1 +repeat disconnect +1 log 9 $!. will retry connecting in 1 seconds # check that (save TUI tests assuming start on window 0, and no 4 yet) on reconnect, all the same effects can be expected > /reconnect -repeat conn0-in conn0-out +repeat conn0 log 2,3,4,5,6,7 $.. CONNECTED -repeat conn1-in conn1-out +repeat conn1 log 1 >.. JOIN :#testtest -repeat conn2-in conn2-out -repeat conn3-in conn3-out +repeat conn2 +repeat conn3 > /quit log 0 <.. diff --git a/src/tests/tui_draw.test b/src/tests/tui_draw.test index cb8e547..b240133 100644 --- a/src/tests/tui_draw.test +++ b/src/tests/tui_draw.test @@ -6,19 +6,19 @@ | lines-empty-1-in line 0 on_black,bright_white §§ | lines-empty-1-out -repeat lines-empty-1-in lines-empty-1-out 1 +repeat lines-empty-1 1 | lines-empty-2-out -repeat lines-empty-1-in lines-empty-1-out +2 -repeat lines-empty-1-in lines-empty-1-out +3 +repeat lines-empty-1 +2 +repeat lines-empty-1 +3 | lines-empty-4-out -repeat lines-empty-2-in lines-empty-2-out +4 -repeat lines-empty-2-in lines-empty-2-out +6 +repeat lines-empty-2 +4 +repeat lines-empty-2 +6 | lines-empty-8-out -repeat lines-empty-4-in lines-empty-4-out +8 -repeat lines-empty-4-in lines-empty-4-out +12 +repeat lines-empty-4 +8 +repeat lines-empty-4 +12 | lines-empty-16-out -repeat lines-empty-4-in lines-empty-4-out +16 -repeat lines-empty-2-in lines-empty-2-out +20 +repeat lines-empty-4 +16 +repeat lines-empty-2 +20 | status-prompt-empty-in line 22 on_black,bright_white :start)=====================================================================([0]§§ | prompt-empty-in @@ -30,20 +30,20 @@ line 23 on_black,bright_white,reverse §§ § # nothing happening on empty command input > -repeat empty-init-in empty-init-out +repeat empty-init # non-empty command input starts log at bottom, with date above it > foo log 0 #!. invalid prompt command: not prefixed by / -repeat lines-empty-16-in lines-empty-16-out -repeat lines-empty-4-in lines-empty-4-out +16 +repeat lines-empty-16 +repeat lines-empty-4 +16 | history-lines-0:0:2-at-20-in | history-lines-0:0:1-at-20-in line 20 on_black,bright_white 20§§-§§-§§ §§ | history-lines-0:0:1-at-20-out line 21 on_black,bright_red,bold #!. §§:§§:§§ invalid prompt command: not prefixed by / §§ | history-lines-0:0:2-at-20-out -repeat status-prompt-empty-in status-prompt-empty-out +repeat status-prompt-empty # further inputs grow log upwards > /foo @@ -51,37 +51,37 @@ log 0 #!. invalid prompt command: /foo unknown > /bar log 0 #!. invalid prompt command: /bar unknown | before-1st-scroll-in -repeat lines-empty-16-in lines-empty-16-out -repeat lines-empty-2-in lines-empty-2-out +16 +repeat lines-empty-16 +repeat lines-empty-2 +16 | history-lines-0:0:4-at-18-in -repeat history-lines-0:0:2-at-20-in history-lines-0:0:2-at-20-out -2 +repeat history-lines-0:0:2-at-20 -2 | history-lines-0:2:4-at-20-in line 20 on_black,bright_red,bold #!. §§:§§:§§ invalid prompt command: /foo unknown §§ line 21 on_black,bright_red,bold #!. §§:§§:§§ invalid prompt command: /bar unknown §§ | history-lines-0:2:4-at-20-out | history-lines-0:0:4-at-18-out -repeat status-prompt-empty-in status-prompt-empty-out +repeat status-prompt-empty | before-1st-scroll-out # check scrolling up on short history > /window.history.scroll up | after-1st-scroll-in | topmost-scroll-in -repeat lines-empty-16-in lines-empty-16-out -repeat lines-empty-4-in lines-empty-4-out +16 -repeat history-lines-0:0:1-at-20-in history-lines-0:0:1-at-20-out +repeat lines-empty-16 +repeat lines-empty-4 +16 +repeat history-lines-0:0:1-at-20 | topmost-scroll-out line 21 on_black,bright_white,reverse vvv [4] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ -repeat status-prompt-empty-in status-prompt-empty-out +repeat status-prompt-empty | after-1st-scroll-out # check scrolling down on short history > /window.history.scroll down -repeat before-1st-scroll-in before-1st-scroll-out +repeat before-1st-scroll # check history growing below up-scroll > /window.history.scroll up -repeat after-1st-scroll-in after-1st-scroll-out +repeat after-1st-scroll > /help log 0 #.. commands available in this window: log 0 #.. /connect HOST_PORT [NICKNAME_PW] [REALNAME_USERNAME] @@ -96,18 +96,18 @@ log 0 #.. /window.prompt.backspace log 0 #.. /window.prompt.move_cursor DIRECTION log 0 #.. /window.prompt.scroll DIRECTION | before-scrolldown-not-to-bottom-in -repeat topmost-scroll-in topmost-scroll-out +repeat topmost-scroll line 21 on_black,bright_white,reverse vvv [16] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ -repeat status-prompt-empty-in status-prompt-empty-out +repeat status-prompt-empty | before-scrolldown-not-to-bottom-out # check scroll-down on newer history longer than half a screen width does not fully land at bottom > /window.history.scroll down | after-scrolldown-not-to-bottom-in -repeat lines-empty-8-in lines-empty-8-out -repeat lines-empty-1-in lines-empty-1-out +8 +repeat lines-empty-8 +repeat lines-empty-1 +8 | history-lines-0:0:8-at-9-in -repeat history-lines-0:0:4-at-18-in history-lines-0:0:4-at-18-out -9 +repeat history-lines-0:0:4-at-18 -9 | history-lines-0:4:8-at-13-in | history-lines-0:4:5-at-13-in line 13 on_black,bright_cyan #.. §§:§§:§§ commands available in this window:§§ @@ -130,22 +130,22 @@ line 20 on_black,bright_cyan #.. §§:§§:§§ /window.history.scroll DIRECTI | history-lines-0:11:12-at-20-out | history-lines-0:8:12-at-17-out line 21 on_black,bright_white,reverse vvv [5] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ -repeat status-prompt-empty-in status-prompt-empty-out +repeat status-prompt-empty | after-scrolldown-not-to-bottom-out # check previous scroll-down not hitting bottom be fully reversible > /window.history.scroll up -repeat before-scrolldown-not-to-bottom-in before-scrolldown-not-to-bottom-out +repeat before-scrolldown-not-to-bottom > /window.history.scroll down -repeat after-scrolldown-not-to-bottom-in after-scrolldown-not-to-bottom-out +repeat after-scrolldown-not-to-bottom # scroll to bottom, check history still growing up even beyond upper fold > /window.history.scroll down -repeat lines-empty-4-in lines-empty-4-out -repeat lines-empty-2-in lines-empty-2-out +4 +repeat lines-empty-4 +repeat lines-empty-2 +4 | history-lines-0:0:16-at-6-in -repeat history-lines-0:0:8-at-9-in history-lines-0:0:8-at-9-out -3 -repeat history-lines-0:8:12-at-17-in history-lines-0:8:12-at-17-out -3 +repeat history-lines-0:0:8-at-9 -3 +repeat history-lines-0:8:12-at-17 -3 | history-lines-0:12:16-at-18-in | history-lines-0:12:13-at-18-in line 18 on_black,bright_cyan #.. §§:§§:§§ /window.paste§§ @@ -155,7 +155,7 @@ line 20 on_black,bright_cyan #.. §§:§§:§§ /window.prompt.move_cursor DIR line 21 on_black,bright_cyan #.. §§:§§:§§ /window.prompt.scroll DIRECTION§§ | history-lines-0:12:16-at-18-out | history-lines-0:0:16-at-6-out -repeat status-prompt-empty-in status-prompt-empty-out +repeat status-prompt-empty > /0 log 0 #!. invalid prompt command: /0 unknown > /1 @@ -173,10 +173,10 @@ log 0 #!. invalid prompt command: /6 unknown > /7 log 0 #!. invalid prompt command: /7 unknown | at-bottom-before-wrapped-in -repeat history-lines-0:2:4-at-20-in history-lines-0:2:4-at-20-out -20 -repeat history-lines-0:4:8-at-13-in history-lines-0:4:8-at-13-out -11 -repeat history-lines-0:8:12-at-17-in history-lines-0:8:12-at-17-out -11 -repeat history-lines-0:12:16-at-18-in history-lines-0:12:16-at-18-out -8 +repeat history-lines-0:2:4-at-20 -20 +repeat history-lines-0:4:8-at-13 -11 +repeat history-lines-0:8:12-at-17 -11 +repeat history-lines-0:12:16-at-18 -8 | history-lines-0:16:24-at-14-in | history-lines-0:16:20-at-14-in | history-lines-0:16:18-at-14-in @@ -197,19 +197,19 @@ line 20 on_black,bright_red,bold #!. §§:§§:§§ invalid prompt command: /6 u | history-lines-0:22:23-at-20-out line 21 on_black,bright_red,bold #!. §§:§§:§§ invalid prompt command: /7 unknown§§ | history-lines-0:16:24-at-14-out -repeat status-prompt-empty-in status-prompt-empty-out +repeat status-prompt-empty | at-bottom-before-wrapped-out # quick look one scroll up to check single-scroll increase of below-scroll count (when up-scroll not limited, and all lines un-wrapped) > /window.history.scroll up -repeat lines-empty-8-in lines-empty-8-out -repeat history-lines-0:0:8-at-9-in history-lines-0:0:8-at-9-out -1 -repeat history-lines-0:8:12-at-17-in history-lines-0:8:12-at-17-out -1 -repeat history-lines-0:12:13-at-18-in history-lines-0:12:13-at-18-out +2 +repeat lines-empty-8 +repeat history-lines-0:0:8-at-9 -1 +repeat history-lines-0:8:12-at-17 -1 +repeat history-lines-0:12:13-at-18 +2 line 21 on_black,bright_white,reverse vvv [12] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ -repeat status-prompt-empty-in status-prompt-empty-out +repeat status-prompt-empty > /window.history.scroll down -repeat at-bottom-before-wrapped-in at-bottom-before-wrapped-out +repeat at-bottom-before-wrapped # # check wrapping > /foo_0123456789_0123456789_01234567 @@ -217,13 +217,13 @@ log 0 #!. invalid prompt command: /foo_0123456789_0123456789_01234567 unknown > /foo_0123456789_0123456789_012345678 log 0 #!. invalid prompt command: /foo_0123456789_0123456789_012345678 unknown | at-bottom-after-wrapped-in -repeat history-lines-0:5:6-at-14-in history-lines-0:5:6-at-14-out -14 -repeat history-lines-0:6:8-at-15-in history-lines-0:6:8-at-15-out -14 +repeat history-lines-0:5:6-at-14 -14 +repeat history-lines-0:6:8-at-15 -14 | history-lines-0:8:16-at-3-in -repeat history-lines-0:8:12-at-17-in history-lines-0:8:12-at-17-out -14 -repeat history-lines-0:12:16-at-18-in history-lines-0:12:16-at-18-out -11 +repeat history-lines-0:8:12-at-17 -14 +repeat history-lines-0:12:16-at-18 -11 | history-lines-0:8:16-at-3-out -repeat history-lines-0:16:24-at-14-in history-lines-0:16:24-at-14-out -3 +repeat history-lines-0:16:24-at-14 -3 | history-lines-0:24:26-at-19-in line 19 on_black,bright_red,bold #!. §§:§§:§§ invalid prompt command: /foo_0123456789_0123456789_01234567 unknown§§ line 20 on_black,bright_red,bold #!. §§:§§:§§ invalid prompt command: /foo_0123456789_0123456789_012345678§§ @@ -231,59 +231,59 @@ line 20 on_black,bright_red,bold #!. §§:§§:§§ invalid prompt command: /foo | history-lines-0:26:27-at-21-in line 21 on_black,bright_red,bold unknown§§ | history-lines-0:26:27-at-21-out -repeat status-prompt-empty-in status-prompt-empty-out +repeat status-prompt-empty | at-bottom-after-wrapped-out # check scroll-up over wrapped moves up less history lines than screen lines > /window.history.scroll up | scrollup-after-wrapped-in -repeat lines-empty-4-in lines-empty-4-out -repeat lines-empty-1-in lines-empty-1-out +4 -repeat history-lines-0:0:16-at-6-in history-lines-0:0:16-at-6-out -1 +repeat lines-empty-4 +repeat lines-empty-1 +4 +repeat history-lines-0:0:16-at-6 -1 | scrollup-after-wrapped-out line 21 on_black,bright_white,reverse vvv [11] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ -repeat status-prompt-empty-in status-prompt-empty-out +repeat status-prompt-empty # check scroll-down fully reversible even if over wrapped > /window.history.scroll down -repeat at-bottom-after-wrapped-in at-bottom-after-wrapped-out +repeat at-bottom-after-wrapped > /window.history.scroll up -repeat scrollup-after-wrapped-in scrollup-after-wrapped-out +repeat scrollup-after-wrapped line 21 on_black,bright_white,reverse vvv [11] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ -repeat status-prompt-empty-in status-prompt-empty-out +repeat status-prompt-empty # check wrapped input only increases below-scroll count by one > /bar_0123456789_0123456789_012345678 log 0 #!. invalid prompt command: /bar_0123456789_0123456789_012345678 unknown -repeat scrollup-after-wrapped-in scrollup-after-wrapped-out +repeat scrollup-after-wrapped line 21 on_black,bright_white,reverse vvv [12] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ -repeat status-prompt-empty-in status-prompt-empty-out +repeat status-prompt-empty # check scroll-down over wrapped will snap down to bottom of wrapped > /window.history.scroll down -repeat history-lines-0:6:8-at-15-in history-lines-0:6:8-at-15-out -15 -repeat history-lines-0:8:16-at-3-in history-lines-0:8:16-at-3-out -1 -repeat history-lines-0:16:24-at-14-in history-lines-0:16:24-at-14-out -4 -repeat history-lines-0:24:26-at-19-in history-lines-0:24:26-at-19-out -1 -repeat history-lines-0:26:27-at-21-in history-lines-0:26:27-at-21-out -1 +repeat history-lines-0:6:8-at-15 -15 +repeat history-lines-0:8:16-at-3 -1 +repeat history-lines-0:16:24-at-14 -4 +repeat history-lines-0:24:26-at-19 -1 +repeat history-lines-0:26:27-at-21 -1 line 21 on_black,bright_white,reverse vvv [2] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ -repeat status-prompt-empty-in status-prompt-empty-out +repeat status-prompt-empty # # check scrolls-up over longer history until top > /window.history.scroll up -repeat scrollup-after-wrapped-in scrollup-after-wrapped-out +repeat scrollup-after-wrapped line 21 on_black,bright_white,reverse vvv [12] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ -repeat status-prompt-empty-in status-prompt-empty-out +repeat status-prompt-empty > /window.history.scroll up -repeat lines-empty-16-in lines-empty-16-out -repeat history-lines-0:0:4-at-18-in history-lines-0:0:4-at-18-out -2 -repeat history-lines-0:4:5-at-13-in history-lines-0:4:5-at-13-out +7 +repeat lines-empty-16 +repeat history-lines-0:0:4-at-18 -2 +repeat history-lines-0:4:5-at-13 +7 line 21 on_black,bright_white,reverse vvv [23] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ -repeat status-prompt-empty-in status-prompt-empty-out +repeat status-prompt-empty > /window.history.scroll up -repeat topmost-scroll-in topmost-scroll-out +repeat topmost-scroll line 21 on_black,bright_white,reverse vvv [27] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ -repeat status-prompt-empty-in status-prompt-empty-out +repeat status-prompt-empty # check that triggering creation of new window with new lines adds it to status, with unread-lines count > /connect foo.bar.baz foo bar:baz @@ -307,18 +307,18 @@ log , $.. CONNECTED log 1 >.. CAP LS :302 log 1 >.. USER baz 0 * :bar log 1 >.. NICK :foo -repeat topmost-scroll-in topmost-scroll-out +repeat topmost-scroll line 21 on_black,bright_white,reverse vvv [27] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ line 22 on_black,bright_white :start)==========================================================([(0:1)] (1:19)§§ -repeat prompt-empty-in prompt-empty-out +repeat prompt-empty # check switch to other window, updates to status line (movement of brackets, clearing of own unread-lines count) > /window 1 -repeat lines-empty-2-in lines-empty-2-out -repeat lines-empty-1-in lines-empty-1-out +2 +repeat lines-empty-2 +repeat lines-empty-1 +2 | history-lines-1:0:16-at-3-in | history-lines-1:0:8-at-3-in -repeat history-lines-0:0:1-at-20-in history-lines-0:0:1-at-20-out -17 +repeat history-lines-0:0:1-at-20 -17 line 4 on_black,bright_yellow $.. §§:§§:§§ isupport cleared line 5 on_black,bright_yellow $.. §§:§§:§§ isupport:CHANTYPES set to: [#&] line 6 on_black,bright_yellow $.. §§:§§:§§ isupport:PREFIX set to: [(ov)@+] @@ -362,43 +362,43 @@ line 20 on_black,bright_green >.. §§:§§:§§ USER baz 0 * :bar§§ line 21 on_black,bright_green >.. §§:§§:§§ NICK :foo§§ | history-lines-1:18:19-at-21-out line 22 on_black,bright_white foo.bar.baz:debug)====================================================((0:1) [1]§§ -repeat prompt-empty-in prompt-empty-out +repeat prompt-empty # check switch-back to window 0, retaining clearing of window 1's unread-lines count > /window 0 -repeat topmost-scroll-in topmost-scroll-out +repeat topmost-scroll line 21 on_black,bright_white,reverse vvv [27] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ -repeat status-prompt-after-first-return-in status-prompt-after-first-return-out +repeat status-prompt-after-first-return | status-prompt-after-first-return-in line 22 on_black,bright_white :start)===============================================================([(0:1)] 1§§ -repeat prompt-empty-in prompt-empty-out +repeat prompt-empty | status-prompt-after-first-return-out # check that on full scroll-down, we now have a bookmark above the newest lines not previously scrolled into > /window.history.scroll down -repeat lines-empty-8-in lines-empty-8-out -repeat lines-empty-1-in lines-empty-1-out +8 -repeat history-lines-0:0:8-at-9-in history-lines-0:0:8-at-9-out -repeat history-lines-0:8:12-at-17-in history-lines-0:8:12-at-17-out +repeat lines-empty-8 +repeat lines-empty-1 +8 +repeat history-lines-0:0:8-at-9 +repeat history-lines-0:8:12-at-17 line 21 on_black,bright_white,reverse vvv [16] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ -repeat status-prompt-after-first-return-in status-prompt-after-first-return-out +repeat status-prompt-after-first-return > /window.history.scroll down | before-first-sight-of-bookmark-in -repeat history-lines-0:2:4-at-20-in history-lines-0:2:4-at-20-out -20 -repeat history-lines-0:4:8-at-13-in history-lines-0:4:8-at-13-out -11 -repeat history-lines-0:8:16-at-3-in history-lines-0:8:16-at-3-out +3 -repeat history-lines-0:16:20-at-14-in history-lines-0:16:20-at-14-out -repeat history-lines-0:20:22-at-18-in history-lines-0:20:22-at-18-out -repeat history-lines-0:22:23-at-20-in history-lines-0:22:23-at-20-out +repeat history-lines-0:2:4-at-20 -20 +repeat history-lines-0:4:8-at-13 -11 +repeat history-lines-0:8:16-at-3 +3 +repeat history-lines-0:16:20-at-14 +repeat history-lines-0:20:22-at-18 +repeat history-lines-0:22:23-at-20 line 21 on_black,bright_white,reverse vvv [5] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ -repeat status-prompt-after-first-return-in status-prompt-after-first-return-out +repeat status-prompt-after-first-return | before-first-sight-of-bookmark-out > /window.history.scroll down | first-sight-of-bookmark-in -repeat history-lines-0:8:16-at-3-in history-lines-0:8:16-at-3-out -3 -repeat history-lines-0:16:24-at-14-in history-lines-0:16:24-at-14-out -6 -repeat history-lines-0:24:26-at-19-in history-lines-0:24:26-at-19-out -3 -repeat history-lines-0:26:27-at-21-in history-lines-0:26:27-at-21-out -3 +repeat history-lines-0:8:16-at-3 -3 +repeat history-lines-0:16:24-at-14 -6 +repeat history-lines-0:24:26-at-19 -3 +repeat history-lines-0:26:27-at-21 -3 | bookmark-at-19-in line 19 on_black,bright_white --------------------------------------------------------------------------------§§ | bookmark-at-19-out @@ -408,45 +408,45 @@ line 20 on_black,bright_red,bold #!. §§:§§:§§ invalid prompt command: /bar | history-lines-0:28:29-at-21-in line 21 on_black,bright_red,bold unknown§§ | history-lines-0:28:29-at-21-out -repeat status-prompt-after-first-return-in status-prompt-after-first-return-out +repeat status-prompt-after-first-return | first-sight-of-bookmark-out # check that scrolling non-bottom bookmark out of sight, then scrolling it back into view again does not by itself move its position in the log history > /window.history.scroll up -repeat lines-empty-2-in lines-empty-2-out -repeat history-lines-0:0:16-at-6-in history-lines-0:0:16-at-6-out -4 -repeat history-lines-0:16:18-at-14-in history-lines-0:16:18-at-14-out +4 -repeat history-lines-0:18:19-at-16-in history-lines-0:18:19-at-16-out +4 +repeat lines-empty-2 +repeat history-lines-0:0:16-at-6 -4 +repeat history-lines-0:16:18-at-14 +4 +repeat history-lines-0:18:19-at-16 +4 line 21 on_black,bright_white,reverse vvv [9] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ -repeat status-prompt-after-first-return-in status-prompt-after-first-return-out +repeat status-prompt-after-first-return > /window.history.scroll down -repeat first-sight-of-bookmark-in first-sight-of-bookmark-out +repeat first-sight-of-bookmark # check that second switch to new window, previously left on bottom of history, establishes bookmark at bottom of log > /window 1 -repeat lines-empty-2-in lines-empty-2-out -repeat history-lines-1:0:16-at-3-in history-lines-1:0:16-at-3-out -1 -repeat history-lines-1:16:18-at-19-in history-lines-1:16:18-at-19-out -1 -repeat history-lines-1:18:19-at-21-in history-lines-1:18:19-at-21-out -1 -repeat bookmark-at-19-in bookmark-at-19-out +2 +repeat lines-empty-2 +repeat history-lines-1:0:16-at-3 -1 +repeat history-lines-1:16:18-at-19 -1 +repeat history-lines-1:18:19-at-21 -1 +repeat bookmark-at-19 +2 | status-prompt-both-empty-in line 22 on_black,bright_white foo.bar.baz:debug)========================================================(0 [1]§§ -repeat prompt-empty-in prompt-empty-out +repeat prompt-empty | status-prompt-both-empty-out # check second switch-back places bookmark at bottom there too, since the newest lines previously succeeding it have now been read by us > /window 0 -repeat history-lines-0:8:16-at-3-in history-lines-0:8:16-at-3-out -3 -repeat history-lines-0:16:24-at-14-in history-lines-0:16:24-at-14-out -6 +repeat history-lines-0:8:16-at-3 -3 +repeat history-lines-0:16:24-at-14 -6 | history-lines-0:24:28-at-16-in -repeat history-lines-0:24:26-at-19-in history-lines-0:24:26-at-19-out -3 -repeat history-lines-0:26:27-at-21-in history-lines-0:26:27-at-21-out -3 -repeat history-lines-0:27:28-at-20-in history-lines-0:27:28-at-20-out -1 +repeat history-lines-0:24:26-at-19 -3 +repeat history-lines-0:26:27-at-21 -3 +repeat history-lines-0:27:28-at-20 -1 | history-lines-0:24:28-at-16-out -repeat history-lines-0:28:29-at-21-in history-lines-0:28:29-at-21-out -1 -repeat bookmark-at-19-in bookmark-at-19-out +2 +repeat history-lines-0:28:29-at-21 -1 +repeat bookmark-at-19 +2 line 22 on_black,bright_white :start)===================================================================([0] 1§§ -repeat prompt-empty-in prompt-empty-out +repeat prompt-empty # check new lines push bookmark up > /list @@ -454,12 +454,12 @@ log 0 #.. windows available via /window: log 0 #.. 0) :start log 0 #.. 1) foo.bar.baz:debug | before-first-server-responses-in -repeat history-lines-0:11:12-at-20-in history-lines-0:11:12-at-20-out -20 -repeat history-lines-0:12:16-at-18-in history-lines-0:12:16-at-18-out -17 -repeat history-lines-0:16:24-at-14-in history-lines-0:16:24-at-14-out -9 -repeat history-lines-0:24:28-at-16-in history-lines-0:24:28-at-16-out -3 -repeat history-lines-0:28:29-at-21-in history-lines-0:28:29-at-21-out -4 -repeat bookmark-at-19-in bookmark-at-19-out -1 +repeat history-lines-0:11:12-at-20 -20 +repeat history-lines-0:12:16-at-18 -17 +repeat history-lines-0:16:24-at-14 -9 +repeat history-lines-0:24:28-at-16 -3 +repeat history-lines-0:28:29-at-21 -4 +repeat bookmark-at-19 -1 | history-lines-0:29:30-at-19-in line 19 on_black,bright_cyan #.. §§:§§:§§ windows available via /window:§§ | history-lines-0:29:30-at-19-out @@ -469,24 +469,24 @@ line 21 on_black,bright_cyan #.. §§:§§:§§ 1) foo.bar.baz:debug§§ | history-lines-0:30:32-at-20-out | before-first-server-responses-out line 22 on_black,bright_white :start)===================================================================([0] 1§§ -repeat prompt-empty-in prompt-empty-out +repeat prompt-empty # check new lines growing in other window, one of which long enough to wrap, to be re-start count in status (with wrapped only as single) loggedservermsg 0 1 <.. PING :? log 1 >.. PONG :? loggedservermsg 0 1 <.. PING :123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 log 1 >.. PONG :123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 -repeat before-first-server-responses-in before-first-server-responses-out +repeat before-first-server-responses line 22 on_black,bright_white :start)===============================================================([0] (1:4)§§ -repeat prompt-empty-in prompt-empty-out +repeat prompt-empty # check that switching to window with new lines, but left scroll-to-bottom, keeps the scroll-to-bottom, keeps bookmark after last line previously seen there > /window 1 -repeat history-lines-1:4:8-at-7-in history-lines-1:4:8-at-7-out -7 -repeat history-lines-1:8:16-at-11-in history-lines-1:8:16-at-11-out -7 -repeat history-lines-1:16:18-at-19-in history-lines-1:16:18-at-19-out -7 -repeat history-lines-1:18:19-at-21-in history-lines-1:18:19-at-21-out -7 -repeat bookmark-at-19-in bookmark-at-19-out -4 +repeat history-lines-1:4:8-at-7 -7 +repeat history-lines-1:8:16-at-11 -7 +repeat history-lines-1:16:18-at-19 -7 +repeat history-lines-1:18:19-at-21 -7 +repeat bookmark-at-19 -4 | history-lines-1:19:20-at-16-in line 16 on_black,bright_white <.. §§:§§:§§ PING :? | history-lines-1:19:20-at-16-out @@ -499,114 +499,114 @@ line 20 on_black,bright_green >.. §§:§§:§§ PONG :123456789 123456789 12345 | history-lines-1:24:25-at-21-in line 21 on_black,bright_green 123456789 123456789§§ | history-lines-1:24:25-at-21-out -repeat status-prompt-both-empty-in status-prompt-both-empty-out +repeat status-prompt-both-empty # check that growth below scroll does not by itself re-position bookmark in history > /window.history.scroll up loggedservermsg 0 1 <.. PING :foo log 1 >.. PONG :foo | early-win1-upscroll-in -repeat lines-empty-4-in lines-empty-4-out -repeat lines-empty-2-in lines-empty-2-out +4 -repeat history-lines-1:0:8-at-3-in history-lines-1:0:8-at-3-out +3 -repeat history-lines-1:8:12-at-11-in history-lines-1:8:12-at-11-out +3 -repeat history-lines-1:12:14-at-15-in history-lines-1:12:14-at-15-out +3 -repeat history-lines-1:14:15-at-17-in history-lines-1:14:15-at-17-out +3 +repeat lines-empty-4 +repeat lines-empty-2 +4 +repeat history-lines-1:0:8-at-3 +3 +repeat history-lines-1:8:12-at-11 +3 +repeat history-lines-1:12:14-at-15 +3 +repeat history-lines-1:14:15-at-17 +3 | early-win1-upscroll-out line 21 on_black,bright_white,reverse vvv [11] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ -repeat status-prompt-both-empty-in status-prompt-both-empty-out +repeat status-prompt-both-empty > /window.history.scroll down -repeat history-lines-1:5:6-at-8-in history-lines-1:5:6-at-8-out -8 -repeat history-lines-1:6:8-at-9-in history-lines-1:6:8-at-9-out -8 -repeat history-lines-1:8:16-at-11-in history-lines-1:8:16-at-11-out -8 -repeat history-lines-1:16:18-at-19-in history-lines-1:16:18-at-19-out -8 -repeat history-lines-1:18:19-at-21-in history-lines-1:18:19-at-21-out -8 -repeat bookmark-at-19-in bookmark-at-19-out -5 -repeat history-lines-1:19:20-at-16-in history-lines-1:19:20-at-16-out -1 -repeat history-lines-1:20:24-at-17-in history-lines-1:20:24-at-17-out -1 -repeat history-lines-1:24:25-at-21-in history-lines-1:24:25-at-21-out -1 +repeat history-lines-1:5:6-at-8 -8 +repeat history-lines-1:6:8-at-9 -8 +repeat history-lines-1:8:16-at-11 -8 +repeat history-lines-1:16:18-at-19 -8 +repeat history-lines-1:18:19-at-21 -8 +repeat bookmark-at-19 -5 +repeat history-lines-1:19:20-at-16 -1 +repeat history-lines-1:20:24-at-17 -1 +repeat history-lines-1:24:25-at-21 -1 line 21 on_black,bright_white,reverse vvv [3] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ -repeat status-prompt-both-empty-in status-prompt-both-empty-out +repeat status-prompt-both-empty # check that with new lines left unread, switch away and back into window moves bookmark below newest read line, counts unread lines in status > /window 0 | win-0-only-for-win-1-tests-in -repeat history-lines-0:11:12-at-20-in history-lines-0:11:12-at-20-out -20 -repeat history-lines-0:12:16-at-18-in history-lines-0:12:16-at-18-out -17 -repeat history-lines-0:16:24-at-14-in history-lines-0:16:24-at-14-out -9 -repeat history-lines-0:24:28-at-16-in history-lines-0:24:28-at-16-out -3 -repeat history-lines-0:28:29-at-21-in history-lines-0:28:29-at-21-out -4 -repeat history-lines-0:29:30-at-19-in history-lines-0:29:30-at-19-out -1 -repeat history-lines-0:30:32-at-20-in history-lines-0:30:32-at-20-out -1 -repeat bookmark-at-19-in bookmark-at-19-out +2 +repeat history-lines-0:11:12-at-20 -20 +repeat history-lines-0:12:16-at-18 -17 +repeat history-lines-0:16:24-at-14 -9 +repeat history-lines-0:24:28-at-16 -3 +repeat history-lines-0:28:29-at-21 -4 +repeat history-lines-0:29:30-at-19 -1 +repeat history-lines-0:30:32-at-20 -1 +repeat bookmark-at-19 +2 | win-0-only-for-win-1-tests-out line 22 on_black,bright_white :start)===============================================================([0] (1:2)§§ -repeat prompt-empty-in prompt-empty-out +repeat prompt-empty > /window 1 | keep-bookmark-on-outside-growth-test-in -repeat history-lines-1:5:6-at-8-in history-lines-1:5:6-at-8-out -8 -repeat history-lines-1:6:8-at-9-in history-lines-1:6:8-at-9-out -8 -repeat history-lines-1:8:16-at-11-in history-lines-1:8:16-at-11-out -8 +repeat history-lines-1:5:6-at-8 -8 +repeat history-lines-1:6:8-at-9 -8 +repeat history-lines-1:8:16-at-11 -8 | history-lines-1:16:24-at-11-in -repeat history-lines-1:16:18-at-19-in history-lines-1:16:18-at-19-out -8 -repeat history-lines-1:18:19-at-21-in history-lines-1:18:19-at-21-out -8 -repeat history-lines-1:19:20-at-16-in history-lines-1:19:20-at-16-out -2 -repeat history-lines-1:20:24-at-17-in history-lines-1:20:24-at-17-out -2 +repeat history-lines-1:16:18-at-19 -8 +repeat history-lines-1:18:19-at-21 -8 +repeat history-lines-1:19:20-at-16 -2 +repeat history-lines-1:20:24-at-17 -2 | history-lines-1:16:24-at-11-out -repeat history-lines-1:24:25-at-21-in history-lines-1:24:25-at-21-out -2 -repeat bookmark-at-19-in bookmark-at-19-out +1 +repeat history-lines-1:24:25-at-21 -2 +repeat bookmark-at-19 +1 | keep-bookmark-on-outside-growth-test-out line 21 on_black,bright_white,reverse vvv [3] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ line 22 on_black,bright_white foo.bar.baz:debug)====================================================(0 [(1:2)]§§ -repeat prompt-empty-in prompt-empty-out +repeat prompt-empty # check that growing lines below scroll in other preserves non-bottom bookmark (left in sight on previous window leave) > /window 0 loggedservermsg 0 1 <.. PING :bar log 1 >.. PONG :bar -repeat win-0-only-for-win-1-tests-in win-0-only-for-win-1-tests-out +repeat win-0-only-for-win-1-tests line 22 on_black,bright_white :start)===============================================================([0] (1:4)§§ -repeat prompt-empty-in prompt-empty-out +repeat prompt-empty > /window 1 -repeat keep-bookmark-on-outside-growth-test-in keep-bookmark-on-outside-growth-test-out +repeat keep-bookmark-on-outside-growth-test line 21 on_black,bright_white,reverse vvv [5] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ | status-prompt-on-win1-4-unread-in line 22 on_black,bright_white foo.bar.baz:debug)====================================================(0 [(1:4)]§§ -repeat prompt-empty-in prompt-empty-out +repeat prompt-empty | status-prompt-on-win1-4-unread-out # check same applies when leaving affected window with bookmark out-of-sight > /window.history.scroll up -repeat early-win1-upscroll-in early-win1-upscroll-out +repeat early-win1-upscroll line 21 on_black,bright_white,reverse vvv [13] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ -repeat status-prompt-on-win1-4-unread-in status-prompt-on-win1-4-unread-out +repeat status-prompt-on-win1-4-unread > /window 0 loggedservermsg 0 1 <.. PING :baz log 1 >.. PONG :baz -repeat win-0-only-for-win-1-tests-in win-0-only-for-win-1-tests-out +repeat win-0-only-for-win-1-tests line 22 on_black,bright_white :start)===============================================================([0] (1:6)§§ -repeat prompt-empty-in prompt-empty-out +repeat prompt-empty > /window 1 -repeat early-win1-upscroll-in early-win1-upscroll-out +repeat early-win1-upscroll line 21 on_black,bright_white,reverse vvv [15] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ line 22 on_black,bright_white foo.bar.baz:debug)====================================================(0 [(1:6)]§§ -repeat prompt-empty-in prompt-empty-out +repeat prompt-empty > /window.history.scroll down -repeat history-lines-1:5:6-at-8-in history-lines-1:5:6-at-8-out -8 -repeat history-lines-1:6:8-at-9-in history-lines-1:6:8-at-9-out -8 -repeat history-lines-1:8:16-at-11-in history-lines-1:8:16-at-11-out -8 -repeat history-lines-1:16:24-at-11-in history-lines-1:16:24-at-11-out -repeat history-lines-1:24:25-at-21-in history-lines-1:24:25-at-21-out -2 -repeat bookmark-at-19-in bookmark-at-19-out +1 +repeat history-lines-1:5:6-at-8 -8 +repeat history-lines-1:6:8-at-9 -8 +repeat history-lines-1:8:16-at-11 -8 +repeat history-lines-1:16:24-at-11 +repeat history-lines-1:24:25-at-21 -2 +repeat bookmark-at-19 +1 line 21 on_black,bright_white,reverse vvv [7] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§ line 22 on_black,bright_white foo.bar.baz:debug)====================================================(0 [(1:6)]§§ -repeat prompt-empty-in prompt-empty-out +repeat prompt-empty > /window.history.scroll down -repeat history-lines-1:10:12-at-13-in history-lines-1:10:12-at-13-out -13 -repeat history-lines-1:12:16-at-15-in history-lines-1:12:16-at-15-out -13 -repeat history-lines-1:16:24-at-11-in history-lines-1:16:24-at-11-out -5 -repeat history-lines-1:24:25-at-21-in history-lines-1:24:25-at-21-out -7 -repeat bookmark-at-19-in bookmark-at-19-out -4 +repeat history-lines-1:10:12-at-13 -13 +repeat history-lines-1:12:16-at-15 -13 +repeat history-lines-1:16:24-at-11 -5 +repeat history-lines-1:24:25-at-21 -7 +repeat bookmark-at-19 -4 line 16 on_black,bright_white <.. §§:§§:§§ PING :foo line 17 on_black,bright_green >.. §§:§§:§§ PONG :foo line 18 on_black,bright_white <.. §§:§§:§§ PING :bar @@ -614,7 +614,7 @@ line 19 on_black,bright_green >.. §§:§§:§§ PONG :bar line 20 on_black,bright_white <.. §§:§§:§§ PING :baz line 21 on_black,bright_green >.. §§:§§:§§ PONG :baz line 22 on_black,bright_white foo.bar.baz:debug)====================================================(0 [(1:6)]§§ -repeat prompt-empty-in prompt-empty-out +repeat prompt-empty > /quit log 0 <..