sebinside / HotkeylessAHK

Using the power of AutoHotkey - without hotkeys!
MIT License
87 stars 8 forks source link

Port to AHK v2 #16

Open hayden-greener opened 9 months ago

hayden-greener commented 9 months ago

I have ported the AHK code so its able to run on AHK v2. The code has been stable but there could be outliers or problems that i haven’t encountered yet so be warned. The only thing missing from this conversion is the validation of whether a method exists. So, if the user presses a key that hasn’t been updated, it will result in an error so keep that in mind. In addition, I am currently working on integrating a plugin with Flow-Launcher. There is also a possibility of integrating with Powertoys Run, but for now, my focus is on Flow since it seems like a more agile system since i can build the plugin with python.

I also have plans to enhance the code options by allowing users to set parameter values for the methods. Improving the ability of the plugin on stream deck. I also have plans to add descriptions/flavour text to functions. Which should improve the aesthetics of hooking HotkeylessAHK to other things.

hayden-greener commented 6 months ago

Could you please look over this pull @sebinside ? I've now added support for parameters. Currently can do strings, integers, floats, boolean, arrays, objects, and nulls. However, I couldn’t figure out how to pass mathematical operations, so it’s not a complete one-to-one conversion of the method(params*). Nevertheless, it covers about 90% of the functionality and 100% of what I needed.

I hope that the port is at the quality that it could be merged.

image

sebinside commented 6 months ago

Thank you for this giant PR! Looks like a great improvement of the overall code base. However, I will need to find quite some time to review (and first, to understand) the changes and additions. In my current extremely tight schedule, this will probably take some time, I'm sorry. Still, thank you very much, this PR will eventually be merged :)

hayden-greener commented 6 months ago

Multiple Function Class Support

This update introduces support for multiple function classes, allowing for better organization and separation of functions based on their purpose or context. For example, you can now have classes like WorkFunctions, PersonalFunctions, etc., in addition to the main CustomFunctions class.

The changes made include: