That's a lot of code for a toy project, impressive commitment!
How does the VIM family generally handle extensibility?
Do you have any unique takes there?
I use Emacs, and I get how emacs does it (smallish runtime for text display and lisp interpreter, everything else in lisp).
Hey Paddy. Vim uses horrible vimscrip, neovim - cool lua. I have two idea for plugins: - 1. Rich events system on backend side. e.g. write golang code for plugins, recomplire editor. done. pros: good performance, autocomplete for plugins out-of-the-box. golang. cons: feedback loop is lonfer. recomplier, restart, repeat. - 2. Use lua. pros: fast development cycle. cons: harder to implement. two languages, communication overhead.
I also use Emacs, btw.
You could consider WASM.
Traditionally (classic vim), horribly well. Fully extensible, but Vimscript is quirky to say the least.
Recently (neovim), delightfully. It just uses Lua and exposes APIs for absolutely everything.
When it comes to Go editors (IMO Go is perfect language for such editors) I also need to mention https://anvil-editor.net
It's ACME inspired, open source (although I don't think it's published on GitHub, one needs to download), and it's actually quite nice to work with due to its composability).
Takes some time to use, but it's really fun to use for stuff like ad-hoc documentation, completion etc. Oh, and it also has REST API for interaction with external tools so you can Go (pun intended) crazy on it.
Micro is a very usable terminal-based editor written in Go.
I love bugs being a feature lol.
Awesome project man. I'll have to spend some time exploring the code base when I have time.
Humor must be! Boring otherwise!
That got me chuckling too
Love the honesty about "lots of bugs" - refreshing to see!
The fact that you're daily driving this speaks volumes about its usability despite being a "toy" project. A few questions: - How's the learning curve for someone coming from Vim/Neovim? - The org-mode-like feature sounds intriguing - can you elaborate on what Ctrl-C Ctrl-C does? - Any plans to add plugin support, or are you keeping it intentionally minimal?
The Helix color theme borrowing is smart - no need to reinvent good design choices.
Ctrl-c will spawn process defined in header and will send all subsequent commands to it. E.g; spawn psql, run sql queries from editor.
For now I have no plans for plugins. Need to finish "base" first and good. And yes, intention is to keep it minimal.
Looks great. Awesome job!
I know you haven't planned ahead, but have you thought about extensibility? One of the main benefit of Vim and Emacs is that the user can customize it exactly to fit their needs, and the large ecosystem that exists around that. I suppose it would be smart for any new editor nowadays to be able to leverage existing plugins from other ecosystems, rather than starting from scratch.
I'm not planning to work on plugins on the near future. But yes, I have some ideas. mainly: golang compliled plugins or lua. I'm leaning more to go complied plugins.
Like the color schemes! I myself am working on an app called https://vimgolf.ai to make it easier to learn how to use vim. Might copy what you did with copying the color schemes from the helix code editor.
Hey fellow vim enthusiast! I wish you all the best with vimgolf.ai
Love it! I'm a big fan of code terminal ui code editors. Currently for that purpose Helix is my daily driver. Will try out yours shortly and don't let anyone discourage you! Keep going. Adaption will follow.
Hey hit8run, appreciate your feedback. I was also running Helix for a couple of months. great editor. performance is phenomenal.
This is incredible! It looks beautiful, with a perfect type of minimalism, and supports modern features out of the box. Very good job! If I used terminal editors anymore, I would certainly use this!
I appreciate your feedback!
No problem. Glad it made it to the front page quickly like I said it would. Now I don't look so dumb :D
So interesting that you use diffs for undo/redo! Ingenious!
That was most "dumb" and simple yet fast approach to get it done. Other ways of implementing it are more time consuming. I've saved a lot of time on it. Like "one day" and it was done.
Looks lovely. Where does it deviate from vim? Evidently it is modal. What features make it more effective than vim is?
it is not more effective than vim nor it will ever be. it "just" a text editor with no intention to compete with vim or any other great editor.
Just name it Wig. It's cleaner. <SeanParker.gif>
Hey wyclif! I'll take your idea! amazing! really really like it! wig let it be!