Thanks for sharing Greg! I've been waiting for Rust to reach 1.0 so that I can dive-in and work on side projects. Text editors to me (a web programmer) look too intimidating to build from scratch. Can you point to any resources that you used (if any) to understand how text-editors work below-the-hood?<p>Would totally love to build a side-project like this! Thanks!
This[1] emacs inspired editor, written in Go, also uses termbox (pure go port: <a href="https://github.com/nsf/termbox-go" rel="nofollow">https://github.com/nsf/termbox-go</a>) - great little library.<p>I'm rewriting a python command line utility using it and it makes writing text based interfaces much easier.<p>[1] <a href="https://github.com/nsf/godit" rel="nofollow">https://github.com/nsf/godit</a> (screenshot: <a href="http://nosmileface.ru/images/godit-linux1.png" rel="nofollow">http://nosmileface.ru/images/godit-linux1.png</a>)
This is cool & similar to a project I had thought about doing for a while. Have you read The Craft of Text Editing[1]? It's very informative.<p>[1]: <a href="http://www.finseth.com/craft/" rel="nofollow">http://www.finseth.com/craft/</a>
A text editor writing itself makes me think of M.C. Esher's 'Drawing Hands' <a href="http://en.wikipedia.org/wiki/Drawing_Hands" rel="nofollow">http://en.wikipedia.org/wiki/Drawing_Hands</a>
Great work, thank you. I was awaiting for something like this for a while. Thanks for sharing.<p>As a side note:
In the long term what I would really love to see - is Rust GUI for Neovim[1] (embedded library / service). Thus I would be able to both hack around my editor and get VIM's maturity and experience most of the times.<p>[1]: <a href="http://neovim.org/" rel="nofollow">http://neovim.org/</a><p>* Update *: spelling and formatting
You say on the readme:<p>"Iota was born out of my frustrations with existing text editors. Over the years I've tried combinations of simple text editors, IDEs and everything in between. None of them felt right to me, however. Some were too slow & bulky, others were too difficult to customise and still others were platform specific and I couldn't use them on all my machines."<p>So what is the advantage if Iota over Vim?
That could be useful when you need an editor in a secure environment. Rustbox, though, still uses C code.<p>A reasonable goal is to re-implement the utilities in Busybox in Rust. Lots of embedded systems use Busybox, and it has vulnerabilities.