feat: add customizable key bindings editor#35
Conversation
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 8 minutes and 53 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughAdds a context/action keymap subsystem with persistent Changes
Sequence Diagram(s)sequenceDiagram
actor User
participant HomeSettings as "Home Settings Overlay"
participant Editor as "KeymapEditor (ScreenKeymap)"
participant Config as "Config Storage (config.toml)"
participant Resolver as "Keymap Resolver"
participant App as "App State (m.keymap)"
User->>HomeSettings: Select "Key Bindings"
HomeSettings->>Editor: Open editor
Editor->>User: Show contexts/actions/current & default keys
User->>Editor: Record key(s)
Editor->>Editor: Collect token(s)
Editor->>Resolver: Validate token(s)
alt Conflict or Validation Error
Resolver-->>Editor: Conflict/Error
Editor->>User: Show conflict dialog / prompt
else Validation OK
Resolver-->>Editor: OK
Editor->>Editor: Update draft
end
User->>Editor: Save
Editor->>Config: Persist keymap + settings draft
Config->>Resolver: Resolve & canonicalize
Resolver-->>Config: Normalized overrides
Config->>App: Apply settings & resolved keymap
App->>User: Render updated help/key guides (no restart)
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 441 |
| Duplication | 14 |
TIP This summary will be updated as you push new changes. Give us feedback
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 22 out of 24 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…sufficient Agent-Logs-Url: https://github.com/harumiWeb/eitango/sessions/b2e70046-760e-467f-a2fe-31fada4eef07 Co-authored-by: harumiWeb <164025931+harumiWeb@users.noreply.github.com>
Summary
config.toml[keymap]supportEscfrom recording modeDetails
internal/keymapas the source of truth for contexts, actions, defaults, validation, and save canonicalizationhelp.backandhelp.quitEsctoCtrl+GsoEscitself can be assigneddocs/specs/keymap-settings.mdVerification
go test ./...Closes #34
Summary by CodeRabbit
New Features
Documentation