diff options
Diffstat (limited to 'lib/chessh/ssh/client/menu.ex')
-rw-r--r-- | lib/chessh/ssh/client/menu.ex | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/lib/chessh/ssh/client/menu.ex b/lib/chessh/ssh/client/menu.ex index 70cbcce..6eb2bdd 100644 --- a/lib/chessh/ssh/client/menu.ex +++ b/lib/chessh/ssh/client/menu.ex @@ -35,11 +35,11 @@ defmodule Chessh.SSH.Client.Menu do :up -> %State{ state - | selected: wrap_around(selected, -1, length(@options)) + | selected: Utils.wrap_around(selected, -1, length(@options)) } :down -> - %State{state | selected: wrap_around(selected, 1, length(@options))} + %State{state | selected: Utils.wrap_around(selected, 1, length(@options))} # :return -> # {_, new_state} = Enum.at(@options, selected) @@ -87,9 +87,4 @@ defmodule Chessh.SSH.Client.Menu do end ) ++ [ANSI.home()] end - - defp wrap_around(index, delta, length) do - calc = index + delta - if(calc < 0, do: length, else: 0) + rem(calc, length) - end end |