Hi, I’m a new programmer of Elixir. I got a problem when using coc-elixir and elixir-ls.
While I can go to definition
of all libs installed by mix, I can’t do that for modules implemented by Elixir. For example, I can go to modules of Ecto
, Finch
, Redix
, but I can’t go to GenServer
, Supervisor
, Application
, Keyword
, Enum
and Map
.
Here is :gen_server.module_info
. It’s strange that the source is ‘/buildroot/otp/lib/stdlib/src/gen_server.erl’, which I never have this path on my own computer.
I tried installing Elixir by homebrew or asdf. I also compiled an Elixir from the source code. The source has not changed.
iex(1)> :gen_server.module_info
[
module: :gen_server,
exports: [
start: 3,
start: 4,
start_monitor: 3,
start_monitor: 4,
stop: 1,
stop: 3,
call: 2,
send_request: 2,
wait_response: 2,
receive_response: 2,
check_response: 2,
abcast: 2,
abcast: 3,
multi_call: 2,
multi_call: 3,
multi_call: 4,
enter_loop: 3,
enter_loop: 4,
enter_loop: 5,
init_it: 6,
wake_hib: 6,
system_continue: 3,
system_terminate: 4,
system_code_change: 4,
system_get_state: 1,
system_replace_state: 2,
format_status: 2,
behaviour_info: 1,
module_info: 0,
module_info: 1,
reply: 2,
cast: 2,
start_link: 4,
start_link: 3,
call: 3,
format_log: 2,
format_log: 1
],
attributes: [vsn: [235044865929631859612519860561431147861]],
compile: [
version: '8.0.2',
options: [
:debug_info,
{:d, :USE_ESOCK, true},
{:i, '/buildroot/otp/lib/stdlib/src/../include'},
{:i, '/buildroot/otp/lib/stdlib/src/../../kernel/include'}
],
source: '/buildroot/otp/lib/stdlib/src/gen_server.erl'
],
md5: <<176, 211, 254, 155, 70, 221, 37, 113, 151, 64, 207, 131, 77, 198, 181,
85>>
]