Skip to content

Add some keybinds info when using mount plugin #132

@moshpirit

Description

@moshpirit

yazi --debug output

Yazi
    Version: 25.5.31 (Arch Linux 2025-06-01)
    Debug  : false
    Triple : x86_64-unknown-linux-gnu (linux-x86_64)
    Rustc  : 1.87.0 (17067e9a 2025-05-09)

Ya
    Version: 25.5.31 (Arch Linux 2025-06-01)

Emulator
    TERM                : Some("xterm-256color")
    TERM_PROGRAM        : None
    TERM_PROGRAM_VERSION: None
    Brand.from_env      : Some(Kitty)
    Emulator.detect     : Emulator { kind: Left(Kitty), light: false, csi_16t: (9, 20), force_16t: false }

Adapter
    Adapter.matches    : Kgp
    Dimension.available: Dimension { rows: 50, columns: 213, width: 1917, height: 1000 }

Desktop
    XDG_SESSION_TYPE           : Some("wayland")
    WAYLAND_DISPLAY            : Some("wayland-1")
    DISPLAY                    : Some(":1")
    SWAYSOCK                   : Some("/run/user/1000/sway-ipc.1000.1029.sock")
    HYPRLAND_INSTANCE_SIGNATURE: None
    WAYFIRE_SOCKET             : None

SSH
    shared.in_ssh_connection: false

WSL
    WSL: false

Variables
    SHELL           : Some("/bin/bash")
    EDITOR          : Some("nvim")
    VISUAL          : None
    YAZI_FILE_ONE   : None
    YAZI_CONFIG_HOME: None
    YAZI_ZOXIDE_OPTS: None
    FZF_DEFAULT_OPTS: Some("--exact --color=16 --ansi --height=100%   --reverse --prompt \'\u{ec0d} \'  --preview \'[[ $(file --mime {}) =~ binary ]] && echo {} is a binary file || (highlight -O ansi -l {} || coderay {} || rougify {} || cat {}) 2> /dev/null | head -500\'")

Text Opener
    default     : Some(OpenerRule { run: "$TERMINAL nvim \"$@\" &", block: false, orphan: true, desc: "Open in another terminal", for: None, spread: true })
    block-create: Some(OpenerRule { run: "${EDITOR:-vi} \"$@\"", block: true, orphan: false, desc: "Open here", for: None, spread: true })
    block-rename: Some(OpenerRule { run: "${EDITOR:-vi} \"$@\"", block: true, orphan: false, desc: "Open here", for: None, spread: true })

Multiplexers
    TMUX               : false
    tmux version       : tmux 3.5a
    tmux build flags   : enable-sixel=Unknown
    ZELLIJ_SESSION_NAME: None
    Zellij version     : 0.42.2

Dependencies
    file          : 5.46
    ueberzugpp    : No such file or directory (os error 2)
    ffmpeg/ffprobe: 7.1.1 / 7.1.1
    pdftoppm      : 25.06.0
    magick        : 7.1.1-47
    fzf           : 0.62.0
    fd/fdfind     : 10.2.0 / No such file or directory (os error 2)
    rg            : 14.1.1
    chafa         : 1.16.0
    zoxide        : 0.9.8
    7zz/7z        : No such file or directory (os error 2) / 24.09
    resvg         : No such file or directory (os error 2)
    jq            : 1.8.1

Clipboard
    wl-copy/paste: 2.2.1 / 2.2.1
    xclip        : 0.13
    xsel         : 1.2.1

Routine
    `file -bL --mime-type`: text/plain


See https://yazi-rs.github.io/docs/plugins/overview#debugging on how to enable logging or debug runtime errors.

Please describe the problem you're trying to solve

Using disks is a bit tricky, I think it should be better to use it with some kind of whichkey helper.

Would you be willing to contribute this feature?

  • Yes, I'll give it a shot

Describe the solution you'd like

⚠ This is ChatGPT made, I am not a developer. I checked the code to see that everything feels alright and tested it on my laptop and seems to work perfectly.


On M.keys:
{ on = "~", run = "help" },

Before the return M:

function M.show_help()
	local shortcuts = {
		{ "q", "Quit" },
		{ "k / ↑", "Move up" },
		{ "j / ↓", "Move down" },
		{ "l / →", "Enter and quit" },
		{ "m", "Mount partition" },
		{ "u", "Unmount partition" },
		{ "e", "Eject partition" },
		{ "~", "Show this help" },
	}
	local lines = {}
	for _, pair in ipairs(shortcuts) do
		lines[#lines + 1] = string.format("%-10s : %s", pair[1], pair[2])
	end

	ya.notify {
		title = "Keyboard Shortcuts",
		content = table.concat(lines, "\n"),
		timeout = 10,
		level = "info"
	}
end

Finally, consumer1() should also have this:

elseif run == "help" then
	M.show_help()

Additional context

I have it in a Spanish version, but it is basically this:

Image

Checklist

  • I have searched the existing issues/discussions

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew feature request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions