Readline is a pure go(golang) implementation for GNU-Readline kind library
Go to file
Thomas O'Dowd d9af567781 Various screen redraw fixes for wide characters, narrow screens etc.
- Don't overwrite existing text on same line as the prompt
- Don't refresh screen when simply appending characters to buffer
- Don't refresh screen unnessarily when pressing enter key
- Handle prompts longer than screen width.
- Fix wide characters in prompt
- Fix screen edge issue when next character is wide.
- Fix screen edge issue for masked characters
- Fix narrow masked characteter, masking wide input
- Fix wide masked character, masking narrow input
- Reworked backspacesequence for index to use same algorithm as used
  for lineedge and reduce the control sequences to 2.
- Reworked cleanup to incorporate initial cursor column position
  and avoid overwriting existing text as well as simplifying the
  control sequences used.
- Fixed double width character detection and updated unit tests
- Handle emoji in text or prompts.
- Implement windows ANSI absolute horizonal position ansi code.
- Get windows cursor position directly and don't send ansi DSR code
- Don't write out empty mask runes
- Cleanup - removed unused hadCLean variable
2023-02-28 11:00:57 +09:00
doc update readme 2016-09-02 22:37:16 +08:00
example restore term when receive signal (#200) 2022-04-24 21:25:55 +08:00
runes Fix #43 , remove sub-package for gopkg compatiblity 2016-04-05 09:55:46 +08:00
.gitignore Fix ioloop groutine leaks bug. (#136) 2017-12-08 09:17:16 +08:00
.travis.yml travis: update go version (#128) 2017-10-01 22:55:11 -05:00
CHANGELOG.md correct spelling mistake (#127) 2017-10-01 22:57:10 -05:00
LICENSE Initial commit 2015-09-20 23:11:30 +08:00
README.md AIX support (#175) 2022-04-17 16:50:25 +08:00
ansi_windows.go Various screen redraw fixes for wide characters, narrow screens etc. 2023-02-28 11:00:57 +09:00
complete.go Modify the display width for Chinese characters and so on (#145) 2018-06-03 21:26:55 +08:00
complete_helper.go Dynamic autocompletion (#60) 2016-07-26 21:39:09 +08:00
complete_segment.go [completer] add SegmentAutoComplete 2016-04-12 14:04:56 +08:00
complete_segment_test.go [remote] fix test 2016-04-11 01:54:54 +08:00
go.mod Various screen redraw fixes for wide characters, narrow screens etc. 2023-02-28 11:00:57 +09:00
go.sum Various screen redraw fixes for wide characters, narrow screens etc. 2023-02-28 11:00:57 +09:00
history.go enabling disabling history (#102) 2017-10-02 20:42:28 +08:00
operation.go Various screen redraw fixes for wide characters, narrow screens etc. 2023-02-28 11:00:57 +09:00
password.go Fix panic for ReadPassword (#133) 2017-11-03 21:19:23 +08:00
rawreader_windows.go add comment 2015-10-09 11:13:07 +08:00
readline.go restore term when receive signal (#200) 2022-04-24 21:25:55 +08:00
readline_test.go Bugfix/datarace prompt (#81) 2016-09-15 18:11:25 +08:00
remote.go Fix ioloop groutine leaks bug. (#136) 2017-12-08 09:17:16 +08:00
runebuf.go Various screen redraw fixes for wide characters, narrow screens etc. 2023-02-28 11:00:57 +09:00
runes.go Various screen redraw fixes for wide characters, narrow screens etc. 2023-02-28 11:00:57 +09:00
runes_test.go Various screen redraw fixes for wide characters, narrow screens etc. 2023-02-28 11:00:57 +09:00
search.go Fix: a backup plan when can't get size of terminal (#71) 2016-08-31 23:51:28 +08:00
std.go Fix ioloop groutine leaks bug. (#136) 2017-12-08 09:17:16 +08:00
std_windows.go finish windows support 2015-09-29 23:28:12 +08:00
term.go Added 'os400' (#201) 2022-04-18 20:41:19 +08:00
term_bsd.go Solaris support (#110) 2017-03-13 07:57:45 +08:00
term_linux.go Solaris support (#110) 2017-03-13 07:57:45 +08:00
term_nosyscall6.go Added 'os400' (#201) 2022-04-18 20:41:19 +08:00
term_unix.go Solaris support (#110) 2017-03-13 07:57:45 +08:00
term_windows.go fix windows compile error 2016-07-22 00:40:16 +08:00
terminal.go Various screen redraw fixes for wide characters, narrow screens etc. 2023-02-28 11:00:57 +09:00
utils.go Various screen redraw fixes for wide characters, narrow screens etc. 2023-02-28 11:00:57 +09:00
utils_test.go remove test for SplitByMultiLine 2016-03-31 00:19:18 +08:00
utils_unix.go Various screen redraw fixes for wide characters, narrow screens etc. 2023-02-28 11:00:57 +09:00
utils_windows.go Various screen redraw fixes for wide characters, narrow screens etc. 2023-02-28 11:00:57 +09:00
vim.go Add barebones support for yank/paste (#120) 2017-10-01 22:57:50 -05:00
windows_api.go finish windows support 2015-09-29 23:28:12 +08:00

README.md

Build Status Software License Version GoDoc OpenCollective OpenCollective

A powerful readline library in Linux macOS Windows Solaris AIX

Guide

Repos using readline

cockroachdb robertkrimen/otto empire mehrdadrad/mylg knq/usql youtube/doorman bom-d-van/harp abiosoft/ishell Netflix/hal-9001 docker/go-p9p

Feedback

If you have any questions, please submit a github issue and any pull requests is welcomed :)

Backers

Love Readline? Help me keep it alive by donating funds to cover project expenses!
[Become a backer]

Sponsors

Become a sponsor and get your logo here on our Github page. [Become a sponsor]