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

Feature request - extend plugin Save Actions - code fixers #1319

Closed
StrayFeral opened this issue Mar 23, 2024 · 7 comments
Closed

Feature request - extend plugin Save Actions - code fixers #1319

StrayFeral opened this issue Mar 23, 2024 · 7 comments

Comments

@StrayFeral
Copy link

I want in the settings for SaveActions to specify few code-fixers for the current language and run them all automatically upon file Save.

For example for Python I use "black" and "isort" - I want that I use them for Python and have SaveActions auto-run them in background for me on each file save.

@StrayFeral StrayFeral changed the title Feature request - extend plugin Save Actions Feature request - extend plugin Save Actions - code fixers Mar 23, 2024
@elextr
Copy link
Member

elextr commented Mar 24, 2024

A well written pull request might be accepted by the Save actions maintainer.

@StrayFeral
Copy link
Author

StrayFeral commented Mar 24, 2024

As you mentioned in #3799 as a workaround, on linux several commands could be executed by separating with semi-colon. So I did it.

So this now works for me as a workaround. However I still need a little help - I don't understand how Geany decides to automatically assign a keybinding to a certain menu item. For example the Lint build menu command automatically got F9 assigned to it.

Is there a way for me to specify a keybinding to a certain menu item OR at least could you let me know how Geany does automatically this, because I want my new "python formatting" menu item to get a keybinding. Point is - until I wait for someone to implement this in the "AutoSave actions" (if ever implemented), to have at least being run by a keystroke, rather than clicking with the mouse trough the menu.

So in my situation I have a build menu item "_Pythonic format" (written exactly like this) and at least I want to execute it with let's say F10 or CTRL+F9, something like this.

Hope you could help. Thanks

By the way this is exactly what my Python build menu is:
[build-menu]
FT_01_LB=_Lint
FT_01_CM=flake8 "%f";mypy "%f"
FT_01_WD=
FT_02_LB=
FT_02_CM=
FT_02_WD=
EX_01_LB=_Pythonic format
EX_01_CM=black "%f";isort "%f"
EX_01_WD=

@StrayFeral
Copy link
Author

PS: I experimented by moving the _Pythonic format from he EX_01_blah to FT_02_blah (no idea what FT and EX stand for). Result is the menu item just got under "Lint", but no keybinding assigned. I tried also Edit > Preferences > Keybindings, but I don't see it there.

Hope you could help.

@elextr
Copy link
Member

elextr commented Mar 24, 2024

Would be better if you didn't play with files you don't understand, just use the GUI "set build commands" menu items.

See "Edit->preferences->keybindings" for setting keybindings.

@StrayFeral
Copy link
Author

Yes, I told you I was looking there, but I don't see my menu item there.

Also there is no "New" button, there is only "Change" button which means I could only change existing menu items.

In the entire "Build" menu my item is not there.

@eht16
Copy link
Member

eht16 commented Mar 24, 2024

Duplicate of #3295. There are some ideas on how to implement it but it still needs someone to do it :).

@eht16 eht16 closed this as not planned Won't fix, can't repro, duplicate, stale Mar 24, 2024
@elextr
Copy link
Member

elextr commented Mar 24, 2024

@StrayFeral adding extra build menu entries is possible but is not dynamic, look at the Geany wiki, there is a small thesis on configuring the build menu, it even explains the file format so after studying that you are qualified to edit it if you really need to ;-).

Note that due to limitations of the implementation of the keybinding prefs as a fixed menu it is not possible to bind shortcuts to additional build items, but you can use accelerators.

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

No branches or pull requests

3 participants