Commit Graph
124 Commits
Author SHA1 Message Date
Kovid Goyal be22f49012 Fix usage of numbered colors for underlines 2022-11-14 15:41:53 +05:30
Kovid Goyal f9695a7947 Add url support to styling 2022-11-14 15:41:53 +05:30
Kovid Goyal 29d9b70f0c More ansi styling tests 2022-11-14 15:41:53 +05:30
Kovid Goyal 42a8ca0842 Write some tests for the style wrapper 2022-11-14 15:41:53 +05:30
Kovid Goyal 91c61478dd Start work on easily generating ANSI formatted strings 2022-11-14 15:41:53 +05:30
Kovid Goyal 9c58cb3f41 ... 2022-11-14 15:41:52 +05:30
Kovid Goyal b2e610f9b1 Implement socket I/O 2022-11-14 15:41:52 +05:30
Kovid Goyal a960937095 Simplify serialization code and avoid extra copy 2022-11-14 15:41:52 +05:30
Kovid Goyal 0cda5d43a6 Fix final write detection 2022-11-14 15:41:52 +05:30
Kovid Goyal a75d59643c Use one less channel 2022-11-14 15:41:52 +05:30
Kovid Goyal bf35817d73 No need to store most channels on self 2022-11-14 15:41:52 +05:30
Kovid Goyal 1b90c03304 Refactor loop code into its own package 2022-11-14 15:41:52 +05:30
Kovid Goyal b1f9139ca5 Use a fully random async_id rather than a uuid 2022-11-14 15:41:52 +05:30
Kovid Goyal 4a49c3940a Switch to using goroutines rather than a select()
More complex code since now we have to synchronize between threads,
but a good way to teach myself more about goroutines.
2022-11-14 15:41:52 +05:30
Kovid Goyal ee12349a50 Use Go's os.File this allows us to implement WriteString without using unsafe 2022-11-14 15:41:52 +05:30
Kovid Goyal 69c847a48f Fix failing test 2022-11-14 15:41:51 +05:30
Kovid Goyal 03705cbec0 Fix transmission of async rc commands 2022-11-14 15:41:51 +05:30
Kovid Goyal ff2ff9c04f Port short uuid code to Go 2022-11-14 15:41:51 +05:30
Kovid Goyal a22ba9f739 Fix failing test 2022-11-14 15:41:51 +05:30
Kovid Goyal c86f8a698c @ ls works phew 2022-11-14 15:41:51 +05:30
Kovid Goyal fa4711bd04 Give the kill signal time to be delivered 2022-11-14 15:41:51 +05:30
Kovid Goyal 174bc25afb Make timeout checking more efficient 2022-11-14 15:41:51 +05:30
Kovid Goyal 2ffba1c422 Work on implementing ttyio via TUI 2022-11-14 15:41:51 +05:30
Kovid Goyal 0913b64c6b Dont vendor base85 2022-11-14 15:41:51 +05:30
Kovid Goyal 32e59257d2 Refactor io in preparation for using tui 2022-11-14 15:41:51 +05:30
Kovid Goyal 6f8c884bb5 Also handle SIGPIPE as the Go runtime does funky things with this signal 2022-11-14 15:41:51 +05:30
Kovid Goyal 80c5ac891d Add license info to Go files 2022-11-14 15:41:51 +05:30
Kovid Goyal 6a2393299b Add a write completed callback 2022-11-14 15:41:51 +05:30
Kovid Goyal ab66b3f4c0 Add timer infra to the loop 2022-11-14 15:41:51 +05:30
Kovid Goyal c8292d77f1 Re-use the escape code parser for wcswidth calculation 2022-11-14 15:41:51 +05:30
Kovid Goyal 7280c712d6 Move escape code parser into wcswidth package 2022-11-14 15:41:50 +05:30
Kovid Goyal 9be2247081 Dont use the syscall package 2022-11-14 15:41:50 +05:30
Kovid Goyal e68b5fa504 Add callback for screen resize handling 2022-11-14 15:41:50 +05:30
Kovid Goyal c2ef6c986b Password input now works 2022-11-14 15:41:50 +05:30
Kovid Goyal 619fcb0681 Allow debug printing 2022-11-14 15:41:50 +05:30
Kovid Goyal 10a39d3757 Fix reset mode incorrectly setting mode instead 2022-11-14 15:41:50 +05:30
Kovid Goyal d2a15a2009 Make using alternate screen the default 2022-11-14 15:41:50 +05:30
Kovid Goyal 235eb868b2 More misc fixes for TUI 2022-11-14 15:41:50 +05:30
Kovid Goyal 5703a3370e Move wcswidth into its own package as it is very slow to build 2022-11-14 15:41:50 +05:30
Kovid Goyal 5dca2a1a25 Fix stringifying mods 2022-11-14 15:41:50 +05:30
Kovid Goyal 4b18b575cd Misc fixes for TUI 2022-11-14 15:41:50 +05:30
Kovid Goyal 818f68ec53 Initialize various maps 2022-11-14 15:41:50 +05:30
Kovid Goyal cd54fefa99 Ignore more types of temporary errors 2022-11-14 15:41:50 +05:30
Kovid Goyal 4ab5456ead Less layering 2022-11-14 15:41:49 +05:30
Kovid Goyal 10d11bc749 Drop another dependency 2022-11-14 15:41:49 +05:30
Kovid Goyal 19ffbc6f3d Implement wcswidth() for Go 2022-11-14 15:41:49 +05:30
Kovid Goyal 79b1af28b4 Fix errors reported by compiler 2022-11-14 15:41:49 +05:30
Kovid Goyal 05d768d8df Generate a wcwidth for Go as well 2022-11-14 15:41:49 +05:30
Kovid Goyal 7bb310d3af Port recent changes from cli.py to Go 2022-11-14 15:41:49 +05:30
Kovid Goyal 9d56f8eed2 Use TUI to build a nice password read control 2022-11-14 15:41:49 +05:30