Hi, dear OCaml guys! We’ve been keeping quiet for more than one year though utop, lambda-term, zed and some related projects were still evolving during the period of time. This is because of two reasons:
-
The new feature had nothing to do with the fields where most OCaml developers are working on:
Recognizing, editing, fuzzy searching for Character Variation(mainly for ancient CJK characters).
Nevertheless, the new feature brought us a good side effect – the long-existing Issue with asian charset was resolved. UTop users will notice the refinement naturally, so no announcement was needed.
-
I didn’t deem the first few new editions of zed 2 and lambda-term 2 stable enough.
3.0 era
This time, we are entering zed 3, lambda-term 3 era. The features introduced since zed 2, lambda-term 2 are quite stable now and the new feature coming to us will have a bit more impact, especially to vim users. So it’s worthwhile to draft an announcement:
VI Editing Mode
OCaml guys, hope you enjoy this.
List of notable changes:
-
zed 2:
- wide, combined glyph(Character Variation, IPA, CJK …)
- add wanted_column support for wide width character
-
lambda-term 2:
- wide, combined glyph(Character Variation, IPA, CJK …)
- add horizontal scrolling support for wide width character
-
zed 3:
- add new actions for convenience
-
lambda-term 3:
- LTerm_read_line: add initial support for vi editing mode:
- 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 brackets
- delete, change, yank with motions
- paste: p P
- line joining: J
-
utop 2.5
- #use_output directive
for a full list of the changes, please visit the homepages of each project.
Projects underneath:
- charInfo_width: Determine column width for a character
- mew & mew_vi: Modal editing witch & Its VI interpreter complement. In a word, modal editing engine generators.
What’s next
VI Editing Mode
- Visual mode
- register support and more vi compatible
CJKV
We’ve recorded more then 100 thousand entries about the structure of CJK characters, what does a character consist of, how does the sub-assemblies glue together etc. And as a complement to charInfo_width, we may release a new project called charInfo_structure