helix: Helix 23.05 (d52b7903) freezes editing markdown
Summary
I’ve been running the git release of Helix on arch for a couple years now. My current install is on Garuda Linux:
╭─watson@acer in ~ took 8ms
╰─λ pamac info helix-git
Name : helix-git
Version : 23.05.242.gd52b79037-1
Description : A text editor written in rust
URL : https://helix-editor.com
Licenses : Unknown
Repository : chaotic-aur
Installed Size : 144.7 MB
Groups : --
Depends On : --
Optional Dependencies : --
Required By : --
Optional For : --
Provides : hx
Replaces : --
Conflicts With : helix
Packager : UFSCar HPC Builder <hpc.ufscar@chaotic.cx>
Build Date : Wed 19 Jul 2023 08:09:51 PM EDT
Install Date : Thu 20 Jul 2023 05:07:40 AM EDT
Install Reason : Explicitly installed
Validated By : Signature
Backup files : --
I’ve been editing markdown all day, every day for a while and helix started freezing recently where all keystroke processing ceases. Nothing seems to release it, esc, colon, etc.
I’ve taken to pgrep hx follwed by pkill hx at the command line to resolve and restart helix.
Reproduction Steps
I tried this:
hx- edit files with md extension
- wait for freeze within a few minutes
I expected this to happen:
No frezee.
Instead, this happened:
Freeze.
Helix log
I’ll provide the verbose log when I get it.
~/.cache/helix/helix.log
╭─watson@acer in ~ took 16ms
╰─λ cat ~/.cache/helix/helix.log
File: /home/watson/.cache/helix/helix.log
2023-07-13T08:32:07.058 helix_view::editor [ERROR] Failed to initialize the language servers for `source.md` { cannot find binary path }
2023-07-13T08:32:56.575 helix_view::editor [ERROR] Failed to initialize the language servers for `source.md` { cannot find binary path }
2023-07-13T08:36:45.385 helix_view::editor [ERROR] Failed to initialize the language servers for `source.md` { cannot find binary path }
2023-07-19T12:19:55.671 helix_view::editor [ERROR] Failed to initialize the language servers for `source.bash` { cannot find binary path }
2023-07-20T03:56:06.337 helix_view::editor [ERROR] Failed to initialize the language servers for `source.md` { cannot find binary path }
2023-07-20T05:04:27.109 helix_view::editor [ERROR] Failed to initialize the language servers for `source.md` { cannot find binary path }
2023-07-20T05:24:50.686 helix_view::editor [ERROR] Failed to initialize the language servers for `source.md` { cannot find binary path }
2023-07-20T05:31:15.038 helix_view::editor [ERROR] Failed to initialize the language servers for `source.css` { cannot find binary path }
2023-07-20T05:34:19.761 helix_view::editor [ERROR] Failed to initialize the language servers for `source.md` { cannot find binary path }
Platform
Gaurda Linux (arch)
Terminal Emulator
fish on alacritty
Helix Version
helix 23.05 (d52b7903)
About this issue
- Original URL
- State: closed
- Created a year ago
- Reactions: 3
- Comments: 17 (12 by maintainers)
The upstream issue has been closed thanks to a quick fix by @the-mikedavis so there shouldn’t be changes to the grammar necessary @MDeiml
I am still working on a minimal reproduction case for that. The current minimal reproduction case involves helix and is too complex to report upstream. We would have to write a small rust program that uses tree sitter and libloading to parse the snippet I posted above into a syntax tree and then call
prev_siblingsat the correct position. I didn’t get around yo that yetGuess that should be “shouldn’t”? 😃
That should be possible for block continuations because their job I just to “subtract” from the inline part. Obviously subtracting something empty is not necessary. There are other empty nodes where this wouldn’t be possible though, but maybe this is really just about the block continuations so I’ll try.
reported upstream in https://github.com/tree-sitter/tree-sitter/issues/2421, reason seems to be a token of length 0 generated by the markdown grammar when HTML spans multiple lines.