Commit Graph

107 Commits

Author SHA1 Message Date
Koichi Murase a0a2238272 termptyops (termpty_cursor_copy): copy entire "cursor_state" 2022-03-04 20:46:11 +09:00
Koichi Murase a3f9887ee4 termpty: move the bitfield "wrapnext" from "ty->termstate" to "ty->cursor_state" 2022-03-04 20:43:16 +09:00
Boris Faure 196973fcd3
rewrite changing of background/foreground colors from escape codes 2020-06-22 23:41:27 +02:00
Boris Faure 0b48853597
reduce scope of variables 2020-04-17 23:09:07 +02:00
Boris Faure 3d6a9e1bf5
Merge branch 'terminology-1.6' 2020-02-16 18:53:50 +01:00
Boris Faure 2a3a34f503
termptyesc: handle zero-width spaces, with test 2020-02-16 18:51:36 +01:00
Boris Faure cf80e70faf
backlog: move related functions to that file 2019-11-24 16:12:26 +01:00
Boris Faure 62302496dc
git mv src/bin/termptysave.{c,h} src/bin/backlog.{c,h} 2019-11-23 18:31:23 +01:00
Boris Faure e1ff4d877e termptyesc: store when tab are inserted and where they stop 2019-10-27 16:04:43 +01:00
Boris Faure 50f4f6308d termptyops: skip variation selectors
We should take into account VS1, 15 and 16…
2019-06-23 22:02:50 +02:00
Boris Faure 891168a9a7 termio/termptyops: remove termio_content_change()
It shall no longer be needed.
2019-02-06 23:19:29 +01:00
Boris Faure 505772602e termptyops: do not wrap to left margin when already past right margin
Fix ech.sh test that detected the issue
2019-01-12 16:14:14 +01:00
Boris Faure 822f959163 termpty: handle IL with left/right margins + tests 2019-01-05 19:25:37 +01:00
Boris Faure a5d364bcbf termptyops: ensure clearing cells do not increase link count 2019-01-03 22:46:07 +01:00
Boris Faure 12cc6aaf42 termptyesc: support DECIC/DECDC + tests 2018-12-30 18:36:27 +01:00
Boris Faure 68787ad524 tests/termptyesc: handle DECSACE
Also regenerate tests since checksums changed due to new attribute
2018-12-29 17:21:07 +01:00
Boris Faure a940556cff termpty: correctly handle wrap (DECAWM) 2018-12-28 17:41:33 +01:00
Boris Faure dc5c291bb9 highlight links on mouseover
+ related fixes
2018-10-13 19:21:19 +02:00
Boris Faure cc83e6b6f2 parse hyperlinks
Ref: T6329
2018-10-13 10:52:50 +02:00
Boris Faure 43ad696570 Merge branch 'terminology-1.2' 2018-10-12 20:19:06 +02:00
Boris Faure aa0f968860 termpty: soft reset should only reset attributes 2018-10-12 20:17:50 +02:00
Boris Faure 0991479fcb try to optimize cell copy
On my stupid benchmark: having tyfuzz parse a 628MB text file (few times
war and peace concatenated) over 10 sessions, it went from 15.2MB/s to
16.8MB/s \o/ That's a 10.5% improvement!
2018-04-24 23:41:18 +02:00
Boris Faure 740e96da66 handle DECSCUSR (changing cursor shape). Closes T6338 2018-03-15 19:20:09 +01:00
Boris Faure 9e0243d9f1 support encircled escape code. Closes T6769 2018-03-13 09:15:32 +01:00
Boris Faure 6100f8f4e3 harden the code around manipulation of cursor_state 2017-09-08 23:06:19 +02:00
Boris Faure acbf3387fa fix selections in the backlog. Closes T5743
In the backlog, every cell but the last one has the autowrapped flag set.
_termpty_cellrow_from_beacon_get() now returns a length in the
"screen space".
2017-08-26 18:51:22 +02:00
Boris Faure 0478a36799 termptyops.c: fix scrolling wrt bottom margin
Thanks to @ncim for the report
2017-08-22 22:08:11 +02:00
Boris Faure 6315ed2949 termpty: remove termstate.had_cr since it's unused 2017-08-21 23:46:28 +02:00
Boris Faure 2343efd6a1 termptyesc: clearing the screen (from ED2) should not reset bottom margin
Thanks to @ncim for the report.
2017-08-21 23:19:41 +02:00
Boris Faure 6f1a2dd452 constify 2017-07-06 21:37:56 +02:00
Boris Faure 3cafc4272d feature: click-alt tries to handle wrapped CLI. Closes T5537 2017-07-06 20:17:47 +02:00
Boris Faure de3890dad3 feature: move cursor to position on click+alt. Closes T5537 2017-06-29 23:45:05 +02:00
Boris Faure e314dd2f29 termptyops: fix clearing cells on scroll
cells has already the offset taken into account
2017-06-06 23:49:24 +02:00
Boris Faure 64d7150252 fix stupid segfault 2017-06-06 00:19:48 +02:00
Boris Faure 9f72ea3a9d termptyesc: handle DECFRA 2017-06-05 20:47:41 +02:00
Boris Faure 7ea4b65c8d termptyops: handle right/left margins. Ref T5533 2017-06-05 17:43:23 +02:00
Boris Faure 7ab925dc76 termpty: very early support of Right/Left margins 2017-06-03 23:17:33 +02:00
Boris Faure 6c750c660c termpty: on reset, no longer restrict cursor 2017-06-01 21:34:01 +02:00
Boris Faure 6ce96da8c4 s/scroll_y1/top_margin/, s/scroll_y2/bottom_margin/ 2017-05-29 23:26:32 +02:00
Boris Faure 99f55b7bbc termptyesc: support DECSED3 to erase the backlog. Closes T3713 2016-12-20 22:43:37 +01:00
Boris Faure 240a4a02d3 termpty: fix potential NULL dereference. CID1367485 2016-12-19 23:38:32 +01:00
Boris Faure f3dd6f62fb termpty: Tab markers are the same for each line. Ref 4992 2016-12-18 18:48:03 +01:00
Boris Faure 6cc0abd787 termpty: skip combining chars unless it can be used as strikethrough 2016-11-26 18:42:26 +01:00
Boris Faure 566c6d3680 termpty: correctly handle saving cursor + switching to/from altbuf
Closes T4718
2016-10-18 00:15:06 +02:00
Boris Faure 7d09373c56 skip 0-width spaces. Closes T3734 2016-05-31 22:03:58 +02:00
Boris Faure 28965e6601 fix typo/bug spotted by afl-fuzz 2015-11-08 13:06:09 +01:00
Boris Faure 9c4167f74f always support double-width 2015-09-19 16:23:41 +02:00
Boris Faure 2b3eda694f always support italic 2015-09-19 16:18:17 +02:00
Boris Faure 8fbffdd869 renames to make the code more consistant 2015-08-03 20:44:55 +02:00
Boris Faure 35c8fd79c0 speed up browsing backlog
have a "beacon": single point where the link between an offset in the
backlog and one in screen coordinates
2015-08-03 20:44:55 +02:00