macvim-dev / macvim-dev/macvim

Feature Request: Support Shift-F10 to invoke right-click context menu

オープン
#541 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

Feature Request
主要言語
Vim Script
スター
7.9k
フォーク
691
PR マージ指標
30日以内にマージされた PR はありません

説明

Apologies if this is a duplicate. I searched and couldn't find an existing issue.

Unfortunately, macOS doesn't natively support invoking the right-click context menu from the keyboard as is possible with the menu keyboard button or SHIFT-F10 on Windows and Linux. The solution associated with the accessibility feature to invoke CTRL-5(number pad) is insufficient because it opens the context menu where the mouse pointer is, not where the text cursor is.

However, third party applications such as Eclipse and IntelliJ on macOS do support this feature with custom application code. Eclipse implemented such functionality in this bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=219305

This feature request covers adding this functionality to MacVim via the SHIFT-F10 keyboard combination. To be clear, the behaviour is to open the context menu at the keyboard arrow key cursor location, as opposed to the mouse cursor location. For example, this means when moving a keyboard cursor over a misspelled word, the context menu will display with, among other things, suggested spelling corrections for that word, irrespective of where the mouse pointer happens to be.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

この issue には、ソースファイル、テスト、エントリーポイントが記載されていません。まず、MacVim における Shift-F10 の処理と、既存のコンテキストメニュー呼び出しを見つけ、次にキーボードカーソルの位置がどのように決定されるかを追跡してください。Shift-F10 がマウスポインターではなくキーボードカーソルの位置でコンテキストメニューを開き、スペルミスのある単語についても同様に動作すれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
macos, vim
領域
accessibility, desktop
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。