Author here; I can answer any questions you might have; It's still a really early project but it's growing quickly! Anyone who's interested should join in the discussion in our chat-room here: <a href="https://gitter.im/rasa-editor/Lobby" rel="nofollow">https://gitter.im/rasa-editor/Lobby</a>
This looks really neat. I really like the idea, and I think it has lots of potential.<p>That said, I'm going to try to moderate my enthusiasm until more stuff gets implemented. Thinking back to Yi [0], there is a lot of really cool stuff in that too (namely precise syntax highlighting, which relied heavily on parsing lazily). There's even a couple papers written about it [1]! IIRC, the main problem was (I think it has been at least partially dealt with) performance - people expect their editors to be blazingly fast. It will be interesting to see if Rasa encounters similar problems.<p>[0] <a href="http://yi-editor.github.io/" rel="nofollow">http://yi-editor.github.io/</a>
[1] <a href="https://github.com/yi-editor/yi#reading-material" rel="nofollow">https://github.com/yi-editor/yi#reading-material</a>
Love it, specially the "What people are saying" part :D<p><pre><code> * Excessively Modular! - some bald guy
* I'm glad I'm unemployed so I have time to configure it! - my mate Steve
* You should go outside one of these days. - Mother</code></pre>
> I'm glad I'm unemployed so I have time to configure it! - my mate Steve<p>> You should go outside one of these days. - Mother<p>These quotes are great.
Without knowing too much about either editor, how does this compare / differ with Yi (<a href="http://yi-editor.github.io/" rel="nofollow">http://yi-editor.github.io/</a>)?
I'm excited to see another option appear in text editing, and excited that it's written in Haskell, one of my favorite languages. But, why would I choose it over another text editor? The ability to customize it is neat, but editors like emacs can be customized to one's heart's content, and indeed can suffer from this (why did my editor suddenly become slow? why is my syntax highlighting or indentation not working correctly? who knows, it's the interaction of one of the 50 packages I have installed...).<p>Of course, you as the author are under no obligation save to write whatever you want, but speaking personally, I would love to see some sort of demonstration of how the editor works, and/or the case made selling me on why I should choose it over other options.
While this looks appealing and I will probably try it, I'm not sure if I have cognitive room for another core tool configured in Haskell. Running xmonad is already like a commitment to periodic skirmishes with an angry badger.
Exciting project.<p>For those people who might be scared off because it is Haskell, I would encourage you look at the default config. [0]<p>Apart from import statements and two lines of boilerplate, it is just a newline deliminated list of modules. The only line that this does not apply to is the last line, which sets the initial state of the buffer.<p>Writing your own extensions probably will always involve being comfortable with Haskell, but (assuming it gets a decent community) will not be nessasary for the majority of users.<p>[0] <a href="https://github.com/ChrisPenner/rasa/blob/master/rasa-example-config/app/Main.hs" rel="nofollow">https://github.com/ChrisPenner/rasa/blob/master/rasa-example...</a>
This is amazing, I will give it a try over the weekend for sure. Is modular the selling point here? Last thing I seek in an editor is modularity. This is like saying my browser is written in some pluggable framework... Who cares as long as it works?
I followed the code flow a bit:<p>main loop: <a href="https://github.com/ChrisPenner/rasa/blob/master/rasa/src/Rasa.hs" rel="nofollow">https://github.com/ChrisPenner/rasa/blob/master/rasa/src/Ras...</a>
renderer: <a href="https://github.com/ChrisPenner/rasa/blob/master/rasa-ext-slate/src/Rasa/Ext/Slate/Internal/Render.hs#L27" rel="nofollow">https://github.com/ChrisPenner/rasa/blob/master/rasa-ext-sla...</a>
views: <a href="https://github.com/ChrisPenner/rasa/blob/2fcb326b646e2f6b01f8434ab790b632a25f8d00/rasa-ext-views/src/Rasa/Ext/Views/Internal/Views.hs#L208" rel="nofollow">https://github.com/ChrisPenner/rasa/blob/2fcb326b646e2f6b01f...</a>
buffer references: <a href="https://github.com/ChrisPenner/rasa/blob/2fcb326b646e2f6b01f8434ab790b632a25f8d00/rasa/src/Rasa/Internal/Directive.hs#L80" rel="nofollow">https://github.com/ChrisPenner/rasa/blob/2fcb326b646e2f6b01f...</a>
buffers: <a href="https://github.com/ChrisPenner/rasa/blob/2fcb326b646e2f6b01f8434ab790b632a25f8d00/rasa/src/Rasa/Internal/Buffer.hs#L24" rel="nofollow">https://github.com/ChrisPenner/rasa/blob/2fcb326b646e2f6b01f...</a><p>events: <a href="https://github.com/ChrisPenner/rasa/blob/0b7a037fde31b81d211f74475ba0869cbd2226fa/rasa-ext-slate/src/Rasa/Ext/Slate/Internal/Event.hs#L10" rel="nofollow">https://github.com/ChrisPenner/rasa/blob/0b7a037fde31b81d211...</a>
handler: <a href="https://github.com/ChrisPenner/rasa/blob/b1da88138a68fc2c74113d68230290e310db7003/rasa-ext-vim/src/Rasa/Ext/Vim.hs#L57" rel="nofollow">https://github.com/ChrisPenner/rasa/blob/b1da88138a68fc2c741...</a>
typing: <a href="https://github.com/ChrisPenner/rasa/blob/b1da88138a68fc2c74113d68230290e310db7003/rasa-ext-vim/src/Rasa/Ext/Vim.hs#L99" rel="nofollow">https://github.com/ChrisPenner/rasa/blob/b1da88138a68fc2c741...</a>
cursor: <a href="https://github.com/ChrisPenner/rasa/blob/bb95a3263fc40120edbbcb9fe59521b4e362af33/rasa-ext-cursors/src/Rasa/Ext/Cursors/Actions.hs#L37" rel="nofollow">https://github.com/ChrisPenner/rasa/blob/bb95a3263fc40120edb...</a><p>Seems kind of scattered, compared to others such as <a href="https://hackage.haskell.org/package/qtah-examples-0.2.0/src/src/Graphics/UI/Qtah/Example/Notepad.hs" rel="nofollow">https://hackage.haskell.org/package/qtah-examples-0.2.0/src/...</a> or <a href="https://github.com/HeinrichApfelmus/threepenny-gui/blob/master/samples/Canvas.hs" rel="nofollow">https://github.com/HeinrichApfelmus/threepenny-gui/blob/mast...</a>, although of course it's still better than Yi.<p>Personally I wouldn't consider it without a GUI supporting variable-width text, and that seems far away at this point. But if someone writes an OpenGL renderer it might be worth a second look.