diff options
author | Simponic <loganhunt@simponic.xyz> | 2023-01-04 00:03:38 -0700 |
---|---|---|
committer | Simponic <loganhunt@simponic.xyz> | 2023-01-04 00:03:38 -0700 |
commit | 93ae544684b29db30c6c65a5ba5e7cb51972123c (patch) | |
tree | 70ea4e1c8fe43a60434d38ec44cb58a9499f3bbc /lib/chessh/ssh/screens/screen.ex | |
parent | 720a110c957a9ac1399ca3d2324b5b2cf8bbf3c6 (diff) | |
download | chessh-93ae544684b29db30c6c65a5ba5e7cb51972123c.tar.gz chessh-93ae544684b29db30c6c65a5ba5e7cb51972123c.zip |
Create a Screen module behaviour, some ascii character arts, handle_input does stuff now
Diffstat (limited to 'lib/chessh/ssh/screens/screen.ex')
-rw-r--r-- | lib/chessh/ssh/screens/screen.ex | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/chessh/ssh/screens/screen.ex b/lib/chessh/ssh/screens/screen.ex new file mode 100644 index 0000000..be6e00e --- /dev/null +++ b/lib/chessh/ssh/screens/screen.ex @@ -0,0 +1,15 @@ +defmodule Chessh.SSH.Client.Screen do + @callback render(state :: Chessh.SSH.Client.State.t() | any()) :: any() + @callback handle_input(action :: any(), state :: Chessh.SSH.Client.State.t()) :: + Chessh.SSH.Client.State.t() + + defmacro __using__(_) do + quote do + @behaviour Chessh.SSH.Client.Screen + + @ascii_chars Application.compile_env!(:chessh, :ascii_chars_json_file) + |> File.read!() + |> Jason.decode!() + end + end +end |