mirror of
https://codeberg.org/unspeaker/tengri.git
synced 2026-08-07 14:16:56 +02:00
fix bsp arg2
This commit is contained in:
parent
b09719993a
commit
39d3dacf1f
5 changed files with 10 additions and 8 deletions
|
|
@ -42,7 +42,9 @@ impl_keywords!(Tui, XYWH<u16>, State [
|
||||||
kw_push,
|
kw_push,
|
||||||
kw_tui_text,
|
kw_tui_text,
|
||||||
kw_tui_fg,
|
kw_tui_fg,
|
||||||
kw_tui_bg
|
kw_tui_bg,
|
||||||
|
kw_color_g,
|
||||||
|
kw_color_rgb,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
impl Interpret<Tui, Option<XYWH<u16>>> for State {
|
impl Interpret<Tui, Option<XYWH<u16>>> for State {
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,6 @@ fn_kw_layout!(kw_align |state, output, expr| {
|
||||||
draw(move|output: &mut O|{state.interpret(output, &expr.tail().head())}).align(
|
draw(move|output: &mut O|{state.interpret(output, &expr.tail().head())}).align(
|
||||||
eval_enum!("align", output, state,
|
eval_enum!("align", output, state,
|
||||||
expr.head().src()?.unwrap_or_default().split("/").skip(1).next(),
|
expr.head().src()?.unwrap_or_default().split("/").skip(1).next(),
|
||||||
expr.tail().head(),
|
|
||||||
Azimuth {
|
Azimuth {
|
||||||
"c" => C, "x" => X, "y" => Y,
|
"c" => C, "x" => X, "y" => Y,
|
||||||
"n" => N, "s" => S, "e" => E, "w" => W,
|
"n" => N, "s" => S, "e" => E, "w" => W,
|
||||||
|
|
@ -131,7 +130,7 @@ fn_kw_layout!(kw_split |state, output, expr| {
|
||||||
let head = expr.head();
|
let head = expr.head();
|
||||||
let mut frags = head.src()?.unwrap_or_default().split("/");
|
let mut frags = head.src()?.unwrap_or_default().split("/");
|
||||||
Ok(matches!(frags.next(), Some("bsp")).then(||{
|
Ok(matches!(frags.next(), Some("bsp")).then(||{
|
||||||
eval_enum!("bsp", output, state, frags.next(), expr.tail().head()?, Split {
|
eval_enum!("bsp", output, state, frags.next(), Split {
|
||||||
"n" => North,
|
"n" => North,
|
||||||
"s" => South,
|
"s" => South,
|
||||||
"e" => East,
|
"e" => East,
|
||||||
|
|
@ -140,10 +139,10 @@ fn_kw_layout!(kw_split |state, output, expr| {
|
||||||
"b" => Below
|
"b" => Below
|
||||||
}).stack(
|
}).stack(
|
||||||
draw(move|output: &mut O|{
|
draw(move|output: &mut O|{
|
||||||
state.interpret(output, &expr.tail().tail().head()?)
|
state.interpret(output, &expr.tail().head()?)
|
||||||
}),
|
}),
|
||||||
draw(move|output: &mut O|{
|
draw(move|output: &mut O|{
|
||||||
state.interpret(output, &expr.tail().tail().tail().head()?)
|
state.interpret(output, &expr.tail().tail().head()?)
|
||||||
}),
|
}),
|
||||||
).draw(output)
|
).draw(output)
|
||||||
}).transpose()?.flatten())
|
}).transpose()?.flatten())
|
||||||
|
|
|
||||||
|
|
@ -182,7 +182,7 @@ pub trait AsMutOpt<T> { fn as_mut_opt (&mut self) -> Option<&mut T>; }
|
||||||
/// Some layout operations exist in multiple variants that take a single argument.
|
/// Some layout operations exist in multiple variants that take a single argument.
|
||||||
/// Their handling in [eval_view] is uniform and goes like this:
|
/// Their handling in [eval_view] is uniform and goes like this:
|
||||||
macro_rules! eval_enum ((
|
macro_rules! eval_enum ((
|
||||||
$name:literal, $output:ident, $state:ident, $value:expr, $arg0:expr, $Enum:ident {
|
$name:literal, $output:ident, $state:ident, $value:expr, $Enum:ident {
|
||||||
$($v:literal => $V:ident),* $(,)?
|
$($v:literal => $V:ident),* $(,)?
|
||||||
}
|
}
|
||||||
) => {{
|
) => {{
|
||||||
|
|
|
||||||
|
|
@ -500,7 +500,7 @@ impl<T: Draw<Tui>> Draw<Tui> for ShowSizeOf<T> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "eval")] fn_kw_layout_tui!(kw_tui_text |state, output, expr| {
|
#[cfg(feature = "eval")] fn_kw_layout_tui!(kw_tui_text |_state, output, expr| {
|
||||||
Ok(matches!(expr.head()?, Some("text")).then(||{
|
Ok(matches!(expr.head()?, Some("text")).then(||{
|
||||||
if let Some(src) = expr.tail().src()? {
|
if let Some(src) = expr.tail().src()? {
|
||||||
src.draw(output)
|
src.draw(output)
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,8 @@ impl Tui {
|
||||||
if let Some(expr) = src.expr()? {
|
if let Some(expr) = src.expr()? {
|
||||||
match (expr.head()?, expr.tail()?) {
|
match (expr.head()?, expr.tail()?) {
|
||||||
(Some("g"), Some(tail)) => {
|
(Some("g"), Some(tail)) => {
|
||||||
let n: u8 = state.namespace(tail.head().map_err(Into::into))?.ok_or(LanguageError::Domain("not gray"))?;
|
let n: u8 = state.namespace(tail.head().map_err(Into::into))?
|
||||||
|
.ok_or(LanguageError::Domain("not gray"))?;
|
||||||
Ok(Some(Color::Rgb(n, n, n)))
|
Ok(Some(Color::Rgb(n, n, n)))
|
||||||
},
|
},
|
||||||
(Some("rgb"), Some(tail)) => {
|
(Some("rgb"), Some(tail)) => {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue