Kovid Goyal
7b4738125b
Move config code into its own package
2023-02-26 08:01:02 +05:30
Kovid Goyal
2b7d6d45df
Finish up config parser port
2023-02-26 08:01:01 +05:30
Kovid Goyal
747411be00
Finish implementation of config file parsing
...
Still needs tests
2023-02-26 08:01:01 +05:30
Kovid Goyal
5822bb23f0
Work on porting config file parsing to Go
2023-02-26 08:01:01 +05:30
Kovid Goyal
73a3366d53
Fix atomic write not working when file does not exist
2023-02-15 10:46:47 +05:30
Kovid Goyal
1aa9f1e62d
Allow faint as an alias for dim
2023-02-14 21:33:21 +05:30
Kovid Goyal
32e0a56a94
Some more useful generic slice utilities
2023-02-14 21:33:21 +05:30
Kovid Goyal
601a333b0e
Atomically update cached values file
2023-02-14 21:33:21 +05:30
Kovid Goyal
cc5107d0db
Convenient way to load/save JSON data
2023-02-14 21:33:20 +05:30
Kovid Goyal
befd5a65c3
A generic Set implementation
2023-02-09 18:00:04 +05:30
Kovid Goyal
8d0452d375
Allow specifying initial capacity when splitting lines
2023-02-09 12:59:40 +05:30
Kovid Goyal
bed4f33be8
Remove unused code
2023-02-03 09:51:54 +05:30
Kovid Goyal
7ea4270c88
...
2023-02-03 08:02:28 +05:30
Kovid Goyal
1d45cf4f91
Use crypto/rand rather than math/rand
...
Who knows how random math/rand actually is
2023-02-02 06:04:17 +05:30
Kovid Goyal
eb50fac8de
Add a test for creation of anonymous tempfiles
2023-01-26 11:51:02 +05:30
Kovid Goyal
4185e30d73
Code to more securely create anonymous temp files on Linux
2023-01-26 11:41:01 +05:30
Kovid Goyal
e3040a9c91
Make the various path finding functions thread safe and cache their results
2023-01-25 16:24:27 +05:30
Kovid Goyal
a01d68ed85
...
2023-01-25 16:12:47 +05:30
Kovid Goyal
f070b17fee
Also load ~/.config/kitty/mime.types in Go code
2023-01-25 16:08:12 +05:30
Kovid Goyal
cc1f0bc3fe
Function to drain controlling tty
2023-01-23 16:07:00 +05:30
Kovid Goyal
bd13238d9b
Should only return ENOTSUPP if SHM_DIR doesnt exist, not the fil we are trying to open
2023-01-21 17:46:37 +05:30
Kovid Goyal
dc0093cb51
SHM FS: Return a not supported error if SHM_DIR does not exist
2023-01-21 17:40:59 +05:30
Kovid Goyal
b1934ce267
kitten: When guessing MIME types use a builtin list as a fallback, generated from the MIME type definitions available on the build system
2023-01-21 17:35:41 +05:30
Kovid Goyal
821f52a748
...
2023-01-17 12:39:41 +05:30
Kovid Goyal
750f2fa4d0
Use go 1.20 facilities for unsafe string <-> bytes
2023-01-17 12:38:54 +05:30
Kovid Goyal
ce161e610f
...
2023-01-17 11:52:06 +05:30
Kovid Goyal
c317c934f3
More work on ImageMagick
2023-01-05 19:15:13 +05:30
Kovid Goyal
4d21be9eb5
Port python's shutil.which()
2023-01-05 19:15:13 +05:30
Kovid Goyal
7ebb281855
Allow controlling num of CPUs for images operations
2023-01-05 19:15:13 +05:30
Kovid Goyal
458adf967a
Dont use extra memory for mirror operations
2023-01-05 19:15:13 +05:30
Kovid Goyal
7c2317d301
Fix divide by zero
2023-01-05 19:15:12 +05:30
Kovid Goyal
4623f580b9
Get 24 bit RGB transmission working
2023-01-05 19:15:12 +05:30
Kovid Goyal
6291d0d400
Code to check if an image is Opaque
2023-01-05 19:15:12 +05:30
Kovid Goyal
f9feb4954a
Wire up pasting to RGB
2023-01-05 19:15:12 +05:30
Kovid Goyal
d192dcb0d7
Code to convert images to NRGB
2023-01-05 19:15:12 +05:30
Kovid Goyal
143fd6e4dd
Start work on transmitting RGB images
2023-01-05 19:15:12 +05:30
Kovid Goyal
df06578c2d
Implement --scale-up and --place
2023-01-05 19:15:12 +05:30
Kovid Goyal
1fa1a478d9
Get --background working
2023-01-05 19:15:12 +05:30
Kovid Goyal
5a3a547c65
Work on adding support for rendering transforms
2023-01-05 19:15:12 +05:30
Kovid Goyal
5562a4d52f
Get file mode transmission working for unmodified PNG
2023-01-05 19:15:11 +05:30
Kovid Goyal
a757587ea2
Fix SHM on OpenBSD
2023-01-05 19:15:10 +05:30
Kovid Goyal
2d1a2c30bf
MMap.Name() should return the SHM name not the full filesystem path
2023-01-05 19:15:10 +05:30
Kovid Goyal
6ace082bc2
Add openbsd and dragonfly support to shm
2023-01-05 19:15:10 +05:30
Kovid Goyal
7e161ea94b
Get syscall based SHM working
2023-01-05 19:15:10 +05:30
Kovid Goyal
d01d5297b8
Start work on a SHM implementation in Go
2023-01-05 19:15:10 +05:30
Kovid Goyal
779a7b7deb
...
2023-01-04 11:15:47 +05:30
Kovid Goyal
c83a8b0773
zsh completion; Fix leading ~ in filenames being quoted on insertion into commandline
2023-01-04 11:07:56 +05:30
Kovid Goyal
456af90ad2
Remote control: Allow matching for self window even over sockets when run inside a kitty window
...
Have kitty-tool send the value of KITTY_WINDOW_ID if present.
2022-12-30 12:17:31 +05:30
Kovid Goyal
bde737fa38
Finish implementation of clipboard writing
2022-12-03 08:02:27 +05:30
Kovid Goyal
e555d963b1
DRYer
2022-12-01 13:58:06 +05:30
Kovid Goyal
3601488b26
Add a generic Values()
2022-12-01 13:47:06 +05:30
Kovid Goyal
f29ce19097
Reading arbitrary MIME from clipboard now works
2022-12-01 13:35:44 +05:30
Kovid Goyal
f9a22d0bc7
Port ANSI escape code parser to Go
2022-11-25 21:03:09 +05:30
Kovid Goyal
0af48a4d05
Start work on implementing edit-in-kitty in kitty-tool
2022-11-17 17:05:25 +05:30
Kovid Goyal
5ad2ac259b
When truncating descriptions for completion truncate at word boundaries
2022-11-17 08:29:01 +05:30
Kovid Goyal
e70c021371
Some basic TUI widgets ported to Go
2022-11-16 12:48:47 +05:30
Kovid Goyal
0c0b9e6b9c
Fix deadlock in update-self
2022-11-15 22:33:23 +05:30
Kovid Goyal
d54fe3c16a
Start work on a command to self update kitty-tool
2022-11-15 21:29:11 +05:30
Kovid Goyal
b42677b343
Utility function to download a URL to a file path with progress reporting
2022-11-15 16:53:43 +05:30
Kovid Goyal
7eae176b88
Code to build static versions of kitty-tool
2022-11-14 16:27:19 +05:30
Kovid Goyal
4974219e0f
Add function to shlex for completion
...
Also remove the google header since we have diverged from
the original a fair bit. Add a link to the original for credit.
2022-11-14 15:42:08 +05:30
Kovid Goyal
a4de4b7c6f
Report stream start position for tokens
2022-11-14 15:42:08 +05:30
Kovid Goyal
eae4899df4
Use a string builder instead of appending to a slice
2022-11-14 15:42:08 +05:30
Kovid Goyal
87b4800fdf
Get rid of comment parsing from shlex
...
POSIX does not define comments
2022-11-14 15:42:08 +05:30
Kovid Goyal
64156fd6e6
Have the shlex tokenizer return space tokens as well
2022-11-14 15:42:08 +05:30
Kovid Goyal
1485981b11
Have the shlex tokenizer track position in stream and return defined error types
2022-11-14 15:42:08 +05:30
Kovid Goyal
8d76cf8d32
Import the google shlex package as we need more sophisticated parsing
2022-11-14 15:42:08 +05:30
Kovid Goyal
d260d2f480
Add some test for vertical movement
2022-11-14 15:42:06 +05:30
Kovid Goyal
88567f69b2
Start work on history support for readline
2022-11-14 15:42:05 +05:30
Kovid Goyal
fe91af5e09
Go stdlib doesnt even have a way to lock files
2022-11-14 15:42:05 +05:30
Kovid Goyal
c0f17c279e
Add a generic ring buffer
...
Go's stdlib is very anemic
2022-11-14 15:42:05 +05:30
Kovid Goyal
7264bea8c9
Fix selector incorrectly marking fd as ready on EINTR
2022-11-14 15:42:04 +05:30
Kovid Goyal
75ead358a2
Show suggestions for options based on levenshtein distance
2022-11-14 15:42:03 +05:30
Kovid Goyal
cb2389efa5
Use the standard library deque
...
Drops a dependency
2022-11-14 15:42:01 +05:30
Kovid Goyal
4316018966
...
2022-11-14 15:42:01 +05:30
Kovid Goyal
a0bf6177e2
Use a LRUCache rather than an Unbounded one
2022-11-14 15:42:01 +05:30
Kovid Goyal
3078b9074a
Also report submatch positions
2022-11-14 15:42:01 +05:30
Kovid Goyal
dffb87ced9
Make the cache re-useable
2022-11-14 15:42:01 +05:30
Kovid Goyal
4adea5b7fe
Make ReplaceAll re-useable
2022-11-14 15:42:01 +05:30
Kovid Goyal
ef49634353
Fix some issues reported by staticcheck
2022-11-14 15:42:01 +05:30
Kovid Goyal
b1e08adbce
Utility function to sort with key
2022-11-14 15:42:00 +05:30
Kovid Goyal
e7f38929d9
DRYer
2022-11-14 15:42:00 +05:30
Kovid Goyal
2cacd7a64a
get rid of interface{} since we now require Go 1.18
2022-11-14 15:42:00 +05:30
Kovid Goyal
a44c89504b
More convenient interface for sorting
2022-11-14 15:42:00 +05:30
Kovid Goyal
8807f6d539
Code to get exe name for usage message
2022-11-14 15:42:00 +05:30
Kovid Goyal
a3a89b3e21
More efficient multi line scanning
2022-11-14 15:42:00 +05:30
Kovid Goyal
2ddbe2a2bc
Automatically camel-case destination
2022-11-14 15:42:00 +05:30
Kovid Goyal
cbbda23e01
Utility code to find longest common prefix/suffix and to quote strings for various shells
2022-11-14 15:41:58 +05:30
Kovid Goyal
1ff4f2df4f
Refactor the CLI markup code to make it re-useable
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
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
ced741b247
More corner cases
2022-11-14 15:41:57 +05:30
Kovid Goyal
3326e9ef49
Move code to walk with symlinks to the utils module
2022-11-14 15:41:57 +05:30
Kovid Goyal
3d79eb5730
more tests for indent and wrap
2022-11-14 15:41:56 +05:30
Kovid Goyal
af7f4e97cf
More work on the new formatter
2022-11-14 15:41:56 +05:30
Kovid Goyal
40a9ab8929
Allow ignoring lines containing a sentinel
2022-11-14 15:41:56 +05:30
Kovid Goyal
e433b90297
Dont drop trailing escape codes when stripping trailing whitespace
2022-11-14 15:41:56 +05:30
Kovid Goyal
1ac7d9c10d
Basic wrap is working
2022-11-14 15:41:56 +05:30
Kovid Goyal
ef5f0025e1
Start work on more sophisticated indent+wrap implementation
2022-11-14 15:41:56 +05:30
Kovid Goyal
081390b5a2
Utility functions to allow using string/[]byte interchangeably without copies
2022-11-14 15:41:55 +05:30