1use mlua::{FromLua, IntoLua};
2
3#[derive(Debug, Clone, Copy, PartialEq)]
4pub enum Pane {
5 Hex,
6 View,
7}
8
9impl IntoLua for Pane {
10 fn into_lua(self, lua: &mlua::Lua) -> mlua::Result<mlua::Value> {
11 Ok(mlua::Value::String(match self {
12 Pane::Hex => lua.create_string("hex").unwrap(),
13 Pane::View => lua.create_string("view").unwrap(),
14 }))
15 }
16}
17
18impl FromLua for Pane {
19 fn from_lua(value: mlua::Value, _lua: &mlua::Lua) -> mlua::Result<Self> {
20 let value = value.to_string()?;
21 match value.as_str() {
22 "hex" => Ok(Pane::Hex),
23 "view" => Ok(Pane::View),
24 _ => Err(mlua::Error::external("Invalid Pane")),
25 }
26 }
27}