use crate::domain::filter::Tab;
use crate::keymap::Action;
const GIT_HINT_GROUPS: &[(&str, &[Action])] = &[
(
"Open",
&[
Action::Jump,
Action::Open,
Action::GitTool,
Action::JumpCd,
Action::OpenApp,
],
),
(
"Manage",
&[
Action::Add,
Action::Edit,
Action::Delete,
Action::ToggleFav,
Action::Archive,
Action::Slug,
Action::Undo,
],
),
("Backup", &[Action::Zip, Action::ZipAll]),
(
"View",
&[
Action::ToggleSelect,
Action::Filter,
Action::ChangesFilter,
Action::Columns,
Action::Sort,
Action::ToggleSlugs,
Action::CopyPath,
Action::Github,
],
),
(
"Panel",
&[
Action::Preview,
Action::PreviewPosition,
Action::PreviewScrollUp,
Action::PreviewGrow,
],
),
(
"Git",
&[
Action::Reload,
Action::ReloadFetch,
Action::RefreshOne,
Action::RefreshOneFetch,
Action::RepairPath,
Action::Errors,
],
),
];
const ARCHIVE_HINT_GROUPS: &[(&str, &[Action])] = GIT_HINT_GROUPS;
const FILES_HINT_GROUPS: &[(&str, &[Action])] = &[
(
"Open",
&[Action::Jump, Action::Open, Action::JumpCd, Action::OpenApp],
),
(
"Manage",
&[
Action::Add,
Action::Edit,
Action::Delete,
Action::ToggleFav,
Action::Archive,
Action::Slug,
Action::Undo,
],
),
("Backup", &[Action::Zip, Action::ZipAll]),
(
"View",
&[
Action::ToggleSelect,
Action::Filter,
Action::ChangesFilter,
Action::Columns,
Action::Sort,
Action::ToggleSlugs,
Action::CopyPath,
Action::Github,
],
),
(
"Panel",
&[
Action::Preview,
Action::PreviewPosition,
Action::PreviewScrollUp,
Action::PreviewGrow,
],
),
(
"Sections",
&[
Action::ManageSections,
Action::SectionJump,
Action::ReorderUp,
Action::ReorderDown,
],
),
(
"Paths",
&[Action::Reload, Action::RepairPath, Action::Errors],
),
];
pub fn hint_groups(tab: Tab) -> &'static [(&'static str, &'static [Action])] {
match tab {
Tab::GitRepos => GIT_HINT_GROUPS,
Tab::FilesAndFolders => FILES_HINT_GROUPS,
Tab::Archive => ARCHIVE_HINT_GROUPS,
}
}