4 ms·
The landing page is just something I threw together in an hour so it a bit joke-y and doesn't convey everything -- I'd like to implement some form of scripting
by archseer 5y ago
The landing page is just something I threw together in an hour so it a bit joke-y and doesn't convey everything -- I'd like to implement some form of scripting (either via wasm, gamelisp or lua) down the road, definitely. I was waiting a bit to see if Grain or Assemblyscript would mature a bit more, but I'm also at the stage where I'm still adding core features so there wasn't any time to focus on scripting yet.
I posted this on r/rust to get some feedback, definitely wasn't prepared to expose it to HN yet.
- exDM69 5y agoIs scripting really necessary in a text editor? I have been using vanilla Vim with no plugins for years now, and I do have a config file but no plugins or anything. I was driven away from Kakoune by the "clever" way it uses shell for scripting, and some basic functionality needs scripts. Pretty cool but not for me. Given a built-in language server and syntax coming from tree-sitter, that already covers almost everything I need from my $EDITOR. The only other thing I need is the ability to open compiler error log and jump to locations.
- tux1968 5y agoI'm sure you're not saying that your specific needs are representative of everyone who might be interested in using this editor. It's much easier to put customization tools in the hands of developers than to anticipate every legitimate need they may have in an editor.
- exDM69 5y agoThe thing is that editor scripting interfaces (vimscript in particular) kinda suck. I'd much rather have the essentials as built-in features in the editor. For example, surround.vim is kinda nice feature but it doesn't play nice with undo and repeat. Most text editor scripting add-ons fall into two categories: 1) core editing features (like surround.vim) or 2) bringing IDE-like features to the editor. Things that fall under category 1 generally work better when they're implemented in the editor core. Things that fall under category 2 could mostly be implemented outside the editor, e.g. using tmux key bindings to open a new window to run the compiler in and then send the output back to the editor. I don't really want the editor to have a terminal emulator and windowing system to launch the editor in. There are plenty of proper IDEs out there, there are plenty of scriptable editors out there which have (mostly half-baked) scripted IDE-like features out there, as well as bare bones editors with no scripting. I'm not gonna argue one is better than the other, but there's no reason every editor should have a scripting interface in it. I have used programming tools in every category and they all have their merits. I had a fully pimped up Vim setup with lots of plugins but I eventually abandoned them as they were more trouble than they were worth and now I have a very bare bones setup with minimal customization. So yeah, I don't think scripting is an essential feature in a text editor, and I'd much rather see the effort spent core editor features polished than a scripting interface. As for "my specific needs", I need a good text editor first. I've used about a half dozen different programming languages in the past year, and no editor out there would handle all the "integrated" features to all of them gracefully without a lot of customization.
- PoignardAzur 5y agoAgreed. By now almost all my Atom plugins are of the "editor integration for language X". I've mostly given up on the "add new feature" category of plugins.
- megameter 5y agoCurrently I use TextAdept which is kind of the inversion of "scripting" the editor - the core is basically a SciTE wrapper and the editor is Lua. It boasts a tiny source code footprint. There aren't many features or integrations, but I am aiming not to need those. (Becoming IDE-dependent is definitely a thing, but when it goes in that direction, I look for a full-fat IDE experience for that specific language and then use either my text editor or IDE situationally. It's just not worth it to try to configure your way into Nirvana when the language you're using is probably going to change again.)
- chme 5y agoI also tried Kakoune, coming from pretty vanilla vim as well. I liked its concepts, but I could not make kak auto line wrap C block comments correctly. Kakoune apparently relies on external tools like `par` to do, at lease for me, pretty essential stuff, which vim does of of the box. I will take a look at helix, but I hope it comes with basic text wrapping features included.
- hutzlibu 5y agoInteresting choice, to think about a wasm based scripting language, when the editor itself is proudly free of all webrelated stuff? Basically, have you given thought into it, and see a way to integrate it in a efficient way, or come those thoughts from the potential ease of use with that and implementation details later? In either case, I think scripting is very important to many people, so you probably should add a section about it somewhere, that it is definitely planned, open for suggestions (?) on the scriping language, and coming once the core features are stable. Otherwise congratulations!
- dannyw 5y agoWasm may be web related, but it's just a reasonably mature technology with a developing ecosystem [1]. You can implement Wasm without anything web related. You can even implement ECMAScript without implementing anything web related (like the document model). [1]: https://v8.dev/blog/wasm-decompile https://v8.dev/blog/wasm-decompile
- franga2000 5y agoWasm started in the web, but has since been ported even to the Linux kernel [0]. It seems perfect for situation where you near machine code levels of performance, but don't want to carry different binaries for different CPU architectures - exactly what you want from a plugin system. It also allows far greater isolation than "real" compiled code. [0] https://github.com/wasmerio/kernel-wasm https://github.com/wasmerio/kernel-wasm
- hutzlibu 5y agoSo has this been successfully used, as a base of a scripting language yet? The theoretic benefits of wasm I know, but I thought it would need more time, to be useful in that area?
- franga2000 5y agoI don't know of any examples, no, but I also don't really follow the space much outside of web tech (desperately trying to get away from JS).
- afarrell 5y agoSelfishly, I hope you choose lua so that you add to the momentum behind writing neovim plugins in lua.