[default_view]

keymap = [
  { keys = ["escape"], command = "escape" },
  { keys = ["ctrl+t"], command = "new_tab" },
  { keys = ["alt+t"], command = "new_tab --cursor" },
  { keys = ["T"], command = "new_tab --current" },
  { keys = ["W"], command = "close_tab" },
  { keys = ["ctrl+w"], command = "close_tab" },
  { keys = ["q"], command = "close_tab" },
  { keys = ["ctrl+c"], command = "quit" },
  { keys = ["Q"], command = "quit --output-current-directory" },

  { keys = ["R"], command = "reload_dirlist" },
  { keys = ["z", "h"], command = "toggle_hidden" },
  { keys = ["ctrl+h"], command = "toggle_hidden" },
  { keys = ["backspace"], command = "toggle_hidden" },
  { keys = ["\t"], command = "tab_switch 1" },
  { keys = ["backtab"], command = "tab_switch -1" },

  { keys = ["alt+1"], command = "tab_switch_index 1" },
  { keys = ["alt+2"], command = "tab_switch_index 2" },
  { keys = ["alt+3"], command = "tab_switch_index 3" },
  { keys = ["alt+4"], command = "tab_switch_index 4" },
  { keys = ["alt+5"], command = "tab_switch_index 5" },

  { keys = ["1"], command = "numbered_command 1" },
  { keys = ["2"], command = "numbered_command 2" },
  { keys = ["3"], command = "numbered_command 3" },
  { keys = ["4"], command = "numbered_command 4" },
  { keys = ["5"], command = "numbered_command 5" },
  { keys = ["6"], command = "numbered_command 6" },
  { keys = ["7"], command = "numbered_command 7" },
  { keys = ["8"], command = "numbered_command 8" },
  { keys = ["9"], command = "numbered_command 9" },

  # arrow keys
  { keys = ["arrow_up"], command = "cursor_move_up" },
  { keys = ["arrow_down"], command = "cursor_move_down" },
  { keys = ["arrow_left"], command = "cd .." },
  { keys = ["arrow_right"], command = "open" },
  { keys = ["\n"], command = "open" },
  { keys = ["home"], command = "cursor_move_home" },
  { keys = ["end"], command = "cursor_move_end" },
  { keys = ["page_up"], command = "cursor_move_page_up" },
  { keys = ["page_down"], command = "cursor_move_page_down" },
  { keys = ["ctrl+u"], command = "cursor_move_page_up 0.5" },
  { keys = ["ctrl+d"], command = "cursor_move_page_down 0.5" },

  # vim-like keybindings
  { keys = ["j"], command = "cursor_move_down" },
  { keys = ["k"], command = "cursor_move_up" },
  { keys = ["h"], command = "cd .." },
  { keys = ["l"], command = "open" },
  { keys = ["g", "g"], command = "cursor_move_home" },
  { keys = ["G"], command = "cursor_move_end" },
  { keys = ["r"], command = "open_with" },

  { keys = ["H"], command = "cursor_move_page_home" },
  { keys = ["L"], command = "cursor_move_page_middle" },
  { keys = ["M"], command = "cursor_move_page_end" },

  { keys = ["["], command = "parent_cursor_move_up" },
  { keys = ["]"], command = "parent_cursor_move_down" },

  { keys = ["c", "d"], command = ":cd " },
  { keys = ["d", "d"], command = "cut_files" },
  { keys = ["y", "y"], command = "copy_files" },
  { keys = ["y", "n"], command = "copy_filename" },
  { keys = ["y", "."], command = "copy_filename_without_extension" },
  { keys = ["y", "p"], command = "copy_filepath" },
  { keys = ["y", "d"], command = "copy_dirpath" },

  { keys = ["p", "l"], command = "symlink_files --relative=false" },
  { keys = ["p", "L"], command = "symlink_files --relative=true" },

  { keys = ["delete"], command = "delete_files" },
  { keys = ["d", "D"], command = "delete_files" },

  { keys = ["p", "p"], command = "paste_files" },
  { keys = ["p", "o"], command = "paste_files --overwrite=true" },

  { keys = ["a"], command = "rename_append" },
  { keys = ["A"], command = "rename_prepend" },

  { keys = ["f", "t"], command = ":touch " },

  { keys = [" "], command = "select --toggle=true" },
  { keys = ["t"], command = "select --all=true --toggle=true" },
  { keys = ["V"], command = "toggle_visual" },

  { keys = ["w"], command = "show_tasks --exit-key=w" },
  { keys = ["b", "b"], command = "bulk_rename" },
  { keys = ["="], command = "set_mode" },

  { keys = [":"], command = ":" },
  { keys = [";"], command = ":" },

  { keys = ["'"], command = ":shell " },
  { keys = ["m", "k"], command = ":mkdir " },
  { keys = ["c", "w"], command = ":rename " },

  { keys = ["/"], command = ":search " },
  { keys = ["|"], command = ":search_inc " },
  { keys = ["\\"], command = ":search_glob " },
  { keys = ["ctrl+f"], command = "search_fzf" },
  { keys = ["C"], command = "subdir_fzf" },

  { keys = ["n"], command = "search_next" },
  { keys = ["N"], command = "search_prev" },

  { keys = ["s", "r"], command = "sort reverse" },
  { keys = ["s", "l"], command = "sort lexical" },
  { keys = ["s", "m"], command = "sort mtime" },
  { keys = ["s", "n"], command = "sort natural" },
  { keys = ["s", "s"], command = "sort size" },
  { keys = ["s", "e"], command = "sort ext" },

  { keys = ["m", "s"], command = "linemode size" },
  { keys = ["m", "m"], command = "linemode mtime" },
  { keys = ["m", "M"], command = "linemode sizemtime" },

  { keys = ["g", "r"], command = "cd /" },
  { keys = ["g", "c"], command = "cd ~/.config" },
  { keys = ["g", "d"], command = "cd ~/Downloads" },
  { keys = ["g", "e"], command = "cd /etc" },
  { keys = ["g", "h"], command = "cd ~/" },
  { keys = ["g", "f"], command = "cd ~/Flakes" },
  { keys = ["?"], command = "help" },

  # `Shift + s` enter shell 
  { keys = ["S"], command = "shell fish" },
  #youtube-dl 
  { keys = ["y", "a"], command = ":shell yt-dlp -x --audio-format mp3 " },
  { keys = ["y", "v"], command = ":shell yt-dlp -x -ic " },
]

[task_view]

keymap = [
  # arrow keys
  { keys = ["arrow_up"], command = "cursor_move_up" },
  { keys = ["arrow_down"], command = "cursor_move_down" },
  { keys = ["home"], command = "cursor_move_home" },
  { keys = ["end"], command = "cursor_move_end" },

  # vim-like keybindings
  { keys = ["j"], command = "cursor_move_down" },
  { keys = ["k"], command = "cursor_move_up" },
  { keys = ["g", "g"], command = "cursor_move_home" },
  { keys = ["G"], command = "cursor_move_end" },

  { keys = ["w"], command = "show_tasks" },
  { keys = ["escape"], command = "show_tasks" },
]

[help_view]

keymap = [
  # arrow keys
  { keys = ["arrow_up"], command = "cursor_move_up" },
  { keys = ["arrow_down"], command = "cursor_move_down" },
  { keys = ["home"], command = "cursor_move_home" },
  { keys = ["end"], command = "cursor_move_end" },

  # vim-like keybindings
  { keys = ["j"], command = "cursor_move_down" },
  { keys = ["k"], command = "cursor_move_up" },
  { keys = ["g", "g"], command = "cursor_move_home" },
  { keys = ["G"], command = "cursor_move_end" },

  { keys = ["w"], command = "show_tasks" },
  { keys = ["escape"], command = "show_tasks" },
]
