vscode-elixir-ls icon indicating copy to clipboard operation
vscode-elixir-ls copied to clipboard

Wrong textmate scope for __MODULE__ with function call

Open GPrimola opened this issue 11 months ago • 2 comments

As you can see on the print attached, it seems to me the wrong rule it's being applied to __MODULE__ macro (but all the others too) when there's a function call.

Environment

  • Elixir & Erlang versions (elixir --version): Erlang/OTP 26 [erts-14.1.1] [source] [64-bit] [smp:10:10] [ds:10:10:10] [async-threads:1] [jit]

Elixir 1.16.1 (compiled with Erlang/OTP 26)

  • VSCode ElixirLS version: 0.20.0
  • Operating System Version: darwin 23.3.0

Steps to reproduce:

Paste this on VSCode and check the Inspect Editor Tokens and Scopes where pointed

defmodule Foo do

  def bar, do: IO.puts("Call bar")
  def mod, do: __MODULE__       # open VSCode's Inspect Editor Tokens and Scopes here
  def zoo, do: __MODULE__.bar() # open VSCode's Inspect Editor Tokens and Scopes here

end
Screenshot 2024-03-13 at 14 30 20

GPrimola avatar Mar 13 '24 13:03 GPrimola

Technically __MODULE__ is a variable but yes, in that case it should match as variable.language.elixir

lukaszsamson avatar Mar 13 '24 14:03 lukaszsamson

Ok, sorry my bad on saying __MODULE__ as a macro (though I really thought it was! 😅).

Thanks for the follow up anyway!

GPrimola avatar Mar 13 '24 15:03 GPrimola