Skip to content

Commit 5164b2b

Browse files
committed
remove pre 1.13 code
1 parent 93cdbea commit 5164b2b

File tree

9 files changed

+21
-99
lines changed

9 files changed

+21
-99
lines changed

apps/elixir_ls_debugger/lib/debugger/server.ex

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -940,9 +940,6 @@ defmodule ElixirLS.Debugger.Server do
940940
# we assume that mix is already started and has archives and tasks loaded
941941
Launch.reload_mix_env_and_target()
942942

943-
# TODO I'm not sure why setting prune_code_paths works only here (and in client project)
944-
# it does not work in mixfile
945-
# but at this point we are probably modifying elixir_ls_debugger project
946943
Mix.ProjectStack.post_config(build_path: ".elixir_ls/debugger/build")
947944

948945
Mix.ProjectStack.post_config(

apps/elixir_ls_utils/lib/minimum_version.ex

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,11 @@ defmodule ElixirLS.Utils.MinimumVersion do
1111
end
1212

1313
def check_elixir_version do
14-
if Version.match?(System.version(), ">= 1.12.0") do
15-
otp_release = String.to_integer(System.otp_release())
16-
17-
if Version.match?(System.version(), "< 1.13.0") and otp_release == 24 do
18-
# see https://github.com/elixir-lang/elixir/pull/11158#issuecomment-981583298
19-
{:error,
20-
"Elixir 1.12 is not supported on OTP 24. (Currently running v#{System.version()} on OTP #{otp_release})"}
21-
else
22-
:ok
23-
end
14+
if Version.match?(System.version(), ">= 1.13.0") do
15+
:ok
2416
else
2517
{:error,
26-
"Elixir versions below 1.12.0 are not supported. (Currently running v#{System.version()})"}
18+
"Elixir versions below 1.13.0 are not supported. (Currently running v#{System.version()})"}
2719
end
2820
end
2921
end

apps/language_server/lib/language_server/experimental/code_mod/format.ex

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -52,26 +52,15 @@ defmodule ElixirLS.LanguageServer.Experimental.CodeMod.Format do
5252
try do
5353
true = Code.ensure_loaded?(Mix.Tasks.Format)
5454

55-
if project_dir && Version.match?(System.version(), ">= 1.15.0-dev") do
56-
{formatter_function, options} =
55+
{formatter_function, options} =
56+
if project_dir && Version.match?(System.version(), ">= 1.15.0-dev") do
5757
Mix.Tasks.Format.formatter_for_file(path, root: project_dir)
58-
59-
wrapped_formatter_function = wrap_with_try_catch(formatter_function)
60-
61-
{:ok, wrapped_formatter_function, options}
62-
else
63-
if Version.match?(System.version(), ">= 1.13.0") do
64-
{formatter_function, options} = Mix.Tasks.Format.formatter_for_file(path)
65-
66-
wrapped_formatter_function = wrap_with_try_catch(formatter_function)
67-
68-
{:ok, wrapped_formatter_function, options}
6958
else
70-
options = Mix.Tasks.Format.formatter_opts_for_file(path)
71-
formatter = build_formatter(options)
72-
{:ok, formatter, Mix.Tasks.Format.formatter_opts_for_file(path)}
59+
Mix.Tasks.Format.formatter_for_file(path)
7360
end
74-
end
61+
62+
wrapped_formatter_function = wrap_with_try_catch(formatter_function)
63+
{:ok, wrapped_formatter_function, options}
7564
rescue
7665
e ->
7766
message = Exception.message(e)

apps/language_server/lib/language_server/mix_shell.ex

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,7 @@ defmodule ElixirLS.LanguageServer.MixShell do
5555
true
5656
end
5757
else
58-
# TODO convert to to normal call when we require elixir 1.13
59-
if Version.match?(System.version(), "< 1.13.0") do
60-
apply(Mix.Shell.IO, :yes?, [message])
61-
else
62-
apply(Mix.Shell.IO, :yes?, [message, options])
63-
end
58+
Mix.Shell.IO.yes(message, options)
6459
end
6560
end
6661
end

apps/language_server/lib/language_server/providers/execute_command/get_ex_unit_tests_in_file.ex

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,11 @@ defmodule ElixirLS.LanguageServer.Providers.ExecuteCommand.GetExUnitTestsInFile
44

55
@impl ElixirLS.LanguageServer.Providers.ExecuteCommand
66
def execute([uri], _state) do
7-
if Version.match?(System.version(), ">= 1.13.0") do
8-
path = SourceFile.Path.from_uri(uri)
7+
path = SourceFile.Path.from_uri(uri)
98

10-
case ExUnitTestTracer.get_tests(path) do
11-
{:ok, tests} -> {:ok, tests}
12-
{:error, reason} -> {:error, :server_error, inspect(reason)}
13-
end
14-
else
15-
{:error, :server_error, "This feature requires elixir >= 1.13"}
9+
case ExUnitTestTracer.get_tests(path) do
10+
{:ok, tests} -> {:ok, tests}
11+
{:error, reason} -> {:error, :server_error, inspect(reason)}
1612
end
1713
end
1814
end

apps/language_server/lib/language_server/providers/execute_command/manipulate_pipes/ast.ex

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -72,43 +72,7 @@ defmodule ElixirLS.LanguageServer.Providers.ExecuteCommand.ManipulatePipes.AST d
7272
end
7373

7474
def ast_to_string(ast) do
75-
Macro.to_string(ast, fn node, rendered ->
76-
case sigil_call(node, fn _a, s -> s end) do
77-
{:ok, parsed_sigil} -> parsed_sigil
78-
_ -> rendered
79-
end
80-
end)
81-
end
82-
83-
# TODO: remove this when only Elixir >= 1.13 is supported
84-
# The code below is copied from the Elixir source-code because a
85-
# fix which was introduced in
86-
# https://github.com/elixir-lang/elixir/commit/88d82f059756ed1eb56a562fae7092f77d941de8
87-
# is needed for proper treatment of sigils in our use-case.
88-
defp sigil_call({sigil, meta, [{:<<>>, _, _} = parts, args]} = ast, fun)
89-
when is_atom(sigil) and is_list(args) do
90-
delimiter = Keyword.get(meta, :delimiter, "\"")
91-
{left, right} = delimiter_pair(delimiter)
92-
93-
case Atom.to_string(sigil) do
94-
<<"sigil_", name>> when name >= ?A and name <= ?Z ->
95-
args = sigil_args(args, fun)
96-
{:<<>>, _, [binary]} = parts
97-
formatted = <<?~, name, left::binary, binary::binary, right::binary, args::binary>>
98-
{:ok, fun.(ast, formatted)}
99-
100-
<<"sigil_", name>> when name >= ?a and name <= ?z ->
101-
args = sigil_args(args, fun)
102-
formatted = "~" <> <<name>> <> interpolate(parts, left, right) <> args
103-
{:ok, fun.(ast, formatted)}
104-
105-
_ ->
106-
:error
107-
end
108-
end
109-
110-
defp sigil_call(_other, _fun) do
111-
:error
75+
Macro.to_string(ast)
11276
end
11377

11478
defp delimiter_pair("["), do: {"[", "]"}

apps/language_server/lib/language_server/providers/folding_range/token.ex

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,7 @@ defmodule ElixirLS.LanguageServer.Providers.FoldingRange.Token do
3333
{:sigil, {b1, b2, b3}, _, _, _, _, delimiter} ->
3434
{:sigil, {b1 - 1, b2 - 1, b3}, delimiter}
3535

36-
# Older versions of Tokenizer.tokenize/1
37-
# TODO check which version
38-
{:sigil, {b1, b2, b3}, _, _, _, delimiter} ->
39-
{:sigil, {b1 - 1, b2 - 1, b3}, delimiter}
36+
# TODO check multichar sigils
4037

4138
{:bin_heredoc, {b1, b2, b3}, _, _} ->
4239
{:bin_heredoc, {b1 - 1, b2 - 1, b3}, nil}

apps/language_server/lib/language_server/source_file.ex

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -240,13 +240,9 @@ defmodule ElixirLS.LanguageServer.SourceFile do
240240
true = Code.ensure_loaded?(Mix.Tasks.Format)
241241

242242
if project_dir && Version.match?(System.version(), ">= 1.15.0-dev") do
243-
{:ok, apply(Mix.Tasks.Format, :formatter_for_file, [path, [root: project_dir]])}
243+
{:ok, Mix.Tasks.Format.formatter_for_file(path, root: project_dir)}
244244
else
245-
if Version.match?(System.version(), ">= 1.13.0") do
246-
{:ok, apply(Mix.Tasks.Format, :formatter_for_file, [path])}
247-
else
248-
{:ok, {nil, apply(Mix.Tasks.Format, :formatter_opts_for_file, [path])}}
249-
end
245+
{:ok, Mix.Tasks.Format.formatter_for_file(path)}
250246
end
251247
rescue
252248
e ->

apps/language_server/lib/language_server/tracer.ex

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -230,12 +230,8 @@ defmodule ElixirLS.LanguageServer.Tracer do
230230
end
231231

232232
attributes =
233-
if Version.match?(System.version(), ">= 1.13.0") do
234-
for name <- apply(Module, :attributes_in, [module]) do
235-
{name, Module.get_attribute(module, name)}
236-
end
237-
else
238-
[]
233+
for name <- apply(Module, :attributes_in, [module]) do
234+
{name, Module.get_attribute(module, name)}
239235
end
240236

241237
%{
@@ -282,7 +278,7 @@ defmodule ElixirLS.LanguageServer.Tracer do
282278
end
283279

284280
def get_trace do
285-
# TODO get by calee
281+
# TODO get by callee
286282
:ets.tab2list(table_name(:calls))
287283
|> Enum.map(fn {{callee, file, line, column}, _} ->
288284
%{

0 commit comments

Comments
 (0)