Additions
Add initial support for vi editing mode to LTerm_read_line:
motions:
- h l 0 ^ $
- j k gg G
- w W e E b B ge gE
- f F t T
- aw iw aW iW
- include or inner ( ), [ ], { }, < >, ' and "
- generic quote: aq? iq? where ? could be any character
- bracket matching: jump back and forth between matched brakcets
- delete, change, yank with motions
- paste: p P
- line joining: J
Many thanks to @nilsbecker for his feature-request on vi edit mode and the helps during the development on this topic!
Breaking
`LTerm_read_line
- class virtual ['a] term
: the type signature of method private execis changed frommethod private exec : action list -> 'a Lwt.tto?keys : LTerm_key.t list -> action list -> 'a loop_result Lwt.t`
Since this is a private method and is intended to be used internally, the backward-compatibility will not be affected in most cases.
General
- Load inputrc file from ~/.config/.lambda-term-inputrc as per XDG conventions (@copy)
2.0.3 (2019-12-31)
LTerm_edit: add horizontal scrolling support for wide width character
2.0.2 (2019-08-09)
LTerm_history: catch and log Zed_string.Invalid exception
2.0.1 (2019-06-17)
- fix windows build (@db4, #72)
- expand zchar before writing to windows console (@kandu, #75)
2.0 (2019-05-17)
Breaking
- LTerm_draw: type
point is redefined to use Zed_char.t as the essential element to support wide, combined glyph - functions and methods: change parameter type from
UChar.t or Zed_utf8.t to Zed_char.t or Zed_string.t LTerm_text
- function
of_string is renamed to of_utf8 - function
of_string_maybe_invalid is renamed to of_utf8_maybe_invalid - the new
of_string function is of type Zed_string.t -> t - the new
of_string_maybe_invalid function is of type Zed_string.t -> t
General
- depend on zed 2
- Lterm_draw, LTerm_widget, LTerm_read_line refactored to support wide, combined glyphs
- add name to dune-project (Hannes Mehnert, #70)
- port to dune (Jérémie Dimino, #69)
- README: Add Travis badge (Kevin Ji, #66)
- Add travis config (Anurag Soni, #65)
- opam: update homepage, bug-reports and dev-repo fields (Jérémie Dimino)
1.13 (2018-06-01)
- Make lambda-term compatible with Lwt 4 and Camomile 1 (#63, @ncihnegn)
1.12 (2017-11-05)
- Fix: copy & pasting the terminal output doesn't adds many spaces after the end of lines (#52, Deokhwan Kim, fixes diml/utop#186)
- -safe-string compatibility (#54)
1.11 (2017-04-04)
- Add history-search-prev and history-search-next (#47, Fabian Hemmer)
- Allow frame widgets to be labeled (#36, Andrew Ray)
- Add an alignment setting to label widgets (#36, Andrew Ray)
- Add scrollbar widgets (#33, Andrew Ray)
- Improve the
lambda-term-inputrc.5 man page (#41, Léon van Velzen) - Allow editor widgets to request a specific size and add a "double editor" example (#42, Fabian Bonk)
- Add
^ to the list of characters recognized in inputrc files (#46, github user zhenya1007) - Switch the build to jbuilder
- Drop compatibility with 4.01
1.10.1 (2016-08-15)
- fix a race condition in
LTerm_read_line. The race would often appear when copy&pasting
1.10 (2016-04-07)
- add support for editing the current input with an external editor (action
edit-with-external-editor), bound to C-x C-e by default - add forward search in history (action
next-search), bound to M-s by default - add support for mouse clicks on widgets (thanks to Andrew Ray)
- add support for looking up files in XDG locations (thanks to Genki Marshall)
1.9 (2015-06-23)
- add repl example (Martin DeMello)
- add support for custom and local bindings
1.8 (2015-01-07)
- remove use of deprecated Lwt functions
- add some iTerm2 keys
- fix some invalid use of react
1.7 (2014-10-20)
1.6 (2014-04-21)
- Support for React 1.0.0
- fix OpenBSD builds
1.5 (2013-08-07)
- workaround camomile raising the wrong exception for encoding failures
- add more default keybindings
1.4 (2013-03-26)
- added
C-b, C-f, C-h, M-p, M-n by default - fix a segfault when running utop in an emacs terminal buffer
1.3 (2012-10-08)
- fix the bindings for
C-n and C-p - binds
C-h to delete-prev-char
1.2 (2012-07-30)
1.1 (2011-08-06)
- fix a blinking problem on OS-X
- bind the
kill-{prev,next}-word editing actions - bind the undo action
- add doc for edition actions
- add
LTerm_key.to_string_compact to print keys like emacs - use
Zed_input for key bindings instead of hash tables - add support for macros
- add the break action to interrupt read-line
- add manual pages
- allow to get the current pending key sequence in read-line
- make the
LTerm_read_line.term class more flexible