From 3d8a2fbb4f9ecc48f2851279c415ddac06a19e6a Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 21 Apr 2026 11:56:55 +0530 Subject: [PATCH] Use SIMD base64 everywhere --- kittens/clipboard/legacy.go | 3 ++- kittens/clipboard/read.go | 3 ++- kittens/clipboard/write.go | 3 ++- kittens/notify/main.go | 3 ++- kittens/ssh/main.go | 7 +++---- kittens/transfer/ftc.go | 3 ++- tools/cmd/at/run.go | 3 ++- tools/cmd/at/send_text.go | 10 ++++++---- tools/cmd/at/set_window_logo.go | 3 ++- tools/cmd/edit_in_kitty/main.go | 2 +- tools/cmd/mouse_demo/main.go | 3 ++- tools/tty/tty.go | 2 +- tools/tui/dcs_to_kitty.go | 3 ++- tools/tui/graphics/command_test.go | 3 ++- tools/tui/loop/api.go | 2 +- tools/utils/secrets/tokens.go | 3 ++- 16 files changed, 34 insertions(+), 22 deletions(-) diff --git a/kittens/clipboard/legacy.go b/kittens/clipboard/legacy.go index 2916a8a38..8723ad0b6 100644 --- a/kittens/clipboard/legacy.go +++ b/kittens/clipboard/legacy.go @@ -4,13 +4,14 @@ package clipboard import ( "bytes" - "encoding/base64" "errors" "fmt" "io" "os" "strings" + "github.com/emmansun/base64" + "github.com/kovidgoyal/kitty/tools/tty" "github.com/kovidgoyal/kitty/tools/tui/loop" "github.com/kovidgoyal/kitty/tools/utils" diff --git a/kittens/clipboard/read.go b/kittens/clipboard/read.go index 77a3a05dd..209a0404a 100644 --- a/kittens/clipboard/read.go +++ b/kittens/clipboard/read.go @@ -4,7 +4,6 @@ package clipboard import ( "bytes" - "encoding/base64" "fmt" "image" "io" @@ -14,6 +13,8 @@ import ( "strings" "sync" + "github.com/emmansun/base64" + "github.com/kovidgoyal/kitty/tools/tty" "github.com/kovidgoyal/kitty/tools/tui/loop" "github.com/kovidgoyal/kitty/tools/utils" diff --git a/kittens/clipboard/write.go b/kittens/clipboard/write.go index 883ad06ce..bbf8c613b 100644 --- a/kittens/clipboard/write.go +++ b/kittens/clipboard/write.go @@ -3,7 +3,6 @@ package clipboard import ( - "encoding/base64" "errors" "fmt" "io" @@ -12,6 +11,8 @@ import ( "slices" "strings" + "github.com/emmansun/base64" + "github.com/kovidgoyal/kitty/tools/tui/loop" "github.com/kovidgoyal/kitty/tools/utils" ) diff --git a/kittens/notify/main.go b/kittens/notify/main.go index 4e9c9fa03..bccbbeddc 100644 --- a/kittens/notify/main.go +++ b/kittens/notify/main.go @@ -2,7 +2,6 @@ package notify import ( "bytes" - "encoding/base64" "fmt" "image" "io" @@ -12,6 +11,8 @@ import ( "strings" "time" + "github.com/emmansun/base64" + "github.com/kovidgoyal/kitty/tools/cli" "github.com/kovidgoyal/kitty/tools/tty" "github.com/kovidgoyal/kitty/tools/tui/loop" diff --git a/kittens/ssh/main.go b/kittens/ssh/main.go index 7c4b7a217..00ff94a92 100644 --- a/kittens/ssh/main.go +++ b/kittens/ssh/main.go @@ -7,7 +7,6 @@ import ( "bytes" "compress/gzip" "context" - "encoding/base64" "encoding/json" "errors" "fmt" @@ -28,9 +27,11 @@ import ( "syscall" "time" - "github.com/kovidgoyal/kitty" + "github.com/emmansun/base64" + "golang.org/x/sys/unix" "github.com/kovidgoyal/go-shm" + "github.com/kovidgoyal/kitty" "github.com/kovidgoyal/kitty/tools/cli" "github.com/kovidgoyal/kitty/tools/themes" "github.com/kovidgoyal/kitty/tools/tty" @@ -40,8 +41,6 @@ import ( "github.com/kovidgoyal/kitty/tools/utils" "github.com/kovidgoyal/kitty/tools/utils/secrets" "github.com/kovidgoyal/kitty/tools/utils/shlex" - - "golang.org/x/sys/unix" ) var _ = fmt.Print diff --git a/kittens/transfer/ftc.go b/kittens/transfer/ftc.go index 8d94b4b1a..abb3b9ff7 100644 --- a/kittens/transfer/ftc.go +++ b/kittens/transfer/ftc.go @@ -3,7 +3,6 @@ package transfer import ( - "encoding/base64" "encoding/json" "fmt" "io/fs" @@ -14,6 +13,8 @@ import ( "sync" "time" + "github.com/emmansun/base64" + "github.com/kovidgoyal/kitty" "github.com/kovidgoyal/kitty/tools/utils" ) diff --git a/tools/cmd/at/run.go b/tools/cmd/at/run.go index 6b863d361..776ba1c80 100644 --- a/tools/cmd/at/run.go +++ b/tools/cmd/at/run.go @@ -1,12 +1,13 @@ package at import ( - "encoding/base64" "encoding/json" "fmt" "io" "os" + "github.com/emmansun/base64" + "github.com/kovidgoyal/kitty/tools/tty" ) diff --git a/tools/cmd/at/send_text.go b/tools/cmd/at/send_text.go index d86d77588..dba464570 100644 --- a/tools/cmd/at/send_text.go +++ b/tools/cmd/at/send_text.go @@ -3,15 +3,17 @@ package at import ( - "encoding/base64" "errors" + "io" + "os" + "strings" + + "github.com/emmansun/base64" + "github.com/kovidgoyal/kitty/tools/tty" "github.com/kovidgoyal/kitty/tools/tui/loop" "github.com/kovidgoyal/kitty/tools/utils" "github.com/kovidgoyal/kitty/tools/utils/shlex" - "io" - "os" - "strings" ) var end_reading_from_stdin = errors.New("end reading from STDIN") diff --git a/tools/cmd/at/set_window_logo.go b/tools/cmd/at/set_window_logo.go index 40f7578ec..a542895e1 100644 --- a/tools/cmd/at/set_window_logo.go +++ b/tools/cmd/at/set_window_logo.go @@ -4,13 +4,14 @@ package at import ( "bytes" - "encoding/base64" "fmt" "image" "io" "os" "strings" + "github.com/emmansun/base64" + "github.com/kovidgoyal/kitty/tools/utils/images" ) diff --git a/tools/cmd/edit_in_kitty/main.go b/tools/cmd/edit_in_kitty/main.go index 62addfb06..4901f0bb1 100644 --- a/tools/cmd/edit_in_kitty/main.go +++ b/tools/cmd/edit_in_kitty/main.go @@ -4,7 +4,6 @@ package edit_in_kitty import ( "bytes" - "encoding/base64" "fmt" "io" "io/fs" @@ -12,6 +11,7 @@ import ( "strconv" "strings" + "github.com/emmansun/base64" "golang.org/x/sys/unix" "github.com/kovidgoyal/kitty/tools/cli" diff --git a/tools/cmd/mouse_demo/main.go b/tools/cmd/mouse_demo/main.go index 3adf024d5..d7f42b02f 100644 --- a/tools/cmd/mouse_demo/main.go +++ b/tools/cmd/mouse_demo/main.go @@ -3,13 +3,14 @@ package mouse_demo import ( - "encoding/base64" "fmt" "net/url" "path/filepath" "strconv" "strings" + "github.com/emmansun/base64" + "github.com/kovidgoyal/kitty/tools/tty" "github.com/kovidgoyal/kitty/tools/tui/loop" ) diff --git a/tools/tty/tty.go b/tools/tty/tty.go index bde2f6883..f51c366a6 100644 --- a/tools/tty/tty.go +++ b/tools/tty/tty.go @@ -3,7 +3,6 @@ package tty import ( - "encoding/base64" "errors" "fmt" "io" @@ -12,6 +11,7 @@ import ( "sync" "time" + "github.com/emmansun/base64" "golang.org/x/sys/unix" "github.com/kovidgoyal/kitty/tools/utils" diff --git a/tools/tui/dcs_to_kitty.go b/tools/tui/dcs_to_kitty.go index 6066f06dc..6dbbf4f9f 100644 --- a/tools/tui/dcs_to_kitty.go +++ b/tools/tui/dcs_to_kitty.go @@ -3,9 +3,10 @@ package tui import ( - "encoding/base64" "fmt" + "github.com/emmansun/base64" + "github.com/kovidgoyal/kitty/tools/utils" ) diff --git a/tools/tui/graphics/command_test.go b/tools/tui/graphics/command_test.go index a7554490b..c57d1fa1e 100644 --- a/tools/tui/graphics/command_test.go +++ b/tools/tui/graphics/command_test.go @@ -5,12 +5,13 @@ package graphics import ( "bytes" "compress/zlib" - "encoding/base64" "fmt" "io" "strings" "testing" + "github.com/emmansun/base64" + "github.com/google/go-cmp/cmp" "golang.org/x/exp/rand" ) diff --git a/tools/tui/loop/api.go b/tools/tui/loop/api.go index fcb16ce78..8fecc87e2 100644 --- a/tools/tui/loop/api.go +++ b/tools/tui/loop/api.go @@ -5,13 +5,13 @@ package loop import ( "crypto/hmac" "crypto/sha256" - "encoding/base64" "encoding/hex" "fmt" "os" "strings" "time" + "github.com/emmansun/base64" "golang.org/x/sys/unix" "github.com/kovidgoyal/go-parallel" diff --git a/tools/utils/secrets/tokens.go b/tools/utils/secrets/tokens.go index 59ba76db7..57a6bc71f 100644 --- a/tools/utils/secrets/tokens.go +++ b/tools/utils/secrets/tokens.go @@ -4,9 +4,10 @@ package secrets import ( "crypto/rand" - "encoding/base64" "encoding/hex" "fmt" + + "github.com/emmansun/base64" ) var _ = fmt.Print