Live data from Hacker News

Helix: A Neovim inspired editor, written in Rust

github.com

41–50 of 321 posts

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

#41
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…

>Those are by far the most important features for a text editor to have I'd say that those features are useful for source code editing, not text in general.

LSP goes far beyond source code. It also covers an increasing number of markup and configuration languages, and there are even language servers for prose that perform grammar checking and offer style suggestions.

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

#42
post #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/

You require to log in to use this. For me is a no no.

Next thing you know... you have warp stories in your terminal.

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

#43
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…

> Helix is built from the ground up around Tree-Sitter and LSP

And what happens in ten or twenty years, when both are obsolete? I don't really care, what technologies my text editor is built on top of, but I sure would like to be able to still use it for writing my memoirs when I'm old.

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

#44

Earlier quoted context omitted.

>Those are by far the most important features for a text editor to have I'd say that those features are useful for source code editing, not text in general.

I'd say that has been true in the past (and is still mostly true today), but I think this will change in the future. I have been using lsp+treesitter for markdown editing and it's been an excellent experience. It's still early days, but with treesitter and lsp being as universal as they are I've been seeing a lot of people just experimenting with what's possible. So yes, they are essential only for source code editin…

I'm looking forward to seeing Org Mode implemented as a language server. It's unfortunate that such a great general text organization tool is locked into the relatively small Emacs user community.

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

#45
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

That's incorrect. The borrow checker performs the same checks inside `unsafe` blocks as everywhere else.

`unsafe` blocks can perhaps best be summarized as areas of code where memory safety rules are relaxed. The borrow checker deals with ownership, and ownership rules are still fully enforced inside `unsafe` constructs.

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

#46
post #32

Earlier quoted context omitted.

> 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 co…

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

User inertia is strong. Neovim has its success because of its improvement, but more importantly, the keymap and config language is based on Vim7. Vim7 users can painlessly switch to Neovim with all config preserved. That's the main reason why Neovim can gain a large number of users initially. Conversely, Helix has no keymap nor configuration compatibility with Vim or other mainstream editors. Given this, I see no hope that Helix will become mainstream.

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

#47
post #43
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…

> Helix is built from the ground up around Tree-Sitter and LSP And what happens in ten or twenty years, when both are obsolete? I don't really care, what technologies my text editor is built on top of, but I sure would like to be able to still use it for writing my memoirs when I'm old.

LSP will not become obsolete, it will evolve. The entire industry is rallying around LSP, and Microsoft is constantly improving the protocol. In "ten or twenty years" LSP will have become a required feature for every programming language and every text editor. It will be essentially impossible to replace it with any other technology because of the massive investment already made in the ecosystem.

I can imagine Tree-Sitter slowly losing importance because LSP is integrating semantic highlighting, but Tree-Sitter will still be an easy option for writing grammars in the absence of a full-featured language server.

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

#48
post #35
post #31

Earlier quoted context omitted.

> 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…

Right, but Neovim does in fact have LSP support. That part is done, that's not a blocker for the It Just Works experience. It's that the editor currently doesn't come with the relevant configuration (in vimscript or lua).

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

#49
post #38
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…

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 te…

Yeah, learning curve may not be the best way to phrase it. But I think that is the price of flexibility to be able to create an editor in which you don’t have to use LSP if you don’t want to.

Personally, I think keeping Neovim the editor separate from something like nvim-lspconfig is pretty nice right now, to be able to update them separately, which is nice for new languages and language server changes. Maybe it (and the broader LSP ecosystem) will eventually be mature enough to be included by default.

I’d also say that if you want zero config, just using a config framework (there are a few), gets you most of the way there, whilst retaining more of the flexibility but that’s not a strong point in favour of Neovim.

Still, until Helix gets a comparable community and some features over a properly configured neovim, I think it will be hard to displace it (and Vim, EMacs etc.) because Helix doesn’t currently doesn’t as anything significant for existing users.

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

#50
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 think you're overestimating the likelihood that Tree-sitter is going to gain enough traction to be reliable for general purpose text editing. It's great for popular modern languages, but not for everything, and there's no fallback in Helix. I'm not convinced that's ever going to change.
Post reply on HN