Live data from Hacker News

Helix: A Neovim inspired editor, written in Rust

github.com

31–40 of 321 posts

Re: Helix: A Neovim inspired editor, written in Rust

#31
post #10

I fully expect Helix to replace Vim, Neovim, and Kakoune for most users in the long run. Helix is built from the ground up around Tree-Sitter and LSP. This means you get the best syntax highlighting available, and IDE-like functionality, with zero configuration required other than installing the appropriate language server. Those are by far the most important features for a text editor to have, and crucially, they ar…

> I fully expect Helix to replace Vim, Neovim, and Kakoune for most users in the long run.

Is there anything preventing other editors from integrating LSP and making it work out of the box without any configuration other than adding a language server?

Re: Helix: A Neovim inspired editor, written in Rust

#32
post #10

I fully expect Helix to replace Vim, Neovim, and Kakoune for most users in the long run. Helix is built from the ground up around Tree-Sitter and LSP. This means you get the best syntax highlighting available, and IDE-like functionality, with zero configuration required other than installing the appropriate language server. Those are by far the most important features for a text editor to have, and crucially, they ar…

> I fully expect Helix to replace Vim, Neovim, and Kakoune for most users in the long run. I hope this doesn't come off as flippant: I thought your comment was sarcastic at first. While I love seeing newer / better software displacing the old and crusty, this seems a little unlikely, no? It seems like somewhat of a miracle that neovim has taken as much share as it has. P.s. I'm hoping to eat my words one day.

> It seems like somewhat of a miracle that neovim has taken as much share as it has.

It's not a miracle but rather a testament to how much Neovim improves upon Vim. The number of useful features, among them Tree-Sitter and LSP, that Neovim has introduced has ended what feels like decades of stagnation in Vim development.

Now imagine an editor like Neovim, but instead of working through 30 years of cruft and legacy code, it's built from the start using modern software engineering techniques and incorporates such features into its core editing model. That's essentially what Helix is. The Vim -> Neovim improvement is nothing compared to what Helix will deliver (and already is delivering in many aspects).

Re: Helix: A Neovim inspired editor, written in Rust

#33
Does anyone happen to know if there is a terminal IDE that more or less operates like the very basics of popular GUI IDEs? By this I mean has a file manager pane which can be manipulated by mouse, allows multiple open tabs which are selectable and closable by mouse, is generally mouse-aware with regard to cursor activity on the text, and operates as a regular user would expect (not modal)? The closest thing I've found to this is Micro, but the full IDE experience is missing.

I know mouse-aware file manager and tab capabilities are possible in terminal IDEs, but I haven't seen anything that simply put it all together as a cohesive and easy-to-use whole that anyone who has used VSCode could quickly start using for basic editing of multiple files in a project.

Re: Helix: A Neovim inspired editor, written in Rust

#34
post #33

Does anyone happen to know if there is a terminal IDE that more or less operates like the very basics of popular GUI IDEs? By this I mean has a file manager pane which can be manipulated by mouse, allows multiple open tabs which are selectable and closable by mouse, is generally mouse-aware with regard to cursor activity on the text, and operates as a regular user would expect (not modal)? The closest thing I've foun…

You may want to try Warp: https://www.warp.dev/

Re: Helix: A Neovim inspired editor, written in Rust

#35
post #31
post #10

I fully expect Helix to replace Vim, Neovim, and Kakoune for most users in the long run. Helix is built from the ground up around Tree-Sitter and LSP. This means you get the best syntax highlighting available, and IDE-like functionality, with zero configuration required other than installing the appropriate language server. Those are by far the most important features for a text editor to have, and crucially, they ar…

> I fully expect Helix to replace Vim, Neovim, and Kakoune for most users in the long run. Is there anything preventing other editors from integrating LSP and making it work out of the box without any configuration other than adding a language server?

What's preventing it is their existing codebases, mostly.

IIRC, one of the first things Neovim did was throw out literally tens of thousands of lines of legacy code from Vim.

Meanwhile, Helix can just add the `lsp-types` crate as a dependency and they're already a quarter of the way to making LSP work.

The difference between adding something to a 30-year-old C project and a new Rust project is so massive that it can actually be the difference between "fairly straightforward" and "essentially impossible".

Re: Helix: A Neovim inspired editor, written in Rust

#36
post #33

Does anyone happen to know if there is a terminal IDE that more or less operates like the very basics of popular GUI IDEs? By this I mean has a file manager pane which can be manipulated by mouse, allows multiple open tabs which are selectable and closable by mouse, is generally mouse-aware with regard to cursor activity on the text, and operates as a regular user would expect (not modal)? The closest thing I've foun…

Try https://github.com/AstroNvim/AstroNvim, mouse works nicely out of the box, there is also a files tree.

Re: Helix: A Neovim inspired editor, written in Rust

#37

I gave it a try out of curiosity with Rust, which you might reasonably expect to be well supported. But it didn't start a language server. So I followed the docs to find out how and was none the wiser. A tad undercooked, I'd say.

The language server should work by just having rust-analyzer in you path. You can check with 'hx --health rust'.

It also only works on Rust projects, not single files. You have to open helix with the path to the project folder for it to work.

Re: Helix: A Neovim inspired editor, written in Rust

#38
post #12
post #10

I fully expect Helix to replace Vim, Neovim, and Kakoune for most users in the long run. Helix is built from the ground up around Tree-Sitter and LSP. This means you get the best syntax highlighting available, and IDE-like functionality, with zero configuration required other than installing the appropriate language server. Those are by far the most important features for a text editor to have, and crucially, they ar…

Do you have any specific examples of things helix does better than neovim? I think the neovim implementation of LSP and treesitter is quite nice. It was not that polished when I tried it last, but I think once it becomes mature, it will be really flexible. Tree sitter specifically is still considered experimental, but I think the timeline for that to be better integrated will be significantly faster than it takes for…

There's a difference between having a "learning curve" and having to spend effort setting up things that work out of the box in another editor.

Vim advocates generally claim that investing time learning the Vim keybindings pays off as saved time during later work. But that's not what's happening here. If LSP just works in Helix, and requires fiddling with config files in Neovim, then Neovim is wasting my time, not teaching me something that will be valuable later on.

Re: Helix: A Neovim inspired editor, written in Rust

#39
post #25
post #16

Earlier quoted context omitted.

> Helix is built from the ground up around Tree-Sitter and LSP. Sadly, that achievement is compromised by having to call into unsafe code.

Have you checked what that unsafe code does? Unsafe code is not bad per se, there has been quite a bit of discussion about the naming of unsafe and many are of the opinion that it should have better been called something like trustme to clarify that the code must not be necessarily unsafe , just that the borrow checker doesn't fully check here, which for certain core algorithms can be necessary. As long as the conten…

> just that the borrow checker doesn't fully check here, which for certain core algorithms can be necessary

Why is that? Does this imply that there are certain algorithms you simply can't write (efficiently) when using the borrow-checker? (I don't know Rust btw, but have plans to start learning very soon)

Re: Helix: A Neovim inspired editor, written in Rust

#40
post #12

Earlier quoted context omitted.

Do you have any specific examples of things helix does better than neovim? I think the neovim implementation of LSP and treesitter is quite nice. It was not that polished when I tried it last, but I think once it becomes mature, it will be really flexible. Tree sitter specifically is still considered experimental, but I think the timeline for that to be better integrated will be significantly faster than it takes for…

Sometimes treesitter has problems. Indenting has gotten worse and configuration is a lot more complex. I have the same config with some neovim / vim specifics and I find myself using vim more often even though the neovim features are "cooler". I wonder if it will ever become "mature". It doesn't crash for that matter, but you have to keep everything updated constantly. Vim doesn't really have that problem. Helix look…

Treesitter is still a bit iffy. LSP is a bit better, but is still not amazingly mature (but some of this is to do with the LSP servers themselves not being that mature).

Other than that, I haven’t had any problems with Neovim. Everything else has been rock solid, and I haven’t needed to update frequently for anything else. Have you experienced other issues?

However, these are the larger “killer” features of neovim, so at this point there’s not that much over Vim. However, there aren’t any Vim features I use that are missing in Neovim either. There are a couple of minor things that push Neovim over though (`inccommand`, Lua is marginally nicer, Neovim plugin scene has exploded recently).

So since Neovim (for me) has feature parity and equal reliability, with some really nice added frills and some moderately reliable, but maybe not incredibly mature, killer features it still beats Vim in my book.

Post reply on HN