From d634a8ba2820fefc95acd8622e7b41b3bd590819 Mon Sep 17 00:00:00 2001 From: Mitchell Hanberg Date: Mon, 17 Jul 2023 22:37:10 -0400 Subject: [PATCH] fix: clamp diagnostic line number to 0 --- lib/next_ls/extensions/elixir_extension.ex | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/next_ls/extensions/elixir_extension.ex b/lib/next_ls/extensions/elixir_extension.ex index 8491554a..e6f894ef 100644 --- a/lib/next_ls/extensions/elixir_extension.ex +++ b/lib/next_ls/extensions/elixir_extension.ex @@ -57,11 +57,11 @@ defmodule NextLS.ElixirExtension do defp range({start_line, start_col, end_line, end_col}) do %GenLSP.Structures.Range{ start: %GenLSP.Structures.Position{ - line: start_line - 1, + line: clamp(start_line - 1), character: start_col - 1 }, end: %GenLSP.Structures.Position{ - line: end_line - 1, + line: clamp(end_line - 1), character: end_col - 1 } } @@ -70,11 +70,11 @@ defmodule NextLS.ElixirExtension do defp range({line, col}) do %GenLSP.Structures.Range{ start: %GenLSP.Structures.Position{ - line: line - 1, + line: clamp(line - 1), character: col - 1 }, end: %GenLSP.Structures.Position{ - line: line - 1, + line: clamp(line - 1), character: 999 } } @@ -83,13 +83,15 @@ defmodule NextLS.ElixirExtension do defp range(line) do %GenLSP.Structures.Range{ start: %GenLSP.Structures.Position{ - line: line - 1, + line: clamp(line - 1), character: 0 }, end: %GenLSP.Structures.Position{ - line: line - 1, + line: clamp(line - 1), character: 999 } } end + + def clamp(line), do: max(line, 0) end