From bc537ae1453a2f8d9f16f49f739325b8c6fc68e4 Mon Sep 17 00:00:00 2001 From: Mitchell Hanberg Date: Tue, 27 Jun 2023 00:20:11 -0400 Subject: [PATCH] fix: filter out hidden functions from workspace symbols Closes #39 --- lib/next_ls/symbol_table.ex | 4 +++- test/next_ls/symbol_table_test.exs | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/next_ls/symbol_table.ex b/lib/next_ls/symbol_table.ex index ef3b6187..695676b7 100644 --- a/lib/next_ls/symbol_table.ex +++ b/lib/next_ls/symbol_table.ex @@ -94,7 +94,9 @@ defmodule NextLS.SymbolTable do ) end - for {name, {:v1, type, _meta, clauses}} <- defs, name != :__struct__, {meta, _, _, _} <- clauses do + for {name, {:v1, type, _meta, clauses}} <- defs, + not String.match?(to_string(name), ~r/__.*__/), + {meta, _, _, _} <- clauses do :dets.insert( state.table, {mod, diff --git a/test/next_ls/symbol_table_test.exs b/test/next_ls/symbol_table_test.exs index d776da9a..3afe720b 100644 --- a/test/next_ls/symbol_table_test.exs +++ b/test/next_ls/symbol_table_test.exs @@ -56,6 +56,7 @@ defmodule NextLS.SymbolTableTest do module_line: 1, struct: nil, defs: [ + __foo__: {:v1, :def, [line: 900], [{[line: 900], [], [], nil}]}, start_link: {:v1, :def, [line: 44], [