Neovim elixirls failed autocompletion for local module

Begin learning elixir recently, and i was setup the elixirls in neovim following this guide. I could get most of the lsp elixirls feature work, such as doc hover, snippet, autocompletion, and so on, but I found I just can’t get the autocompeletion work for local module in another file. I’ll describe my problem as follows:

I’ve got two files in same directory, person.exs and main.exs:

![file1](/Users/huibosa/Desktop/Screenshot 2023-10-03 at 4.14.18 PM.png)

![file2](/Users/huibosa/Desktop/Screenshot 2023-10-03 at 4.15.35 PM.png)

which can be seen from the pictures that the autocompeletion source for module Person failed in main.exs. However, when I move the statements to person.exs`, I could get the expected autocompeletion:

![file3](/Users/huibosa/Desktop/Screenshot 2023-10-03 at 4.16.36 PM.png)

At first I thought this would be a lack of implementation of something in elixirls, but when I switch to vscode, where I’ve installed the elixirls viscose extension, finding that the autocompeletion works as ecpected:

![file4](/Users/huibosa/Desktop/Screenshot 2023-10-03 at 3.59.40 PM.png)

To give you more information:

  • Neovim version: v0.9.2
  • Elixirs version: v0.16.0
  • OS: mac