Support Ctrl+N / Ctrl+P for list navigation

Open Beginner friendly
#58 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Quiet
Tech stack
go
Domain
cli

Research direction

Start in the gh stack CLI's stack and prompt navigation entry points, tracing where arrow-key selection movement is handled. Add Ctrl+N and Ctrl+P navigation with the same direction and behavior as the arrow keys, then verify both bindings move selection correctly.

Written by the indexing model from the issue text.

Description

feature request topic: cli - general
Summary

When navigating stacks and prompts, only the arrow keys work for moving the selection up and down. Ctrl+N / Ctrl+P do not work as alternatives.

Expected behavior

Support Unix / editor-style navigation so that:

  • Ctrl+N moves to the next item (down)
  • Ctrl+P moves to the previous item (up)

This matches common behavior in Vim, Emacs, VS Code, and many terminal UIs, and lets users keep their hands on the home row while working with gh stack.

Optionally, supporting Ctrl+J / Ctrl+K for down/up (or allowing these to be configured) would make the experience even more familiar for Vim users.

Actual behavior

Arrow keys move the selection, but Ctrl+N / Ctrl+P have no effect.

Environment
  • gh version: 2.90.0
  • gh stack version: 0.0.2
Dominant language
Go
Stars
1.5k
Forks
73
Avg merge
1d 8h
Merged PRs (30d)
7

Contributor guide

Open the contributing guide

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 github/gh-stack

All issues in github/gh-stack

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.