Commit graph

1095 commits

Author SHA1 Message Date
Kovid Goyal
bd036040a6
themes kitten: Allow absolute paths for --config-file-name
Fixes #6638
2023-09-18 20:31:30 +05:30
Kovid Goyal
863adb3e8d
Go: Fix parsing of nullable colors
Fixes #6629
2023-09-15 20:36:24 +05:30
Kovid Goyal
5c4efc0fd7
... 2023-09-14 08:24:43 +05:30
Kovid Goyal
93618842ae
Make a couple of other Set API functions nil-safe 2023-09-12 15:37:24 +05:30
Kovid Goyal
2d7bbf60cc
Fix #6615 2023-09-12 15:34:09 +05:30
Kovid Goyal
d1d888ce19
Remove unnecessary copy of the decoder array 2023-09-04 22:28:18 +05:30
Kovid Goyal
1f4386fd08
... 2023-09-04 21:44:46 +05:30
Kovid Goyal
34e5c7f8aa
Ensure efficient conversion for base85 string API 2023-09-04 21:39:03 +05:30
Kovid Goyal
541c0cdde4
Do not build decode table for base85 until it is actually needed
Also make the tests actual tests
2023-09-04 21:32:25 +05:30
Kovid Goyal
0107d1cb89
Import base85.go into tree
Upstream is not maintained last commit was six years ago and there
are various improvements to be had in the code
2023-09-04 20:29:20 +05:30
Kovid Goyal
4ffb22199b
Cleanup previous PR 2023-09-03 18:59:37 +05:30
Jake Stewart
8754d80832 add tests for go config parser 2023-09-03 16:39:27 +08:00
Jake Stewart
0aa4c850ba add line break syntax to go config parser 2023-09-03 16:39:13 +08:00
Kovid Goyal
0be1295023
kitten run-shell: Make kitty terminfo database available if needed before starting the shell 2023-09-01 22:05:26 +05:30
Kovid Goyal
71a2d7359a
Function to extract terminfo 2023-09-01 19:41:46 +05:30
Kovid Goyal
9702f08698
kitten run-shell: Allow specifying env vars when running the shell 2023-08-30 14:12:10 +05:30
Eng Zer Jun
77563cebb0
cli/command: remove redundant nil check
From the Go specification:

  "1. For a nil slice, the number of iterations is 0." [1]

Therefore, an additional nil check for before the loop is unnecessary.

[1]: https://go.dev/ref/spec#For_range

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2023-08-30 11:50:52 +08:00
Kovid Goyal
4f72bb9894
Replace utils.Once with stdlib sync.OnceValue 2023-08-09 12:08:42 +05:30
Kovid Goyal
49ea26968c
Bump go version to 1.21
Allows us to use the much faster builtin min/max functions
for two variable min/max
2023-08-09 11:58:16 +05:30
Kovid Goyal
696ef40e38
Remove already done TODO note 2023-08-08 21:20:16 +05:30
Kovid Goyal
f8b8f68e38
Make wait_for_write_complete more robust
It now actually waits for the expected sentinel id even when there are
no pending writes
2023-08-08 17:17:51 +05:30
Kovid Goyal
8bf5b92cd6
Merge branch 'master-1' of https://github.com/hezhizhen/kitty 2023-08-08 16:47:27 +05:30
Zhizhen He
47e130c4c0
Fix typo 2023-08-08 16:39:00 +08:00
Kovid Goyal
0e87e0c7de
Work on refactoring send kitten to fix various issues 2023-08-08 06:28:43 +05:30
Kovid Goyal
0971e8c630
strings.Title works better than cases.Title 2023-08-07 21:49:50 +05:30
Kovid Goyal
04febb20d5
... 2023-08-07 15:45:46 +05:30
Kovid Goyal
bd68dc75f3
simplify code 2023-08-07 12:57:01 +05:30
Kovid Goyal
2a5a89e01c
Speed up write performance to loop
20x speed for large numbers of queued writes by avoiding pinging between
the writer and main goroutines
2023-08-05 13:53:32 +05:30
Kovid Goyal
a3369465dc
Remove unused code 2023-08-05 10:11:15 +05:30
Kovid Goyal
ec77d051df
Replace another deprecated function 2023-08-04 23:02:55 +05:30
Kovid Goyal
341d845b9a
Port calls to slices.Sort functions since they now need a cmp() function rather than a less() function
Also rename os.SEEK_* to io.Seek* as the former has been deprecated
2023-08-04 22:50:13 +05:30
Kovid Goyal
ffd997c338
Detect prompt lines in code blocks 2023-07-30 19:49:47 +05:30
Kovid Goyal
ce593dbb5f
lp.Println() should act live fmt.Println()
also use a dedicated error type for signalining perm denied
2023-07-30 19:49:47 +05:30
Kovid Goyal
a55a918d4f
Improve stack trace formatting 2023-07-30 19:49:47 +05:30
Kovid Goyal
2cae0ab695
Dont wait for cancel response when user denies permission 2023-07-30 19:49:46 +05:30
Kovid Goyal
ca485cc0f7
Make getting function name a utility function 2023-07-30 19:49:46 +05:30
Kovid Goyal
5881041fcd
Ensure shortduration is no more than 8 chars 2023-07-30 19:49:46 +05:30
Kovid Goyal
b60d15fe75
Make short duration formatter re-useable 2023-07-30 19:49:46 +05:30
Kovid Goyal
4d686b2f47
Nicer string repr for operations 2023-07-30 19:49:46 +05:30
Kovid Goyal
d0490672e1
Fix block range coalescing not working in algorithm.c 2023-07-30 19:49:46 +05:30
Kovid Goyal
aff7f19580
DRYer 2023-07-30 19:49:46 +05:30
Kovid Goyal
b3819d3226
Ensure output.Write is not called outside of the stream decompressor function 2023-07-30 19:49:45 +05:30
Kovid Goyal
301f309444
... 2023-07-30 19:49:45 +05:30
Kovid Goyal
42c9f30618
Change receive code to use new streaming decomp infra 2023-07-30 19:49:45 +05:30
Kovid Goyal
b4d8eaa0fe
... 2023-07-30 19:49:45 +05:30
Kovid Goyal
a210e0c977
Simplify stream decompressor 2023-07-30 19:49:45 +05:30
Kovid Goyal
c8f35019f0
Fix debugprintln to forwarded stdio implementation 2023-07-30 19:49:45 +05:30
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
Kovid Goyal
6a07435bb0
hints kitten: Fix regression causing editing of favorites to sometimes hang 2023-04-26 15:23:38 +05:30
Kovid Goyal
a09464dee9
Fix a regression in the previous release that broke usage of custom themes
Fixes #6191
2023-04-17 08:45:46 +05:30
Kovid Goyal
b966013a2b
Make Samefile interface a bit nicer for working with paths 2023-04-17 08:35:50 +05:30
Kovid Goyal
046fbb860b
themes kitten: ignore custom theme files if they are stdout 2023-04-17 08:02:41 +05:30
Kovid Goyal
91700b3e42
Fix a bug in the Go code of the CSI key event parser
Fixes #6189
2023-04-16 15:31:56 +05:30
Kovid Goyal
7803b07e7f
Ignore leading and trailing space around values when parsing config lines 2023-04-06 10:45:34 +05:30
Kovid Goyal
912aa17594
... 2023-04-05 08:08:54 +05:30
Kovid Goyal
708267d229
Fix parsing of actions in map directives in Go 2023-04-05 07:55:18 +05:30
Kovid Goyal
3ee77a3a57
Fix #6154 2023-04-04 21:18:27 +05:30
Kovid Goyal
9919767aef
Remove unused code 2023-03-30 10:26:39 +05:30
Kovid Goyal
57ef0e29c0
Wait for keypress on panic in alternate screen kittens 2023-03-30 08:26:45 +05:30
Kovid Goyal
266746c96e
Implement the trim_whitespace option
Needed for help text formatting
2023-03-29 21:28:47 +05:30
Kovid Goyal
34526517de
Allow passing multiple options to control how wrapping is done 2023-03-29 20:56:24 +05:30
Kovid Goyal
cb99fbd83c
Dont remove leading and trailing spaces when wrapping
Without this we lose some spaces and also there was a case where the
line could end up longer than the specified width.
2023-03-29 20:47:31 +05:30
Kovid Goyal
37edc728a9
Implement drag scrolling for the diff kitten 2023-03-29 17:14:13 +05:30
Kovid Goyal
05e10d8066
Also parse negative numbers in CSI 2023-03-29 15:12:22 +05:30
Kovid Goyal
aebfdaa69a
Refactor diff mouse selection to use new render layout 2023-03-29 14:32:36 +05:30
Kovid Goyal
468168b9de
Refactor diff search to use new render layout 2023-03-29 13:22:34 +05:30
Kovid Goyal
67a9def013
Get copy to primary selection working 2023-03-28 17:15:28 +05:30
Kovid Goyal
676f576ace
Adjust the bounds of the mouse selection taking starting half cell into account 2023-03-28 15:12:41 +05:30
Kovid Goyal
8867818dfe
DRYer 2023-03-28 11:55:08 +05:30
Kovid Goyal
00d4841304
Make the mouse selection code re-useable 2023-03-28 11:48:22 +05:30
Kovid Goyal
94db6053d5
Turn off atomic update during direct transmission 2023-03-27 20:54:03 +05:30
Kovid Goyal
6dfe823dfb
... 2023-03-27 17:05:57 +05:30
Kovid Goyal
71580a2a93
Fix wheel event detection 2023-03-27 16:35:29 +05:30
Kovid Goyal
6504dd15c1
Update folder README 2023-03-27 13:20:10 +05:30
Kovid Goyal
ff55121094
Move the kittens Go code into the kittens folder 2023-03-27 13:06:02 +05:30
Kovid Goyal
3f9579d61d
Port the removed walk test to Go 2023-03-27 12:34:31 +05:30
Kovid Goyal
fb9d95038d
Free images in kitty when quitting diff kitten 2023-03-27 11:13:04 +05:30
Kovid Goyal
a3f1d3e132
Get image display working 2023-03-27 11:00:21 +05:30
Kovid Goyal
9cc54978e6
Fix margin formatting for binary lines 2023-03-27 08:23:10 +05:30
Kovid Goyal
d66da811db
More work on getting images to display in diff 2023-03-27 07:53:57 +05:30
Kovid Goyal
cece795b16
More work on image support for diff 2023-03-27 07:53:57 +05:30
Kovid Goyal
9eedcc1d2a
Better struct name 2023-03-27 07:53:57 +05:30
Kovid Goyal
508a61bd1c
More work on diffing images 2023-03-27 07:53:57 +05:30
Kovid Goyal
c745961f47
Nicer error messages for failure to load with Magick 2023-03-27 07:53:57 +05:30
Kovid Goyal
be886f9bf9
Make code for loading images with ImageMagick re-useable 2023-03-27 07:53:57 +05:30
Kovid Goyal
404a775f4b
Start work on image support for new diff kitten 2023-03-27 07:53:57 +05:30
Kovid Goyal
18445e20ff
... 2023-03-27 07:53:57 +05:30
Kovid Goyal
7b16132b75
Fix searching in full title lines 2023-03-27 07:53:57 +05:30
Kovid Goyal
0a8fc3f17c
... 2023-03-27 07:53:57 +05:30
Kovid Goyal
d57e47349b
Make searches case insensitive 2023-03-27 07:53:57 +05:30
Kovid Goyal
ccf1dfabbc
Fix highlighting of center changes 2023-03-27 07:53:56 +05:30
Kovid Goyal
de9edb6ff5
Manually specify the closing SGR for a span 2023-03-27 07:53:56 +05:30
Kovid Goyal
6590be84a2
... 2023-03-27 07:53:56 +05:30
Kovid Goyal
ccfae228b9
Avoid panics while rendering 2023-03-27 07:53:56 +05:30
Kovid Goyal
3236a42cb7
... 2023-03-27 07:53:56 +05:30
Kovid Goyal
e774deaef1
Fix tabs and carriage returns being incorrectly sanitized 2023-03-27 07:53:56 +05:30
Kovid Goyal
b5c2d85837
Fix diffing dirs 2023-03-27 07:53:56 +05:30
Kovid Goyal
2d18529d05
Show a message for identical files 2023-03-27 07:53:56 +05:30
Kovid Goyal
2ac170c1b1
Allowing using the anchored diff from the Go stdlib as the diff implementation 2023-03-27 07:53:56 +05:30
Kovid Goyal
9c188096d0
Prevent panics incase highlighting leads to different number of lines 2023-03-27 07:53:56 +05:30
Kovid Goyal
09c6a68804
Fix syntax highlighting of multiline tokens 2023-03-27 07:53:56 +05:30
Kovid Goyal
4c9efb6ff2
Fix bold/dim handling when wrapping 2023-03-27 07:53:56 +05:30
Kovid Goyal
4bc9cf84a3
Micro-optimization 2023-03-27 07:53:56 +05:30
Kovid Goyal
14b58ba015
Fix overrides not being parsed correctly 2023-03-27 07:53:56 +05:30
Kovid Goyal
29a896f9d8
... 2023-03-27 07:53:56 +05:30
Kovid Goyal
f8c83519fe
Reset styles after half lines 2023-03-27 07:53:56 +05:30
Kovid Goyal
91eaa89b3e
Fix various off-by-ones in the search code 2023-03-27 07:53:55 +05:30
Kovid Goyal
1926db8ee8
Correct cursor shape when inputting search query 2023-03-27 07:53:55 +05:30
Kovid Goyal
c19c614d9e
DRYer 2023-03-27 07:53:55 +05:30
Kovid Goyal
f7f6df675f
Implement searching the diff 2023-03-27 07:53:55 +05:30
Kovid Goyal
88bd3ee9ca
New SGR codes to turn off bold/dim independently
Allows for robust patching of formatting into already formatted
text. Without this it is not possible to turn off bold without
affecting existing dim and vice versa.
2023-03-27 07:53:55 +05:30
Kovid Goyal
e46a7c39c3
Fix failing test 2023-03-27 07:53:55 +05:30
Kovid Goyal
5086c62a81
Implement changing of context lines 2023-03-27 07:53:55 +05:30
Kovid Goyal
15b0dbb71c
Code to insert SGR formatting into already formatted strings 2023-03-27 07:53:55 +05:30
Kovid Goyal
2a185575b2
Implement drawing of status bar 2023-03-27 07:53:55 +05:30
Kovid Goyal
cf5ea96126
Ensure scroll position is correct after resize 2023-03-27 07:53:55 +05:30
Kovid Goyal
e2edacb629
DRYer 2023-03-27 07:53:55 +05:30
Kovid Goyal
c2e549b79c
Implement syntax highlighting 2023-03-27 07:53:55 +05:30
Kovid Goyal
4d61ad87b3
Implement jumping to fixed locations 2023-03-27 07:53:55 +05:30
Kovid Goyal
2905744dad
Implement scrolling by lines 2023-03-27 07:53:55 +05:30
Kovid Goyal
ebcf85428c
More work on porting diff kitten 2023-03-27 07:53:55 +05:30
Kovid Goyal
425ab4f6d8
Start implementing shortcut handling 2023-03-27 07:53:55 +05:30
Kovid Goyal
924cd4cadd
Do not add a trailing newline when wrapping 2023-03-27 07:53:55 +05:30
Kovid Goyal
e42b4fd9a6
Decrease allocs when wrapping 2023-03-27 07:53:54 +05:30
Kovid Goyal
18b58c5cf9
Ensure wrapping never results in lines longer than the specified word 2023-03-27 07:53:54 +05:30
Kovid Goyal
648925e83a
More work on porting diff kitten 2023-03-27 07:53:54 +05:30
Kovid Goyal
1c7d1094d4
More work on porting diff kitten 2023-03-27 07:53:54 +05:30
Kovid Goyal
41ea5f0c63
Ensure unique image id in single session 2023-03-27 07:53:54 +05:30
Kovid Goyal
ef7f13d893
title lines are now displayed 2023-03-27 07:53:54 +05:30
Kovid Goyal
5d8b5ab720
More work on porting diff kitten 2023-03-27 07:53:54 +05:30
Kovid Goyal
ee82cb5a52
More work on porting diff kitten 2023-03-27 07:53:54 +05:30
Kovid Goyal
e4d936b5ed
More work on porting the diff kitten 2023-03-27 07:53:54 +05:30
Kovid Goyal
293c0ab845
More work on porting the diff kitten 2023-03-27 07:53:54 +05:30
Kovid Goyal
bf1f0c00f4
Port full MIME type guessing to Go 2023-03-27 07:53:54 +05:30
Kovid Goyal
3c550bcd28
More work on porting diff kitten 2023-03-27 07:53:54 +05:30
Kovid Goyal
d208670172
Abstract typical config file loading with path and cli overrides 2023-03-27 07:53:54 +05:30
Kovid Goyal
5329546f21
Implement parsing of map 2023-03-27 07:53:54 +05:30
Kovid Goyal
44ff6bd1dd
Start work on porting diff kitten 2023-03-27 07:53:53 +05:30
Kovid Goyal
bf773351ed
DRYer 2023-03-17 11:00:00 +05:30
Kovid Goyal
509a45b579
Dont request release events for most kittens
They are not needed and there is always a small risk that a release
event could be delivered after the kitten has stopped reading from the
tty, thereby leaking into the environment.
2023-03-17 10:50:10 +05:30
Kovid Goyal
b0a4b932ad
... 2023-03-17 08:59:45 +05:30
Kovid Goyal
e2fda5d1c4
... 2023-03-15 15:32:04 +05:30
Kovid Goyal
da38cb3254
Add support for more option types to Go conf file parsing 2023-03-15 15:17:38 +05:30
Kovid Goyal
3803d7e3c2
Use maps package for generic keys/values functions 2023-03-14 22:49:40 +05:30
Kovid Goyal
7ce83e7fd0
Use the generic contains/index from slices instead of our custom one 2023-03-14 22:40:20 +05:30
Kovid Goyal
5520a75bba
Dont rely on filesystem mtimes for test as they can be flaky 2023-03-14 21:13:14 +05:30
Kovid Goyal
e539035639
more useful test failure messages 2023-03-14 21:06:57 +05:30
Kovid Goyal
290b868193
forgot to close zip file 2023-03-14 20:42:36 +05:30
Kovid Goyal
c19ac531cf
Fix some failing tests 2023-03-14 20:40:12 +05:30
Kovid Goyal
f6d66b2336
... 2023-03-14 20:35:31 +05:30
Kovid Goyal
0805330b77
Finish port of themes kitten to Go 2023-03-14 20:24:21 +05:30