You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
I 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. See how I'm doing that here for example: https://git.sr.ht/~ismay/desktop/tree/main/item/dot_config/kak/scripts. Combined with a kitty overlay window it integrates seamlessly (see here). 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, but feel free to close or move to discussions if this is too vague.
The text was updated successfully, but these errors were encountered:
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. See how I'm doing that here for example: https://git.sr.ht/~ismay/desktop/tree/main/item/dot_config/kak/scripts. Combined with a kitty overlay window it integrates seamlessly (see here). 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, but feel free to close or move to discussions if this is too vague.
The text was updated successfully, but these errors were encountered: