Skip to content

Add JSON configuration support for key bindings and actions#22

Merged
sile merged 14 commits intomainfrom
config
Aug 29, 2025
Merged

Add JSON configuration support for key bindings and actions#22
sile merged 14 commits intomainfrom
config

Conversation

@sile
Copy link
Copy Markdown
Owner

@sile sile commented Aug 29, 2025

No description provided.

@sile sile requested a review from Copilot August 29, 2025 13:01
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds comprehensive JSON configuration support to the application, replacing hardcoded key bindings and actions with a flexible configuration system. The changes introduce an action-based input handling system with customizable keybindings and dynamic legend generation.

  • Add JSON configuration system with Action enum and Config type alias for managing keybindings and actions
  • Refactor input handling from hardcoded key patterns to action-based system using configuration files
  • Replace command-line hide-legend option with JSON-configurable legend settings and dynamic legend generation

Reviewed Changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/action.rs New module defining Action enum with JSON parsing and applicability checking for DiffTreeWidget
src/main.rs Replace hide-legend CLI flag with config file loading and add nojson dependency
src/app.rs Refactor from key-based to action-based input handling using configuration
src/widget_legend.rs Update legend rendering to use dynamic keybinding labels from configuration
src/lib.rs Add action module declaration
configs/default.jsonc Default JSON configuration with keybindings and legend settings
Cargo.toml Add nojson dependency for JSON parsing

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@sile sile merged commit bbd9d87 into main Aug 29, 2025
9 checks passed
@sile sile deleted the config branch August 29, 2025 13:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants