Commit Graph

895 Commits

Author SHA1 Message Date
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
Kovid Goyal
cc7e668ad6
Cleanup editing of proc environ 2022-08-01 19:03:03 +05:30
Kovid Goyal
e0ce0a67cc
ensure setting KITTY_PREWARM_SOCKET_REAL_TTY does not clobber the environ 2022-08-01 19:03:03 +05:30
Kovid Goyal
0d83a8866b
Make setting the real tty name more robust 2022-08-01 19:03:03 +05:30
Kovid Goyal
f7a7e39a36
prewarm wrapper should indicate it is active via the process environment 2022-08-01 19:03:03 +05:30
Kovid Goyal
376688ab9f
Add a test for SIGTSTP via ctrl-z 2022-08-01 19:03:03 +05:30