199 Commits

Author SHA1 Message Date
Kovid Goyal
66856e7b52 Use a multi-stage lookup table for grapheme segmentation 2025-03-31 21:51:28 +05:30
Kovid Goyal
2aa2607adc ... 2025-03-25 17:13:54 +05:30
Kovid Goyal
3e50588525 Add a test for PUA recog 2025-03-25 16:52:01 +05:30
Kovid Goyal
3d0e45ace8 Use the new multi-stage unicode table for wcwidth 2025-03-24 14:20:40 +05:30
Kovid Goyal
583a858769 Use a multistage lookup table for grapheme segmentation 2025-03-22 11:50:04 +05:30
Kovid Goyal
0d866b1f13 Add tests for grapheme segmentation
Test data provided by Unicode organisation
2025-03-13 13:48:35 +05:30
Kovid Goyal
82d4234d9a Run at exit cleanup functions explicitly instead of relying on the ever unreliable python interpreter to do it 2025-02-10 15:06:18 +05:30
Kovid Goyal
9e9ab3e6f9 pass decorations location as sprite metadata 2025-02-03 10:56:45 +05:30
Kovid Goyal
0fb49f4139 Switch to using an index for sprite tracking
Frees up two bytes in GPUCell. Doesn't require a minimum texture row
size. Makes a bunch of code faster. Index uses 31 bits which gives us
2,147,483,647 aka ~ 2 billion sprites.
2025-02-03 10:56:45 +05:30
Kovid Goyal
5e861ea5ac Start work on testing multicell commands 2025-02-03 10:56:43 +05:30
Kovid Goyal
155990ce0b Fix some method declarations for Python API compat 2024-12-24 22:54:22 +05:30
Kovid Goyal
f6347ee1e2 Move more declarations out of data-types.h 2024-11-04 09:10:07 +05:30
Kovid Goyal
481153318b Fix a regression that broke writing to the clipboard using the OSC 5522 protocol
Fixes #7858
2024-09-15 08:42:50 +05:30
Kovid Goyal
8bee1b25ef ... 2024-09-08 11:02:28 +05:30
Kovid Goyal
cda023782f Use fast call for base64 encode/decode 2024-09-06 10:11:40 +05:30
Kovid Goyal
c8aa6d75a7 Add base64 encode/decode into functions 2024-09-06 09:47:14 +05:30
Kovid Goyal
9843b5c210 Remove unused code 2024-08-26 19:13:09 +05:30
Kovid Goyal
eedf01fbe3 Make getpeerid re-useable 2024-08-26 18:55:10 +05:30
Kovid Goyal
554a2b1811 Allow unfocused cursor shape to remain unchanged
Fixes #7728
2024-08-17 15:49:55 +05:30
Kovid Goyal
e97c225b6c Add *_into API for streaming encode/decode 2024-07-30 07:18:33 +05:30
Kovid Goyal
8d36677d41 Add a decode_into API for streaming base64 decoding
Allows buffer reuse
2024-07-29 22:30:36 +05:30
Kovid Goyal
d2ced8d6e1 Add a streaming base64 encoder 2024-07-29 22:08:13 +05:30
Kovid Goyal
8b54d19326 ... 2024-07-29 21:27:42 +05:30
Kovid Goyal
b52275e0b5 Simplify API of streaming base64 decoder further 2024-07-29 21:24:45 +05:30
Kovid Goyal
9047df5080 Use a more correct method name 2024-07-29 20:17:52 +05:30
Kovid Goyal
4ba9fcaf37 Simplify streaming base64 decoder by using the streaming API of libbase64 2024-07-29 20:08:28 +05:30
Kovid Goyal
9de4b7bc78 Dont alloc the stream decode buffer on object init 2024-07-26 23:57:36 +05:30
Kovid Goyal
3d0747e713 Switch to SIMD accelerated base64 decoding for clipboard and notification requests 2024-07-26 23:57:33 +05:30
Kovid Goyal
39dfa75fe7 Add test for steps easing function value calculation 2024-07-18 22:25:02 +05:30
Kovid Goyal
a783e5d85a Ensure builtin NERD font is used only if glyph is not found by normal font fallback 2024-07-02 14:18:22 +05:30
Kovid Goyal
581db0ab7a Make kitty --version fast
It's now approx 3ms on my system and 1.23 times faster than alacritty
--version
2024-06-22 12:27:29 +05:30
Kovid Goyal
39ea084be9 Linux: Run all child processes in their own systemd scope to prevent the OOM killer from harvesting kitty when a child process misbehaves
Fixes #7427
2024-05-16 15:43:25 +05:30
Kovid Goyal
8fc96c5bd7 Make the debug logging functions consistent
They now all output the same format of:
[time since program start] msg
2024-04-08 12:53:55 +05:30
Kovid Goyal
f7a7765ba2 Clean up debug rendering output 2024-03-26 13:06:08 +05:30
Kovid Goyal
ad64472950 Make the terminfo database available in the compiled module 2024-03-21 10:16:50 +05:30
Kovid Goyal
a33b747de5 Fix find_in_memoryview() 2024-02-25 09:57:32 +05:30
Kovid Goyal
3d0a90e63d Switch to SIMD based base64 2024-02-25 09:57:29 +05:30
Kovid Goyal
6205fb32fd Refactor VT parser for more speed
No longer copy bytes into a separate buffer, instead parse them in place
in the read buffer
2024-02-25 09:57:23 +05:30
Kovid Goyal
23bb2e1b67 Fast function to replace c0 codes 2024-02-25 09:57:23 +05:30
Kovid Goyal
5f809bf249 Get kitty building with the new VT parser 2024-02-25 09:57:22 +05:30
Kovid Goyal
b083ad9038 Start work on bytes based VT parser 2024-02-25 09:57:22 +05:30
Kovid Goyal
b0ba4b4a42 Fast and robust implementation of shlex.split
Also returns position of words in src string which we will need for
keymap parsing.
2023-12-02 14:57:02 +05:30
Kovid Goyal
6c7a8f8fa9 Ensure usage of __attribute__(cleanup) never frees un-initialized memory
Use macros that take an initializer parameter to, thereby ensuring the
variable to be cleaned up is always initialized.
2023-08-07 12:24:18 +05:30
Kovid Goyal
d01da39dfb Speed up base64 decode even more 2023-07-30 19:49:39 +05:30
Kovid Goyal
b83e4d88f4 Implement fast padding-less base64 encode/decode for python 2023-07-30 19:49:38 +05:30
Derek Schrock
3b57acf03c More cases of #5477 functions with empty argument lists
Building on macOS 13.3.1 (22E261) clang 14.0.3 (clang-1403.0.22.14.1)
running to errors like #5477 where functions without argument lists at
least need void.

Looking for possible suspect functions via:

  git grep -E "^([A-Za-z_]+ )?[A-Za-z_]+\()" \*.c \*.m
2023-04-16 01:09:36 -04:00
Kovid Goyal
b408abe304 Move compile_commands.json to build directory 2023-01-26 14:25:22 +05:30
Kovid Goyal
5eb2142d70 Use a define rather than a generated file for wrapped kittens 2022-11-26 16:16:45 +05:30
Kovid Goyal
f9a22d0bc7 Port ANSI escape code parser to Go 2022-11-25 21:03:09 +05:30
Kovid Goyal
cfc6bd4da5 Native code implementation for expanding ANSI escape codes 2022-11-25 17:33:41 +05:30