The entry menu inside a mounted archive offers write back, discard and unmount

Open
#970 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
68/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
rust
Domain
cli

Research direction

Start in src/keymap/menu.rs with EntryFacts and entry_rows, then compare how make menu rows fire commands in src/app/view_state.rs and how archive commands are handled in src/app/archive/command.rs. Add menu rows for write, discard, and unmount with the stated change and capability conditions, routing clicks through the typed command path. Done when right-click and . show the applicable rows inside a mounted archive and each click runs its command.

Written by the indexing model from the issue text.

Description

area:fs area:ui type:feat

The UX 2.0 plan (docs/archive/UX_2_0_PLAN.md §3a) planned a row on the entry menu inside a mounted archive: write back / discard / unmount (:archive write, :archive discard, :archive unmount). Write and discard would show only when the mount has changes, and write only where its Capability allows it. The plan shipped without them: inside a mount, the menu filters out refused rows but offers none of the archive's own operations, so they are reachable only by typing :archive ….

Expected: right-click (or .) on a member of a mounted archive shows those rows, each with its command as its key, applicable as above, and a click runs it through the same path the typed command takes.

Where: src/keymap/menu.rs (EntryFacts, entry_rows); a menu row firing a : command, as the make menu's rows fire :make <target> (HintEntry::Make in src/app/view_state.rs); src/app/archive/command.rs.

Dominant language
Rust
Stars
17
Forks
2
Avg merge
39m
Merged PRs (30d)
413

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Tripstack-Corp/spyc

All issues in Tripstack-Corp/spyc

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.