Kovid Goyal
25ed0c9c51
...
2023-07-30 19:49:38 +05:30
Kovid Goyal
b83e4d88f4
Implement fast padding-less base64 encode/decode for python
2023-07-30 19:49:38 +05:30
Kovid Goyal
6c79ae4443
Proper parsing of safe_string fields
2023-07-30 19:49:38 +05:30
Kovid Goyal
e05902e8ee
...
2023-07-30 19:49:38 +05:30
Kovid Goyal
55bbf175c6
Port send file mapping tests
2023-07-30 19:49:37 +05:30
Kovid Goyal
da31d21ddb
Port the shell integration tests to use the run-shell kitten
2023-06-26 16:53:08 +05:30
Kovid Goyal
098a38a3a9
Remove rendering via framebuffer for transparent windows with images
...
There is no need for it with the current rendering pipeline. Images are
blended with premult blending.
2023-06-21 16:06:07 +05:30
Kovid Goyal
af724090d2
Add a non-delete test as well
2023-06-14 09:44:51 +05:30
Kovid Goyal
80fb6f0f12
Merge branch 'master' of https://github.com/olzhasar/kitty
2023-06-14 08:08:51 +05:30
Kovid Goyal
4c5f4c4baf
Apparently Python 3.12 no longer raises FileNotFoundError when closing a deleted file
...
Fixes #6360 (I hope) dont have time to actually test with pre-release
python builds
2023-06-14 08:06:47 +05:30
olzhasar
d0a5d1b3a4
Fix misspellings
2023-06-14 03:39:53 +06:00
Kovid Goyal
9f377c5ccb
Cache shader source code loading
2023-06-13 17:58:17 +05:30
Kovid Goyal
750018e5fe
...
2023-05-25 12:25:46 +05:30
Kovid Goyal
cb936c1b5b
Use /dev/null rather than /dev/tty for the test
2023-05-25 12:24:59 +05:30
Kovid Goyal
624007c7aa
Refuse to read image files in /proc /sys and /dev
...
Also, open the image file with O_NONBLOCK to ensure we dont hang opening
a FIFO
2023-05-25 12:17:03 +05:30
Kovid Goyal
d059ddbb07
Only import resource module when actually running the test instead of at import time
2023-05-24 16:59:44 +05:30
Olivier Gayot
430768f38b
Skip crypto test if RLIMIT_MEMLOCK is too low
...
On systems where the max locked memory (a.k.a., RLIMIT_MEMLOCK) is too
low, the crypto test fails with "Cannot allocate memory".
Distros such as Debian and Ubuntu run the test-suite as part of the
build process. This results in failed builds if the build machine itself
does not have a sufficiently high value for RLIMIT_MEMLOCK. That said,
the resulting builds would run perfectly fine when installed on machines
that meet the requirements.
On supported systems, we now check if the RLIMIT_MEMLOCK is high enough
and skip the crypto test if it is not.
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2023-05-24 13:18:08 +02:00
Kovid Goyal
a2aadd4756
Remove python diff tests as no longer needed
2023-03-27 11:54:34 +05:30
Kovid Goyal
d30091034a
Remove the python diff kitten
2023-03-27 11:46:22 +05:30
Kovid Goyal
1bed92bed1
Cleanup previous PR
2023-03-20 07:42:10 +05:30
usertam
08fa7f19f7
kitty_tests, shell-integration: rework getpwuid() exceptions suppression
2023-03-20 03:31:23 +08:00
Samuel Tam
31319f0b65
kitty_tests/ssh.py: skip login shell detection if getpwuid() fails
2023-03-19 18:45:47 +08:00
Kovid Goyal
c19ac531cf
Fix some failing tests
2023-03-14 20:40:12 +05:30
Kovid Goyal
29dd2438c9
Port the subseq matcher to Go
2023-03-14 12:29:44 +05:30
Kovid Goyal
34cbf5ceac
Get rid of prewarming
...
Don't need it anymore since all major UI kittens are ported to Go
and so don't have startup latency.
2023-03-10 13:22:10 +05:30
Kovid Goyal
b76b0c61ed
Port custom processor for hints
2023-03-10 10:45:37 +05:30
Kovid Goyal
5b3f5dd02d
Port all remaining hints matching tests
2023-03-09 20:53:46 +05:30
Kovid Goyal
0e5ed29d83
Fix generation of url regex for Go
2023-03-09 19:00:56 +05:30
Kovid Goyal
8add28de96
Merge branch 'pr-unicode-placeholders' of https://github.com/sergei-grechanik/kitty
2023-03-03 10:55:02 +05:30
Kovid Goyal
00b3437a05
Remove python implementation of SSH kitten
2023-02-28 12:42:30 +05:30
Kovid Goyal
6de77ce987
Clean up exclude pattern handling
2023-02-26 09:12:12 +05:30
Kovid Goyal
5cc3d3cbfe
Fix remaining failing tests
2023-02-26 08:01:04 +05:30
Kovid Goyal
dc938cf3dd
More test fixes
2023-02-26 08:01:04 +05:30
Kovid Goyal
22ea33182a
Fix various test failures
2023-02-26 08:01:04 +05:30
Kovid Goyal
3f417b26b2
Wire up the new ssh kitten into the python ssh kitten tests
2023-02-26 08:01:04 +05:30
Kovid Goyal
525caff938
Move get_connection_data to utils module as it is not needed for the actual kitten
2023-02-26 08:01:03 +05:30
Kovid Goyal
e02ba7f389
Port bootstrap script length limit
2023-02-26 08:01:03 +05:30
Kovid Goyal
d656017f27
Move SSH askpass implementation into kitten
2023-02-26 08:01:02 +05:30
Kovid Goyal
5a8d903a4d
Go SHM API to read simple data with size from SHM name
2023-02-26 08:01:02 +05:30
Kovid Goyal
d98504e1a6
Finish porting SSH config file parsing
2023-02-26 08:01:02 +05:30
Kovid Goyal
2b7d6d45df
Finish up config parser port
2023-02-26 08:01:01 +05:30
Sergei Grechanik
d63eeada73
Image placement using Unicode placeholders
...
This commit introduces the Unicode placeholder image placement method.
In particular:
- Virtual placements can be created by passing `U=1` in a put command.
- Images with virtual placements can be displayed using the placeholder
character `U+10EEEE` with diacritics indicating rows and columns.
- The image ID is indicated by the foreground color of the placeholder.
Additionally, the most significant byte of the ID can be specified via
the third diacritic.
- Underline color can be optionally used to specify the placement ID.
- A bug was fixed, which caused incomplete image removal when it was
overwritten by another image with the same ID.
2023-02-21 18:23:16 -08:00
Kovid Goyal
ac5298ce76
Finish porting unicode input
2023-02-15 17:42:31 +05:30
Kovid Goyal
53e33a80ba
Start work on porting unicode input kitten to Go
2023-02-14 21:33:21 +05:30
Kovid Goyal
dd5cfe38b7
Update README
2023-01-14 15:56:03 +05:30
Kovid Goyal
6b8e5ea225
Rename kitty-tool to kitten
...
It's easier to type, and cuter.
Also, most, if not all of the TUI parts of
kitty's kittens will eventually be re-written into kitten.
The only downside I can see is that we cant tab complete kitty
anymore, but hopefully there will be less reason to run kitty
from the shell as command line tools migrate to kitten.
Meowrrrr!!!
2023-01-14 15:44:52 +05:30
Kovid Goyal
7fe5d7b58f
Replace isort with ruff
2023-01-09 16:47:42 +05:30
Kovid Goyal
a068e3e655
Fix issues reported by ruff
2023-01-09 15:54:41 +05:30
Kovid Goyal
e2543e8968
Fix #5852
2023-01-04 08:20:04 +05:30
Kovid Goyal
306f9e5735
Prettify URLs before displaying them to the user
2022-12-29 17:04:02 +05:30
Kovid Goyal
6e4376e44e
A few more wrapping serialization tests
2022-12-27 09:11:15 +05:30
Kovid Goyal
f6801d48d1
Add a test to ensure \n does not change wrapping status
2022-12-27 08:48:26 +05:30
Kovid Goyal
68cf9f7514
Switch to tracking linewrap on the last cell in a line
...
This allows us to have newline not affect the wrap status of a line.
Now a lines wrapping status is changed only when the last cell
in the line is changed. This actually matches the behavior of many other
terminal emulators so is probably a good thing from a ecosystem
compatibility perspective.
The fish shell expects this weird behavior of newline not changing
wrapping status, for unknown reasons, which is the actual motivation for
doing all this work.
Fixes #5766
2022-12-26 20:26:21 +05:30
Sergei Grechanik
32d8aac808
Fix scrolling images within margins
...
This commit fixes an off-by-one error in image scrolling that caused
images to not be scrolled or to be cropped at the wrong line.
2022-12-25 15:34:54 -08:00
Kovid Goyal
cd92d50a0d
Keyboard protocol: Remove CSI R from the allowed encodings of the F3 key as it conflicts with the *Cursor Position Report* escape code
2022-12-24 10:32:28 +05:30
James McCoy
9afd0309fc
tests: Use tempdir for XDG_RUNTIME_DIR
2022-12-21 22:21:48 -05:00
Kovid Goyal
c6360537e5
Try to fix tests failing on Python 3.11
2022-12-16 10:05:05 +05:30
Kovid Goyal
032e01ebf7
...
2022-12-11 20:55:06 +05:30
Kovid Goyal
3ee9f723f2
The legacy osc 52 protocol now works with the new clipboard requests manager class
2022-11-28 20:53:56 +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
Kovid Goyal
51bba9110e
Bash integration: Fix clone-in-kitty not working on bash >= 5.2 if environment variable values contain newlines or other special characters
...
Bash >= 5.2 changed the export command to output values using $' escaping when they contain special characters.
Fixes #5629
2022-11-22 16:38:24 +05:30
Kovid Goyal
efaf9faa38
Implement edit-in-kitty using kitty-tool
...
Fixes #5546
Fixes #5630
2022-11-17 20:48:20 +05:30
Kovid Goyal
a5a4a1bf8f
Increase timeout in test
2022-11-17 10:02:44 +05:30
Kovid Goyal
16775c5539
ssh kitten: Add a kitty-tool wrapper script to auto-download and use kitty-tool
...
Needs testing.
2022-11-15 13:26:48 +05:30
Kovid Goyal
2e07f90baf
...
2022-11-14 15:42:07 +05:30
Kovid Goyal
f945ef8ee8
handle ctrl-c better when interrupting go test
2022-11-14 15:42:06 +05:30
Kovid Goyal
7d5849cc17
...
2022-11-14 15:42:03 +05:30
Kovid Goyal
d2a2af9672
Add completion for kitty-tool
2022-11-14 15:42:02 +05:30
Kovid Goyal
3bd4fd999a
All completion tests pass again
2022-11-14 15:42:02 +05:30
Kovid Goyal
262e2fb7a3
Various fixes from the completion merge
2022-11-14 15:42:02 +05:30
Kovid Goyal
3662efdf80
Nicer handling of python for typecheck
2022-11-14 15:42:02 +05:30
Kovid Goyal
49f5f25fb9
Run tests in the writeable src dir as the generated go files are present there
2022-11-14 15:42:01 +05:30
Kovid Goyal
ff4353b209
...
2022-11-14 15:42:01 +05:30
Kovid Goyal
800dbf1f4d
extra message when tests have failed
2022-11-14 15:42:00 +05:30
Kovid Goyal
54ec486d3a
Now completion for hyperlinked_grep is automatic thanks to delegation
...
Also fix delegation for zsh when the command being completed differs
from the current command.
2022-11-14 15:42:00 +05:30
Kovid Goyal
e3b8de1ac0
Update test for new exe search
2022-11-14 15:41:59 +05:30
Kovid Goyal
928a4db817
Implement delegate based completion fof the ssh and hyperlinked_grep kittens
2022-11-14 15:41:59 +05:30
Kovid Goyal
fd631bf402
Delegate based completion for @launch args
2022-11-14 15:41:59 +05:30
Kovid Goyal
dc403156a9
Delegate based completion for kitty cmd
2022-11-14 15:41:59 +05:30
Kovid Goyal
8796168469
Port code to truncate strings to visual width to Go
2022-11-14 15:41:58 +05:30
Kovid Goyal
67f556bd7c
Add completion for the launch wrappers
2022-11-14 15:41:58 +05:30
Kovid Goyal
7737369fc9
Add completion for the kittens
2022-11-14 15:41:58 +05:30
Kovid Goyal
25a7ec9a07
Extra completion for some kitty options
2022-11-14 15:41:58 +05:30
Kovid Goyal
c2a2b4c087
Add various special purpose entry points
2022-11-14 15:41:58 +05:30
Kovid Goyal
3bf20594b7
Wire up completion for rc command options
2022-11-14 15:41:58 +05:30
Kovid Goyal
3a8bab90dc
Get rid of WordPrefix
2022-11-14 15:41:58 +05:30
Kovid Goyal
0ff2446a1a
More completion work
2022-11-14 15:41:58 +05:30
Kovid Goyal
d84efe105c
...
2022-11-14 15:41:58 +05:30
Kovid Goyal
c5afceb4cb
Basic completion for options
2022-11-14 15:41:57 +05:30
Kovid Goyal
18c3e46ac6
When completing on patterns exclude directories that only contain files that dont match
2022-11-14 15:41:57 +05:30
Kovid Goyal
3c29ce936b
Dont recurse for file completion
...
We could potentially end up recursing over the entire file system. And
for completion we only present the candidates in the immediate directory
anyway.
2022-11-14 15:41:57 +05:30
Kovid Goyal
c9d986f9a8
args completion for rc commands
2022-11-14 15:41:57 +05:30
Kovid Goyal
134fce8507
Allow completing paths with ~ prefix
2022-11-14 15:41:57 +05:30
Kovid Goyal
5d89a6c3c4
Work on completion of file args
2022-11-14 15:41:57 +05:30
Kovid Goyal
4575a14873
work on framework for testing completion
2022-11-14 15:41:56 +05:30
Kovid Goyal
b33a684357
...
2022-11-14 15:41:53 +05:30
Kovid Goyal
3b2c4561c2
Dont change the env for go tests
...
This prevents got test caching from working greatly increasing the time
for running a test
2022-11-14 15:41:53 +05:30
Kovid Goyal
e69b02ad46
...
2022-11-14 15:41:53 +05:30
Kovid Goyal
85b6053380
Run go tests in parallel
2022-11-14 15:41:53 +05:30
Kovid Goyal
417c8887b9
Start on testing infra for command to JSON serialization
2022-11-14 15:41:47 +05:30
Kovid Goyal
82a0e56eb2
Fix go tests not being excluded correctly
2022-11-14 15:41:45 +05:30
Kovid Goyal
fb4c7db25e
Add a test for existence of kitty-tool
2022-11-14 15:41:45 +05:30
Kovid Goyal
14262b158d
Log which go exe is being used to run the tests
2022-11-14 15:41:44 +05:30
Kovid Goyal
1325844539
Add some go testing infrastructure
2022-11-14 15:41:44 +05:30
Kovid Goyal
9d471782dd
Increase some more timeouts
2022-11-03 13:13:14 +05:30
Kovid Goyal
93563f1280
More pointless code churn thanks to importlib.resources
...
They've deprecated a bunch of API but the suggested replacement is
either not present in versions of python that are not EOLed or doesn't
actually work.
2022-11-03 12:13:47 +05:30
Kovid Goyal
0b3228ab16
...
2022-11-01 12:51:36 +05:30
Kovid Goyal
3f28cf45d4
Dont use the deprecated importlib.resources API
2022-11-01 12:38:24 +05:30
Kovid Goyal
c2ead407ae
...
2022-10-31 18:14:38 +05:30
Kovid Goyal
16b322616a
Fix cursor position at x=0 changing to x=1 on resize
...
Fixes #5635
2022-10-31 08:03:42 +05:30
Kovid Goyal
e0b4c7edc5
Increase the timeout for shell integration tests
...
Needed for ARM running non-natively
2022-10-30 11:09:36 +05:30
Kovid Goyal
a8ab4eaf23
Use a larger timeout when running prewarm test
2022-10-30 10:36:10 +05:30
Kovid Goyal
5ea0519f62
Pass through python used for type check to the test code from before the env is sanitized
2022-09-25 14:36:12 +05:30
Kovid Goyal
0d64246209
fix vim autoindent
2022-09-24 08:31:14 +05:30
Kovid Goyal
a0495219ab
...
2022-09-24 08:30:40 +05:30
Kovid Goyal
26b8ab9adf
Use a regex for bracketed paste sanitization
2022-09-23 22:18:03 +05:30
Kovid Goyal
b1fa1c9820
Make test a bit more robust
2022-09-21 23:16:34 +05:30
Kovid Goyal
6f147544d2
Add ! to env var serialization test
2022-09-10 07:21:15 +05:30
Kovid Goyal
1559a2e15a
Cleanup previous PR
2022-09-05 21:19:58 +05:30
James McCoy
f0d497dfe0
Skip bash shell_integration tests if bash is a debug build
...
Switch to using BASH_VERSINFO rather than BASH_VERSION, since it
provides structured data.
BASH_VERSINFO
A readonly array variable whose members hold version information for this instance of bash. The values assigned to the array members are as follows:
BASH_VERSINFO[0] The major version number (the release).
BASH_VERSINFO[1] The minor version number (the version).
BASH_VERSINFO[2] The patch level.
BASH_VERSINFO[3] The build version.
BASH_VERSINFO[4] The release status (e.g., beta1).
BASH_VERSINFO[5] The value of MACHTYPE.
When release status is not "release", bash builds are in debug mode and
output extra information which disturbs the integration.
Closes #5473
2022-09-05 11:37:37 -04:00
Kovid Goyal
f05783e64d
Sanitize notifications ids as they are retransmitted over the TTY
2022-09-05 10:41:19 +05:30
Kovid Goyal
c455fea729
Also output screen contents when test fails
2022-09-05 07:52:36 +05:30
Kovid Goyal
992e90b0a3
Fix a regression in 0.26.0 that broke mapping of native keys who key codes did not fit in 21 bits
...
Fixes #5452
2022-08-31 22:19:51 +05:30
Trygve Aaberge
03720402a7
Fix hints sometimes matching next line as part of URL
...
For URLs where there's fewer characters left to the right edge of the
window than the number of escape characters in the line, the next line
would be included in the URL, as if the URL went all the way to the
right edge.
For example with a 40 chars wide terminal, if you run:
echo -e '\e[31m1\e[m https://github.com/kovidgoyal/kitty\ntest '
And launch the hints kitten, you'll see that test on the next line will
be included in the URL.
This happened because the calculation for filling the rest of the line
with NUL characters counted the escape characters as well as the visible
characters, so it filled in too few characters.
This is a regression introduced in commit 91966712
.
2022-08-30 22:24:58 +02:00
Kovid Goyal
89a0c04d19
Fix exec in prewarm forked process sometimes inheriting env vars from grandparent process
2022-08-30 19:03:32 +05:30
Kovid Goyal
e2a1f8dde7
...
2022-08-30 10:40:59 +05:30
Kovid Goyal
6604e0d015
Fix regression in 0.26.0 that caused launching kitty without working STDIO handles to result in high CPU usage and prewarming failing
...
Fixes #5444
2022-08-30 08:15:13 +05:30
Kovid Goyal
c68b82e4d0
ssh kitten: Fix executable permission missing from kitty bootstrap script
...
Fixes #5438
2022-08-29 18:20:09 +05:30
Kovid Goyal
16da031f68
Wait till prompt appears before issuing clear
2022-08-28 21:54:55 +05:30
Kovid Goyal
43b2935e52
Make fish shell integration test for XDG_DATA_DIRS work even if the shells rc files add to XDG_DATA_DIRS.
...
My Linux distro has now started installing system wide rc files that do
this :((
2022-08-28 21:15:26 +05:30
Kovid Goyal
555020cfd5
Also allow using at-cmd
2022-08-28 10:26:38 +05:30
Kovid Goyal
391e2b8488
Fix resolution of anchor names for kitty @ command docs
2022-08-28 10:25:00 +05:30
Kovid Goyal
214416f1e3
Fix handling of :doc: in CLI help output
2022-08-24 13:43:47 +05:30
Kovid Goyal
44ccdd36d6
Remove socket prewarming
...
The potential for breakage is too high, and I am working on an
alternative solution that will be better long term.
Prewarming is still used for kittens launched via keybindings
2022-08-20 13:38:33 +05:30
Kovid Goyal
e289f4959f
DRYer
2022-08-20 12:03:33 +05:30
Kovid Goyal
cd35f92607
Fix resolve_ref()
2022-08-20 11:29:40 +05:30
Kovid Goyal
314dd97059
Command line tools shouldnt need to resolve documentation refs
...
Instead use a new kitty+doc protocol and have kitty navigate to the
docs. Uses a default open action for the protocol, which can be
overriden by the user should they so desire.
2022-08-19 14:35:17 +05:30
Kovid Goyal
5350eb29c1
A new mappable action to show kitty docs in the browser
2022-08-19 14:00:30 +05:30
Kovid Goyal
3288400005
Make the docs and man pages available in the macos bundle as well
2022-08-19 12:38:10 +05:30
Kovid Goyal
d0c50248ea
Graphics protocol: Only delete temp files if they have the string tty-graphics-protocol
in their file paths.
...
This prevents deletion of arbitrary files in /tmp via the graphics
protocol.
2022-08-16 11:25:33 +05:30
Kovid Goyal
c982f24faf
Add some tests for hashing and __eq__
2022-08-12 12:02:22 +05:30
Kovid Goyal
b54dd1cb48
Increase the max key num that is storeable
2022-08-12 11:37:54 +05:30
Kovid Goyal
ef621aa099
DRYer
...
Also dont store negative values for key. Unset is 0 not -1
2022-08-12 11:35:45 +05:30
Kovid Goyal
f3329fcd34
Fix storage for GLFW_MOD_KITTY
2022-08-12 09:58:50 +05:30
Kovid Goyal
af48547d8b
Implement SingleKey._replace
2022-08-12 09:40:58 +05:30
Kovid Goyal
f228f8368a
A faster version of SingleKey
2022-08-12 09:17:42 +05:30
Kovid Goyal
21eece4c6d
Ensure no bytecode is written when running shell based tests
2022-08-08 17:50:59 +05:30
Kovid Goyal
a7b7fb560a
Add tests for AES256GCM
2022-08-05 13:50:03 +05:30
Kovid Goyal
89854cca8b
Test for secret derivation
2022-08-04 20:05:19 +05:30