Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat: Keymaps and Keys App #580

Merged
merged 23 commits into from
Jun 27, 2024
Merged

Feat: Keymaps and Keys App #580

merged 23 commits into from
Jun 27, 2024

Conversation

tconbeer
Copy link
Owner

@tconbeer tconbeer commented Jun 27, 2024

Closes #541

What are the key elements of this solution?

This ended up being a huge feature:

  1. Refactored (and improved typing of) Config files + types
  2. Created named "actions" that can be referenced by key bindings
  3. Created key bindings and key map types
  4. Replaced static BINDINGS class vars with dynamic binding mechanism
  5. Discover keymap plug-ins and user-defined (TOML) keymaps
  6. Load (and merge) the keymap(s) depending on config
  7. Bind keys to actions on widgets as they are mounted
  8. Create a vscode keymap plug-in for harlequin defaults
  9. Create a (kind of complicated) app to create keymaps
  10. Update the help screen and the online docs

Does this PR require a change to Harlequin's docs?

  • No.
  • Yes, and I have opened a PR at tconbeer/harlequin-web.
  • Yes; I haven't opened a PR, but the gist of the change is: ...

Did you add or update tests for this change?

  • Yes.
  • No, I believe tests aren't necessary.
  • No, I need help with testing this change.

Please complete the following checklist:

  • I have added an entry to CHANGELOG.md, under the [Unreleased] section heading. That entry references the issue closed by this PR.

@tconbeer tconbeer changed the title feat/#541/keymaps Keymaps and Keys App Jun 27, 2024
@tconbeer tconbeer changed the title Keymaps and Keys App Feat: Keymaps and Keys App Jun 27, 2024
@tconbeer tconbeer merged commit d004a4b into main Jun 27, 2024
12 checks passed
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.

Create key bindings config and keymap plug-ins
1 participant