Kovid Goyal
d46590c2e6
Fix fd leak in debugprintln
2023-07-30 19:49:45 +05:30
Kovid Goyal
6b5520f07a
More work on porting the receive kitten
2023-07-30 19:49:45 +05:30
Kovid Goyal
3d5fdad029
More work on porting receive kitten
2023-07-30 19:49:44 +05:30
Kovid Goyal
73ee5b32c9
A better way to wrap go's zlib into a streaming decompressor
2023-07-30 19:49:44 +05:30
Kovid Goyal
59b47a3a8f
A facility to easily have child programs print to kitty stdout
...
Works better than the kitty-print DCS escape code as that tends to get
interleaved with other writes to the tty since the loop infrastructure
writes in a separate I/O thread.
2023-07-30 19:49:44 +05:30
Kovid Goyal
063c39ea12
Wire up the rsync code in the send kitten
2023-07-30 19:49:43 +05:30
Kovid Goyal
edc1669ced
Ported tests all pass
2023-07-30 19:49:43 +05:30
Kovid Goyal
b5498090df
Finish the port of the rsync algorithm to C
2023-07-30 19:49:43 +05:30
Kovid Goyal
c84874ca8d
Add tests for the xxhash based hashers
2023-07-30 19:49:42 +05:30
Kovid Goyal
08e3dbb8e7
Patcher signature generation implemented
2023-07-30 19:49:42 +05:30
Kovid Goyal
fabb6bd8cc
Start work on porting Go rsync implementation to C
2023-07-30 19:49:42 +05:30
Kovid Goyal
85df15bfc3
Add a test that the last op is hash
2023-07-30 19:49:42 +05:30
Kovid Goyal
f64c4f34ac
Also use io.Writer for signature iterator
2023-07-30 19:49:42 +05:30
Kovid Goyal
4b5216adcf
Change delta creation API to use io.Writer
...
Simplifies logic and avoids an extra copy if the writer doesnt need to
make its own copy
2023-07-30 19:49:41 +05:30
Kovid Goyal
94b5bedfa5
Add overall file checksum verification to the rsync protocol
2023-07-30 19:49:41 +05:30
Kovid Goyal
e125f803b3
Work on adding overall checksum support
2023-07-30 19:49:41 +05:30
Kovid Goyal
039e17840a
Allow users to customize buffer growth strategy
2023-07-30 19:49:41 +05:30
Kovid Goyal
c2ad662bed
Use the append paradigm for the delta iterator as well
2023-07-30 19:49:41 +05:30
Kovid Goyal
579ab8551e
Add some API docs
2023-07-30 19:49:41 +05:30
Kovid Goyal
77d5fe1be5
Change signature generation API to allow caller to provide storage and control iteration
2023-07-30 19:49:41 +05:30
Kovid Goyal
bbb6a4ae35
Micro-optimization: store strong hash as a uint64 instead of a byte slice
2023-07-30 19:49:41 +05:30
Kovid Goyal
55f9359e1b
Make the rsync struct private
2023-07-30 19:49:41 +05:30
Kovid Goyal
6c10528cbd
Make the hasher var private in the rsync API
2023-07-30 19:49:41 +05:30
Kovid Goyal
ca835cd80d
...
2023-07-30 19:49:41 +05:30
Kovid Goyal
7268513332
More tests
2023-07-30 19:49:41 +05:30
Kovid Goyal
71c7c4b285
Clean up delta generation algorithm implementation
2023-07-30 19:49:41 +05:30
Kovid Goyal
83d97c515c
Use the iterator design for bytes based API as well
2023-07-30 19:49:41 +05:30
Kovid Goyal
e7d02b79d7
Make diff internals private
2023-07-30 19:49:41 +05:30
Kovid Goyal
6bc0fc7615
Make serializing data ops avoid a double copy
2023-07-30 19:49:40 +05:30
Kovid Goyal
f7723a65fa
Removal original delta operation implementation
...
Mine is nicer and much more amenable to debugging
2023-07-30 19:49:40 +05:30
Kovid Goyal
35bfdbd926
...
2023-07-30 19:49:40 +05:30
Kovid Goyal
3db2c4fe5d
Make the test non-random
2023-07-30 19:49:40 +05:30
Kovid Goyal
74e0fa3f1d
Show invocation line for failing test
2023-07-30 19:49:40 +05:30
Kovid Goyal
ed6e3dfe2c
Speedup Memset for single val
2023-07-30 19:49:40 +05:30
Kovid Goyal
678ad627b2
Improve testing infra for rsync roundtrip
2023-07-30 19:49:40 +05:30
Kovid Goyal
26c93af565
...
2023-07-30 19:49:40 +05:30
Kovid Goyal
f27bb2103f
Work on cleaning up the checksum searching algorithm
2023-07-30 19:49:40 +05:30
Kovid Goyal
4dc409ff5d
Increase MaxBlockSize
2023-07-30 19:49:40 +05:30
Kovid Goyal
6a7c194d8f
In the tests check that too much data is not being transmitted
2023-07-30 19:49:40 +05:30
Kovid Goyal
79fd0b19cf
Fix a bug in upstream CreateDelta that could ignore trailing data if a matching hash is not found for it
2023-07-30 19:49:40 +05:30
Kovid Goyal
82721ef053
Check for error during seek()
2023-07-30 19:49:40 +05:30
Kovid Goyal
6d614a98ac
Get the test to pass
2023-07-30 19:49:40 +05:30
Kovid Goyal
26c22f0086
Work on creating tests for rsync api
2023-07-30 19:49:40 +05:30
Kovid Goyal
278a3986e5
Simplify API a bit
2023-07-30 19:49:40 +05:30
Kovid Goyal
2801b934fb
Split up API into two structs one for diffing and one for patching
2023-07-30 19:49:40 +05:30
Kovid Goyal
a5c62da265
Dont use JSON for signature header
2023-07-30 19:49:39 +05:30
Kovid Goyal
c28f6a7bf4
Make CreateSignature byte oriented
2023-07-30 19:49:39 +05:30
Kovid Goyal
71a1050b9f
Make loading of external signature data also streaming
2023-07-30 19:49:39 +05:30
Kovid Goyal
7e12972414
Wrap the rsync Go API to use with byte streams and arbitrary hash functions
2023-07-30 19:49:39 +05:30
Kovid Goyal
d539620c9d
Import Go implementation of rsync algorithm
...
From https://github.com/jbreiding/rsync-go/blob/master/rsync.go
2023-07-30 19:49:39 +05:30
Kovid Goyal
10362c3121
DRYer
2023-07-30 19:49:39 +05:30
Kovid Goyal
dee6210de5
Utility function to initialize struct based on default tags
2023-07-30 19:49:39 +05:30
Kovid Goyal
38666f978b
More work on porting transfer kitten
2023-07-30 19:49:39 +05:30
Kovid Goyal
aa86b98eee
Use encryption for bypass
2023-07-30 19:49:39 +05:30
Kovid Goyal
5d361757a2
more work on the transfer kitten
2023-07-30 19:49:38 +05:30
Kovid Goyal
ff3232547d
More work on transfer kitten porting
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
be7f276d3e
More work on the transfer kitten
2023-07-30 19:49:37 +05:30
Kovid Goyal
7cec9016d3
Start work on porting the transfer kitten to Go
2023-07-30 19:49:37 +05:30
Kovid Goyal
28fbab3476
...
2023-07-24 12:45:01 +05:30
Kovid Goyal
8cab5f881f
More timer dispatch loop cleanups
2023-07-24 12:38:48 +05:30
Kovid Goyal
f4b0183341
Nicer debug output of timers
2023-07-24 12:19:27 +05:30
Kovid Goyal
ce35532aa5
Avoid unnecessary copy and sort of timers
2023-07-24 12:01:00 +05:30
Kovid Goyal
2baff2fccc
Fix timer that does not fire at next loop tick being discarded
2023-07-24 11:54:02 +05:30
Kovid Goyal
58312fffee
Also detect makefiles as plain text files
2023-07-24 10:53:39 +05:30
Kovid Goyal
66e319d1f5
Simplify code
2023-07-02 08:20:59 +05:30
Kovid Goyal
b28c4054e1
Fix a rare panic in dispatch_timers
2023-07-02 08:14:37 +05:30
Kovid Goyal
34ed922738
...
2023-06-29 07:44:34 +05:30
Kovid Goyal
8670ede032
DRYer
2023-06-29 07:39:42 +05:30
Kovid Goyal
ab10070ee8
kittens: Fix errors not being reported to user when run a UI kitten
...
Fixes #6403
2023-06-29 07:36:24 +05:30
Kovid Goyal
326b81a970
Port the show_error kitten to Go
2023-06-26 17:52:31 +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
8ffbfa177d
...
2023-06-26 15:57:00 +05:30
Kovid Goyal
01b55a5522
Document the new run-shell kitten
2023-06-26 10:47:13 +05:30
Kovid Goyal
7e35ee33e3
Have run-shell use the first recognized parent shell by default
2023-06-26 10:31:09 +05:30
Kovid Goyal
b02a1fb8b4
Port the bash setup function to Go
2023-06-26 08:33:39 +05:30
Kovid Goyal
a573689220
Port the zsh setup function to Go
2023-06-25 21:40:36 +05:30
Kovid Goyal
3a76ccf10b
Port the fish setup function to Go
2023-06-25 20:34:48 +05:30
Kovid Goyal
092e0fba2c
Work on code to run shells from a kitten with shell integration
2023-06-25 19:27:43 +05:30
Kovid Goyal
51aaea03bf
Go code to get the shell of the current user
2023-06-25 13:12:35 +05:30
Kovid Goyal
2787f305f3
Generic helper to concatenate arbitrary numbers of slices
2023-06-24 09:13:20 +05:30
olzhasar
d0a5d1b3a4
Fix misspellings
2023-06-14 03:39:53 +06:00
Kovid Goyal
21d0522d90
Fix a regression in 0.27.0 that broke setting of specific edge padding/margin via remote control. Fixes #6333
2023-06-04 22:24:48 +05:30
Kovid Goyal
54a1cfc380
Autogen enum <-> string boilerplate for Go
2023-05-28 11:48:32 +05:30
Kovid Goyal
e59e42a6c2
simplify API of utils.Once
2023-05-26 22:42:07 +05:30
Kovid Goyal
d89c1426d5
Dont use non-writeable locations containing kitty.conf as the config dir
2023-05-26 08:40:47 +05:30
Kovid Goyal
5e6d020275
Show proper error message in diff when failing to load image
2023-05-24 22:47:14 +05:30
Kovid Goyal
5b199b28c3
Fix a panic when failing to load some images in a diff
2023-05-24 22:41:51 +05:30
Kovid Goyal
491297ea1d
When asking for permission to exec a shebang script also add options to view or edit the script
2023-05-12 16:02:47 +05:30
Kovid Goyal
b7c3946f8f
...
2023-05-07 08:13:57 +05:30
Kovid Goyal
537cabca71
kitty +open: Ask for permission before executing script files that are not marked as executable
...
This prevents accidental execution of script files via MIME type
association from programs that unconditionally "open"
attachments/downloaded files via MIME type associations.
2023-05-07 08:11:39 +05:30
Kovid Goyal
877d8d7008
...
2023-05-04 10:36:02 +05:30
Kovid Goyal
ce70320a62
...
2023-05-04 10:26:18 +05:30
Kovid Goyal
3eb18a416a
Entry point for parsing theme metadata
2023-05-04 10:14:58 +05:30
Kovid Goyal
ea5634b3fd
When parsing theme metadata ignore the name if it is the placeholder value from the template
2023-05-03 21:55:33 +05:30
Kovid Goyal
59c4d4a4bd
DRYer
2023-04-28 20:30:15 +05:30
Kovid Goyal
ef999c9024
Also show stderr from tmux on failure
2023-04-28 20:16:37 +05:30
Kovid Goyal
514888a274
Use FindExe to find the tmux executable and return a nicer error message when running tmux fails
2023-04-28 20:11:15 +05:30
Kovid Goyal
019359b219
show_key kitten: In kitty mode show the actual bytes sent by the terminal rather than a re-encoding of the parsed key event
...
Also port the kitten to Go
2023-04-26 21:48:53 +05:30
Kovid Goyal
7b6d11fd1e
Fix rendering of :doc: links with explicit titles in help text in the terminal
2023-04-26 16:46:20 +05:30