gleam-lang/gleam

LSP doesn't show auto complete on case statement

Open

#5,404 opened on Feb 28, 2026

View on GitHub
 (19 comments) (3 reactions) (0 assignees)Rust (960 forks)batch import
help wanted

Repository metrics

Stars
 (21,417 stars)
PR merge metrics
 (Avg merge 10d 19h) (69 merged PRs in 30d)

Description

How to reproduce:

type Foo {
  Foo(bar: List(String))
}

pub fn main() -> Nil {
  let foo_list = [Foo(bar: ["hello"])]
  
  case list.first(foo_list) {
    Ok(foo) -> foo. // auto complete doesn't show
    Error(_) -> io.println("world")
  }
}

When enclosing the statement within a block, the auto complete showed up.

type Foo {
  Foo(bar: List(String))
}

pub fn main() -> Nil {
  let foo_list = [Foo(bar: ["hello"])]
  
  case list.first(foo_list) {
    Ok(foo) -> {foo.} // auto complete showed up
    Error(_) -> io.println("world")
  }
}

But if you type one letter, the auto complete showed up even without block.

type Foo {
  Foo(bar: List(String))
}

pub fn main() -> Nil {
  let foo_list = [Foo(bar: ["hello"])]
  
  case list.first(foo_list) {
    Ok(foo) -> foo.b // auto complete showed up
    Error(_) -> io.println("world")
  }
}

Gleam version: v1.14

Contributor guide