Replies: 2 comments 15 replies
-
https://github.com/helix-editor/helix/blob/master/docs/vision.md Generally, commonly used features are intended to be in core. The features you mentioned also have rationale for not being externalized as a plugin:
Helix isn't trying to replace Kakoune, and follows a different philosophy. I personally feel that Helix is quite maintainable, and a large part of it thanks to using Rust which encourages stricter quality control and adds guardrails against common issues. There's also been a lot of effort in maintaining a good contributor experience to get more eyes on the code. |
Beta Was this translation helpful? Give feedback.
-
My 2c as a relative outsider to helix:
Does helix want to be akin to vim/kakoune or VSCode/JetBrains/Emacs? EDIT - submitted too quickly(!) My ideal editor:
I'm genuinely not sure whether my Vim + a few plugins is still the way to go, or maybe kakoune + LSP plugins... (I'm not arguing technology, I'm only arguing "feelings" and perception. I qualified the worth of this as 2cents so .... ;-)) |
Beta Was this translation helpful? Give feedback.
-
I've been using kakoune for a while, and am considering moving to helix. There are a couple of design decisions that the helix devs have made that make it quite compelling. Overall it feels a bit like helix is to kakoune what neovim is to vim.
I've been following the progress on helix for over a year, and there's one thing that I feel a little apprehensive about when it comes to helix. It seems that the helix team is less worried about adding certain features to the helix core. I think that this is great when it comes to LSP and treesitter support. But there are several features that helix bundles, or that are being considered, that I'm rather skeptical about, specifically: integrated window management, an integrated file tree (file pickers even) and an integrated terminal.
Integrated Terminal
#1976I can imagine that people want these features, and if you don't like them you don't have to use them of course. But I do think that for the long term health of the project it's important to consider the added complexity and long term maintenance costs for features like these. One thing that kakoune does very well is bundle only what's necessary and make integration of external tools easy. Comparing the two projects it seems like helix is at least on par in terms of LOC, and actually already larger, when compared to kakoune:
With kakoune adding a fuzzy file picker and file browser has been trivial. Combined with a kitty overlay window it integrates seamlessly. I don't need an integrated terminal because I have my terminal for that. I don't need window management because I have my window manager for that (or could even use kitty splits if I wanted to).
I'm not trying to bash helix. The opposite, I think it's a great project. But I know that it's difficult to draw a line for what features to reject and which to include. I'm a little worried that helix will end up trying to do too much, and that the maintainers will end up spending a lot of effort maintaining features that would be better off being outsourced to external tools, or plugins.
I can imagine that for devs that are coming from neovim, or vscode, that having everything integrated in your editor feels right. And that those things should be added to helix if they're missing. I think though that helix would be better off just focusing on what it does well: editing code/text, and remove everything from the core that could be a plugin or an external tool. Thought it would be good to start a discussion on that topic, as I think it will enhance the long term maintainability of the project.
Beta Was this translation helpful? Give feedback.
All reactions