• paddy_m 3 days ago

    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).

    • andrew_bbb 2 days ago

      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.

      • icar 11 hours ago

        You could consider WASM.

      • fgonzag 2 days ago

        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.

      • xlii 3 days ago

        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.

      • scuff3d 3 days ago

        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.

        • andrew_bbb 2 days ago

          Humor must be! Boring otherwise!

          • iamkoch 3 days ago

            That got me chuckling too

          • GuiShou 2 days ago

            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.

            • andrew_bbb 2 days ago

              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.

            • imiric 3 days ago

              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.

              • andrew_bbb 2 days ago

                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.

              • nickandbro 3 days ago

                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.

                • andrew_bbb 2 days ago

                  Hey fellow vim enthusiast! I wish you all the best with vimgolf.ai

                • hit8run 3 days ago

                  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.

                  • andrew_bbb 2 days ago

                    Hey hit8run, appreciate your feedback. I was also running Helix for a couple of months. great editor. performance is phenomenal.

                  • 90s_dev 4 days ago

                    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!

                    • andrew_bbb 4 days ago

                      I appreciate your feedback!

                      • sdegutis 3 days ago

                        No problem. Glad it made it to the front page quickly like I said it would. Now I don't look so dumb :D

                    • lsllc 3 days ago

                      So interesting that you use diffs for undo/redo! Ingenious!

                      • andrew_bbb 2 days ago

                        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.

                      • tempfile 3 days ago

                        Looks lovely. Where does it deviate from vim? Evidently it is modal. What features make it more effective than vim is?

                        • andrew_bbb 2 days ago

                          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.

                        • wyclif 3 days ago

                          Just name it Wig. It's cleaner. <SeanParker.gif>

                          • andrew_bbb 2 days ago

                            Hey wyclif! I'll take your idea! amazing! really really like it! wig let it be!