Skip to content

Commit

Permalink
remove not needed regex recompiles
Browse files Browse the repository at this point in the history
  • Loading branch information
lukaszsamson committed Jul 18, 2023
1 parent 7546fb1 commit 2b517b2
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 16 deletions.
2 changes: 1 addition & 1 deletion apps/language_server/lib/language_server/cli.ex
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ defmodule ElixirLS.LanguageServer.CLI do
erlang_erl_path =
beam_filename
|> to_string
|> String.replace(Regex.recompile!(~r/(.+)\/ebin\/([^\s]+)\.beam$/), "\\1/src/\\2.erl")
|> String.replace(~r/(.+)\/ebin\/([^\s]+)\.beam$/, "\\1/src/\\2.erl")

unless File.exists?(erlang_erl_path, [:raw]) do
dir = Path.join(erlang_erl_path, "../../../..") |> Path.expand()
Expand Down
2 changes: 1 addition & 1 deletion apps/language_server/lib/language_server/dialyzer.ex
Original file line number Diff line number Diff line change
Expand Up @@ -570,7 +570,7 @@ defmodule ElixirLS.LanguageServer.Dialyzer do

defp dialyzer_raw_warning_message(raw_warning) do
message = String.trim(to_string(:dialyzer.format_warning(raw_warning)))
Regex.replace(Regex.recompile!(~r/^.*:\d+: /), message, "")
Regex.replace(~r/^.*:\d+: /, message, "")
end

# Because mtime-based stale-checking has 1-second granularity, we err on the side of
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ defmodule ElixirLS.LanguageServer.ErlangSourceFile do
beam_file
|> to_string
|> String.replace(
Regex.recompile!(~r/(.+)\/ebin\/([^\s]+)\.beam$/),
~r/(.+)\/ebin\/([^\s]+)\.beam$/,
"\\1/src/\\2.erl"
)
end

def module_line(file) do
find_line_by_regex(file, Regex.recompile!(~r/^-module/))
find_line_by_regex(file, ~r/^-module/)
end

def function_line(file, function) do
Expand All @@ -30,7 +30,7 @@ defmodule ElixirLS.LanguageServer.ErlangSourceFile do
|> Atom.to_string()
|> Regex.escape()

find_line_by_regex(file, Regex.recompile!(~r/^#{escaped}\b/))
find_line_by_regex(file, ~r/^#{escaped}\b/)
end

defp find_line_by_regex(file, regex) do
Expand Down
16 changes: 8 additions & 8 deletions apps/language_server/lib/language_server/providers/completion.ex
Original file line number Diff line number Diff line change
Expand Up @@ -119,11 +119,11 @@ defmodule ElixirLS.LanguageServer.Providers.Completion do

def_before =
cond do
Regex.match?(Regex.recompile!(~r/(defdelegate|defp?)\s*#{prefix}$/), text_before_cursor) ->
Regex.match?(~r/(defdelegate|defp?)\s*#{prefix}$/, text_before_cursor) ->
:def

Regex.match?(
Regex.recompile!(~r/(defguardp?|defmacrop?)\s*#{prefix}$/),
~r/(defguardp?|defmacrop?)\s*#{prefix}$/,
text_before_cursor
) ->
:defmacro
Expand All @@ -138,8 +138,8 @@ defmodule ElixirLS.LanguageServer.Providers.Completion do
prefix: prefix,
remote_calls?: match?({:dot, _, _}, Code.Fragment.cursor_context(prefix)),
def_before: def_before,
pipe_before?: Regex.match?(Regex.recompile!(~r/\|>\s*#{prefix}$/), text_before_cursor),
capture_before?: Regex.match?(Regex.recompile!(~r/&#{prefix}$/), text_before_cursor),
pipe_before?: Regex.match?(~r/\|>\s*#{prefix}$/, text_before_cursor),
capture_before?: Regex.match?(~r/&#{prefix}$/, text_before_cursor),
scope: scope,
module: env.module
}
Expand Down Expand Up @@ -302,7 +302,7 @@ defmodule ElixirLS.LanguageServer.Providers.Completion do
%{def_before: nil, capture_before?: false, pipe_before?: false},
_options
) do
snippet = Regex.replace(Regex.recompile!(~r/"\$\{(.*)\}\$"/U), snippet, "${\\1}")
snippet = Regex.replace(~r/"\$\{(.*)\}\$"/U, snippet, "${\\1}")

%__MODULE__{
label: description,
Expand Down Expand Up @@ -991,7 +991,7 @@ defmodule ElixirLS.LanguageServer.Providers.Completion do
end

defp get_prefix(text_before_cursor) do
regex = Regex.recompile!(~r/[\w0-9\._!\?\:@\->]+$/)
regex = ~r/[\w0-9\._!\?\:@\->]+$/

case Regex.run(regex, text_before_cursor) do
[prefix] -> prefix
Expand Down Expand Up @@ -1113,7 +1113,7 @@ defmodule ElixirLS.LanguageServer.Providers.Completion do
defp use_name_only?(module_name, function_name) do
module_name in @use_name_only or {module_name, function_name} in @use_name_only or
String.starts_with?(function_name, "__") or
function_name =~ Regex.recompile!(~r/^[^a-zA-Z0-9]+$/)
function_name =~ ~r/^[^a-zA-Z0-9]+$/
end

defp sort_items(items) do
Expand All @@ -1126,7 +1126,7 @@ defmodule ElixirLS.LanguageServer.Providers.Completion do
priority
end

{priority, label =~ Regex.recompile!(~r/^[^a-zA-Z0-9]/), label}
{priority, label =~ ~r/^[^a-zA-Z0-9]/, label}
end)
end

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ defmodule ElixirLS.LanguageServer.Providers.ExecuteCommand.ApplySpec do
end

cur_line = Enum.at(SourceFile.lines(cur_text), line - 1)
[indentation] = Regex.run(Regex.recompile!(~r/^\s*/), cur_line)
[indentation] = Regex.run(~r/^\s*/, cur_line)

# Attempt to format to fit within the preferred line length, fallback to having it all on one
# line if anything fails
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,11 @@ defmodule ElixirLS.LanguageServer.Providers.OnTypeFormatting do
end

defp tokens(line) do
Regex.scan(Regex.recompile!(~r/(?:->)|(?:[\w\:]+)/), line) |> List.flatten()
Regex.scan(~r/(?:->)|(?:[\w\:]+)/, line) |> List.flatten()
end

defp indentation(line) do
[indentation] = Regex.run(Regex.recompile!(~r/^\s*/), line)
[indentation] = Regex.run(~r/^\s*/, line)
indentation
end

Expand Down

0 comments on commit 2b517b2

Please sign in to comment.