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: Toolbar #1334

Open
wants to merge 27 commits into
base: main
Choose a base branch
from

Conversation

benjamin-kirkbride
Copy link
Contributor

@benjamin-kirkbride benjamin-kirkbride commented Jul 5, 2023

Solves #1332

This is a first pass, looking for feedback.

Please don't get caught up on the current buttons being for black and isort, I am sure you feel that having a dedicated toolbar for these are not of much value, and I agree, but they were the easiest to start with as an example.

I am seeking feedback on how I implemented the toolbar, and how it is interacted with from other plugins. Ideally we come up with a pattern for "registering" "commands" that can be selectively shared between the toolbar, Command Palette, right click menu, and probably the main menu as well?

Features I have thought of, and their status:

  • implement as a plugin such that it (I believe) can be completely disabled
  • toolbar only appearing for filetypes that it has buttons registered for
  • way to control ordering of buttons (needs some more thought maybe)
  • better theming/appearance of the toolbar
    • button colors
    • button symbols/images
      • work through the sourcing/svg problem
    • toolbar separators
    • toolbar padding
    • toolbar outline
  • user able to disable toolbar on a per-filetype basis

PS I may have gone a bit overboard with the custom classes 😅

@benjamin-kirkbride
Copy link
Contributor Author

Also, I rebased all my other branches onto this one, that will need worked through at some point but till then focus on 8775d89 - that is where the changes are.

@benjamin-kirkbride
Copy link
Contributor Author

One thing in particular I would like feedback on is how to test this. The buttons are being generated dynamically, so I'm not sure how to "emulate" clicking them to verify their functionality.

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.

1 participant