Dominique Martinet
c421d3bb59
line_as_ansi: don't reset SGR at start of line
...
less does not carry the mode over from the previous line anyway, let's
save a few bytes for every line
2018-09-22 19:10:09 +09:00
Kovid Goyal
5fa5bf8142
Add a test for unicode regional indicator widths
2018-08-04 10:56:35 +05:30
Kovid Goyal
6f2d63eb87
Implement SGR dim
...
kitty now supports the SGR DIM escape code, which makes text fade into
the background. It works by alpha blending the text color into the
background color. Fixes #446
2018-05-20 10:43:26 +05:30
Kovid Goyal
3f316c39d1
Dynamically allocate the scrollback history buffer
...
Reduces startup memory consumption when using very large scrollback
buffer sizes.
2018-05-03 15:17:02 +05:30
Kovid Goyal
0be0963dc7
Utility method to truncate formatted lines to specified width
2018-04-25 19:34:04 +05:30
Kovid Goyal
19648257f2
Have wcwidth() ignore SGR
2018-02-12 10:19:29 +05:30
Kovid Goyal
f4f0b8fd5f
Kittens learn about bracketed paste
2018-02-07 10:39:05 +05:30
Kovid Goyal
22cf67b407
More work on tui.loop
2018-02-06 20:08:28 +05:30
Kovid Goyal
fa87ce72a8
A terminal input parse helper for the kittens
2018-02-06 17:29:05 +05:30
Kovid Goyal
e830b7edf7
Add emoji presentation variation selector support to wcswidth() as well
2018-02-06 10:16:23 +05:30
Kovid Goyal
b9857f9499
Only consider emoji characters with emoji presentation to have width two
...
Fixes #308
2018-02-05 09:21:13 +05:30
Kovid Goyal
3f24e5b571
A few more places to remove wcwidth from
2018-02-04 22:47:02 +05:30
Kovid Goyal
fc7ec1d3f7
Get rid of the option to use the system wcwidth
...
The system wcwidth() is often wrong. Not to mention that if you SSH into
a different machine, then you have a potentially different wcwidth. The
only sane way to deal with this is to use the unicode standard.
2018-02-04 21:02:30 +05:30
Kovid Goyal
80301d465b
Handle non-BMP combining characters
...
Use a level of indirection to store combining characters. This allows
combining characters to be stored using only two bytes, even if they are
after USHORT_MAX
2018-01-18 16:25:42 +05:30
Kovid Goyal
7ed835cf13
Fix a crash when detecting URLs continued onto multiple lines
...
Fixes #244
2017-12-27 06:35:09 +05:30
Kovid Goyal
27cd303a05
Centralize code to convert to SGR
...
Conversion from formatting attributes to SGR now always goes through a
Cursor.
2017-12-04 10:51:06 +05:30
Kovid Goyal
73b501c961
Make color parsing a little more robust
...
Add a few tests for it
2017-12-01 20:02:47 +05:30
Kovid Goyal
6c838bbc28
Implement dirty line tracking
2017-11-09 16:55:45 +05:30
Kovid Goyal
898e87aa7b
Dont allocate space for dummy fonts
...
Also move sprite_map test into fonts test module
2017-11-09 16:55:42 +05:30
Kovid Goyal
f25d2ea540
Rip out the old sprite update code
2017-11-09 16:45:45 +05:30
Kovid Goyal
2443d76ac3
Apparently pep8 now just does not let you use the name l
...
This is one of the most hilarious bugs in pep8 I have come across
2017-10-23 17:40:53 +05:30
Kovid Goyal
8b54df31ef
Fix new pep8 ambiguous name warning
2017-10-23 17:33:57 +05:30
Kovid Goyal
3ca45ab241
Fix cursor moving one line up when resizing
2017-09-20 10:59:31 +05:30
Kovid Goyal
464291bbb1
Port click on URL code to C
2017-09-15 10:45:27 +05:30
Kovid Goyal
271b623f82
More URL detection tests
2017-09-15 10:45:25 +05:30
Kovid Goyal
88d896e745
Move function to detect URLs into C code
2017-09-15 10:45:25 +05:30
Kovid Goyal
c683725434
Get rid of the timers infrastructure
...
It is not needed with a pure state machine.
Note that drag scrolling still has to be ported from using
timers.
2017-09-15 10:45:24 +05:30
Kovid Goyal
bc97cfa024
Use a null to represent a blank rather than a space
...
This has performance benefits when clearing (can use a single
memset). Also allows detecting trailing whitespace on lines correctly.
2017-09-15 10:45:16 +05:30
Kovid Goyal
6127d2d122
Make the sprite map globally accessible from C code as well as python code
...
The lock was removed as the Python GIL is sufficient to serialize access
to the SpriteMap structure.
2017-09-15 10:45:10 +05:30
Kovid Goyal
a429bcbb22
Dont use the glfw timer function as it requires glfwInit
2017-09-15 10:45:07 +05:30
Kovid Goyal
9c501b37ea
Allow skipping of tests that depend on a modern wcwidth() via an env var
2017-01-10 13:52:15 +05:30
Kovid Goyal
2517e4a8a0
Expand the wcwidth test
2017-01-09 07:13:14 +05:30
Kovid Goyal
b4af2ff314
The cursor visible (DECTCEM) property should be global, not affected by save/restore of cursor or alternate screens
2017-01-04 10:02:39 +05:30
Kovid Goyal
b6c639c487
Fix incorrect handling of trailing whitespace for lines in the history buffer when resizing
2016-12-11 14:48:00 +05:30
Kovid Goyal
ae3f555f51
HistoryBuf.as_ansi()
2016-12-09 19:39:20 +05:30
Kovid Goyal
471b36832e
...
2016-12-09 12:46:02 +05:30
Kovid Goyal
5a6ecbbf43
LineBuf.as_ansi()
2016-12-09 12:44:39 +05:30
Kovid Goyal
e3e3e86598
Code to get the ANSI representation of a line
2016-12-08 21:11:12 +05:30
Kovid Goyal
3031d41e72
Start work on supporting changing of entries in the color table
2016-11-24 15:28:52 +05:30
Kovid Goyal
101afd5031
Switch title handling to use unicode
2016-11-23 20:28:30 +05:30
Kovid Goyal
3c8d2dce36
...
2016-11-21 10:25:53 +05:30
Kovid Goyal
7b1591113a
Basic tests for HistoryBuf.rewrap
2016-11-20 22:40:43 +05:30
Kovid Goyal
776224378d
Basic tests for HistoryBuf
2016-11-20 20:40:10 +05:30
Kovid Goyal
0b0a216856
Use HistoryBuf (still need to implement rewrap)
2016-11-20 20:20:14 +05:30
Kovid Goyal
1426f87c99
...
2016-11-18 15:49:39 +05:30
Kovid Goyal
44e8a6c3c7
Start work on sprite map
2016-11-10 17:22:00 +05:30
Kovid Goyal
b12af6f21d
Test for LineBuf.clear()
...
Also raise IndexError instead of ValueError for line and char access
2016-11-10 12:05:50 +05:30
Kovid Goyal
1884cc17c1
A ColorProfile to manage colors
2016-11-10 10:07:47 +05:30
Kovid Goyal
6334b39935
More tests for rewrap
2016-11-09 19:21:08 +05:30
Kovid Goyal
7108584e7a
A more accurate, but slower rewrap algorithm
2016-11-09 17:47:03 +05:30