diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 26bb9152a..17898bc69 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -18,6 +18,8 @@ jobs: run: mix deps.get - name: Check formatting run: mix format --check-formatted + - name: Check warnings + run: mix compile --warnings-as-errors - name: Run tests run: elixir --cookie "COOKIEFORTESTS" -S mix test - name: Install Node diff --git a/lib/livebook/completion.ex b/lib/livebook/completion.ex index b01db3129..8b1c27c89 100644 --- a/lib/livebook/completion.ex +++ b/lib/livebook/completion.ex @@ -676,7 +676,15 @@ defmodule Livebook.Completion do def cursor_context(charlist, opts) when is_list(charlist) and is_list(opts) do chunked = Enum.chunk_by(charlist, &(&1 == ?\n)) - case List.last(chunked, []) do + # TODO: Use List.last/2 on Elixir v1.12+ + last = + if chunked == [] do + [] + else + List.last(chunked) + end + + case last do [?\n | _] -> do_cursor_context([], opts) rest -> do_cursor_context(rest, opts) end