tree-sitter-grammars / tree-sitter-odin

Odin grammar for tree-sitter
MIT License
17 stars 4 forks source link

bug: when .. do will cause a error #20

Closed itsmagu closed 3 days ago

itsmagu commented 3 days ago

Did you check existing issues?

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

No response

Describe the bug

Here highlighting works: image But if we change the when statement to a do everything becomes incorrect: image For instance the "defer" statements

Steps To Reproduce/Bad Parse Tree

  1. Use when .. do

Expected Behavior/Parse Tree

Like if .. do

Repro

main :: proc() {
    when ODIN_DEBUG do fmt.println("DEBUG")

    // SDL Init
    SDL.Init(SDL.INIT_EVERYTHING)
    defer SDL.Quit()
    win_ptr := SDL.CreateWindow("",SDL.WINDOWPOS_CENTERED,SDL.WINDOWPOS_CENTERED,600,400,transmute(SDL.WindowFlags)cast(u32)0)
    defer SDL.DestroyWindow(win_ptr)
    rdr_ptr := SDL.CreateRenderer(win_ptr,-1,SDL.RENDERER_ACCELERATED)
    defer SDL.DestroyRenderer(rdr_ptr)
}