Skip to content

feat(shell): complete browser-history destinations through configured key bindings #46

Closed

Description

@benbenbang

Parent

Part of #43. Depends on #44 and the browser-style history stack in #36.

Summary

Implement the dependency-free cj key-binding behavior using the generated integration's shell-local browser history.

Interaction

  • invoking the configured chord completes the buffer with a remembered directory without changing directory immediately
  • repeated invocation can move through older history entries while keeping the edit reversible
  • pressing Enter executes the completed command through the normal shell path

Acceptance criteria

  • consume the bounded shell-local history owned by feat(v1): replace downward route with browser-style directory history #36; do not persist or reconstruct it in a cj subprocess
  • preserve the original buffer and current directory until Enter
  • safely quote all supported paths
  • an empty history source advances to the next configured behavior, or shows a clear no-history message when cj is the only behavior
  • cancellation or abandoning the edited line does not consume history
  • completing a path does not itself mutate the ^/v stack
  • behavior is consistent with the browser-style navigation semantics across supported shells
  • tests cover empty, single-entry, multi-entry, repeated-invocation, cancellation, and special-character paths

Delivery

Implemented in #56 and released in 0.4.0 as part of #43.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions