tree-sitter / tree-sitter-julia

Julia grammar for tree-sitter
MIT License
96 stars 33 forks source link

bug: infinite loop in certain context #143

Open goulf-3m opened 4 months ago

goulf-3m commented 4 months ago

Did you check existing issues?

Tree-Sitter CLI Version, if relevant (output of tree-sitter --version)

tree-sitter 0.22.6 (b40f342067a89cd6331bf4c27407588320f3c263)

Describe the bug

nvim will be blocked by a infinite loop in certain context. In my setup, the error disappears when both matchup' andhighlight' options for `nvim-trreesitter' are disabled.

Steps To Reproduce/Bad Parse Tree

  1. write a file.jl

    function a()
    map([1:10]) do f
    end
    end
  2. in the `do' block, type

    for hello i
  3. nvim will block the instant `i' is typed.

If `hello' is replaced by a very long name, the error disappears.

Expected Behavior/Parse Tree

Nvim (treesitter) should not block when a partial expression is typed.

Repro

No response

silva-guimaraes commented 2 months ago

I'm experiencing the same issue from what I tested. For me, the moment I type an 'i' into the do block neovim will instantly freeze. Disabling the highlighting alone solves it in my case