From 9f30f77aee5ea59221417703c84d872678df11a0 Mon Sep 17 00:00:00 2001 From: unspeaker Date: Wed, 30 Apr 2025 21:50:35 +0300 Subject: [PATCH] help: display all keybinds --- crates/app/src/model.rs | 2 +- crates/app/src/view.rs | 4 ++-- crates/cli/tek.rs | 46 +++++++++++++++++++---------------------- deps/tengri | 2 +- 4 files changed, 25 insertions(+), 29 deletions(-) diff --git a/crates/app/src/model.rs b/crates/app/src/model.rs index 2dc9f88b..7b13bfcf 100644 --- a/crates/app/src/model.rs +++ b/crates/app/src/model.rs @@ -53,7 +53,7 @@ pub struct Tek { // Modal overlay pub modal: Option, // Input keymap - pub keys: InputMap<'static, Self, TekCommand, TuiIn, SourceIter<'static>> + pub keys: InputMap<'static, Self, TekCommand, TuiIn, TokenIter<'static>> } impl Tek { diff --git a/crates/app/src/view.rs b/crates/app/src/view.rs index 22a66828..dc253604 100644 --- a/crates/app/src/view.rs +++ b/crates/app/src/view.rs @@ -41,8 +41,8 @@ impl Tek { Bsp::s(Tui::bold(true, "tek!"), Bsp::s("", Map::south(1, options, option))) } - fn view_modal_help (&self) -> impl Content { - let bindings = ||TokenIter::new(include_str!("../../../config/keys_groovebox.edn")) + fn view_modal_help (&self) -> impl Content + use<'_> { + let bindings = ||self.keys.layers.iter().flat_map(|a|a.1) .filter_map(|x|if let Value::Exp(_, iter)=x.value{ Some(iter) } else { diff --git a/crates/cli/tek.rs b/crates/cli/tek.rs index d686cabe..d654a888 100644 --- a/crates/cli/tek.rs +++ b/crates/cli/tek.rs @@ -120,40 +120,36 @@ impl Cli { }), keys: match mode { LaunchMode::Sampler => InputMap::default() - .layer(SourceIter(include_str!("../../config/keys_global.edn"))) - .layer(SourceIter(include_str!("../../config/keys_sampler.edn"))), + .layer(SourceIter(include_str!("../../config/keys_global.edn")).into()) + .layer(SourceIter(include_str!("../../config/keys_sampler.edn")).into()), LaunchMode::Clock => InputMap::default() - .layer(SourceIter(include_str!("../../config/keys_global.edn"))) - .layer(SourceIter(include_str!("../../config/keys_clock.edn"))), + .layer(SourceIter(include_str!("../../config/keys_global.edn")).into()) + .layer(SourceIter(include_str!("../../config/keys_clock.edn")).into()), LaunchMode::Sequencer => InputMap::default() - .layer(SourceIter(include_str!("../../config/keys_global.edn"))) - .layer(SourceIter(include_str!("../../config/keys_editor.edn"))) - .layer(SourceIter(include_str!("../../config/keys_clock.edn"))) - .layer(SourceIter(include_str!("../../config/keys_sequencer.edn"))), + .layer(SourceIter(include_str!("../../config/keys_global.edn")).into()) + .layer(SourceIter(include_str!("../../config/keys_editor.edn")).into()) + .layer(SourceIter(include_str!("../../config/keys_clock.edn")).into()) + .layer(SourceIter(include_str!("../../config/keys_sequencer.edn")).into()), LaunchMode::Groovebox => InputMap::default() - .layer(SourceIter(include_str!("../../config/keys_global.edn"))) - .layer(SourceIter(include_str!("../../config/keys_editor.edn"))) - .layer(SourceIter(include_str!("../../config/keys_clock.edn"))) - .layer(SourceIter(include_str!("../../config/keys_sequencer.edn"))) - .layer(SourceIter(include_str!("../../config/keys_groovebox.edn"))), + .layer(SourceIter(include_str!("../../config/keys_global.edn")).into()) + .layer(SourceIter(include_str!("../../config/keys_editor.edn")).into()) + .layer(SourceIter(include_str!("../../config/keys_clock.edn")).into()) + .layer(SourceIter(include_str!("../../config/keys_sequencer.edn")).into()) + .layer(SourceIter(include_str!("../../config/keys_groovebox.edn")).into()), LaunchMode::Arranger {..} => InputMap::default() - .layer( - SourceIter(include_str!("../../config/keys_global.edn"))) + .layer(SourceIter(include_str!("../../config/keys_global.edn")).into()) .layer_if(|state: &Tek|state.is_editing(), - SourceIter(include_str!("../../config/keys_editor.edn"))) + SourceIter(include_str!("../../config/keys_editor.edn")).into()) .layer_if(|state: &Tek|state.selected.is_clip(), - SourceIter(include_str!("../../config/keys_clip.edn"))) + SourceIter(include_str!("../../config/keys_clip.edn")).into()) .layer_if(|state: &Tek|state.selected.is_track(), - SourceIter(include_str!("../../config/keys_track.edn"))) + SourceIter(include_str!("../../config/keys_track.edn")).into()) .layer_if(|state: &Tek|state.selected.is_scene(), - SourceIter(include_str!("../../config/keys_scene.edn"))) + SourceIter(include_str!("../../config/keys_scene.edn")).into()) .layer_if(|state: &Tek|state.selected.is_mix(), - SourceIter(include_str!("../../config/keys_mix.edn"))) - .layer( - SourceIter(include_str!("../../config/keys_clock.edn"))) - .layer( - SourceIter(include_str!("../../config/keys_arranger.edn"))) - , + SourceIter(include_str!("../../config/keys_mix.edn")).into()) + .layer(SourceIter(include_str!("../../config/keys_clock.edn")).into()) + .layer(SourceIter(include_str!("../../config/keys_arranger.edn")).into()), _ => todo!("{mode:?}"), }, pool: match mode { diff --git a/deps/tengri b/deps/tengri index 4ec51d5b..44ebe17c 160000 --- a/deps/tengri +++ b/deps/tengri @@ -1 +1 @@ -Subproject commit 4ec51d5b694c14ccf617ec4538da04089b17ab92 +Subproject commit 44ebe17c665b3a65e7a3a0020eff290093fc7ed2