Page 3 of 11

Re: Keysharp - the resurrection of IronAHK

Posted: 13 Nov 2020, 04:10
by BoBo
:thumbup:

Re: Keysharp - the resurrection of IronAHK

Posted: 30 Nov 2020, 15:21
by LKD
Might we expect some source code anytime soon? The progress you have made is outstanding, but I'm sure it will be all the better with more eyes on the code. Not to mention some basic documentation can start being drafted from this.

Re: Keysharp - the resurrection of IronAHK

Posted: 30 Nov 2020, 18:50
by burque505
:xmas: Keysharp for Christmas? :D

Re: Keysharp - the resurrection of IronAHK

Posted: 03 Dec 2020, 00:08
by mfeemster
No chance of anything by Christmas. I realize my initial projection was far too optimistic. Not just in terms of the functions to implement, but in the fundamental parsing of the language. It's likely I won't have anything to show by at least summer 2021.

For example, there was no ability to parse try/catch statements, but I have now added that.

There is still no ability to parse classes, and adding those will be a major effort. I am unsure if I can even do it, because language parsing is not really an area I know much about.

The manner in which object methods are called, is totally flawed. So statements like obj.Method() will only work sometimes.

FWIW, I finished the sound functions that I mentioned in my last post. I had to import code from a project called NAudio to do it.

I also made an icon several months ago, and have made it my avatar. This will be the official icon for the project.

I wish I had better news, but that's all I've got for now. Substantial further progress on the project will hinge entirely on my ability to fundamentally change how the parser works. I am not optimistic about that since it's beyond my ability. I may have to pull back and start from scratch on learning language parsing.

Re: Keysharp - the resurrection of IronAHK

Posted: 03 Dec 2020, 09:17
by burque505
@mfeemster, that's still great news. Thanks again for all your effort, looking forward to seeing it.
Regards,
burque505

Re: Keysharp - the resurrection of IronAHK

Posted: 05 Dec 2020, 21:37
by mfeemster
I appear to have fixed and unit tested the problems I mentioned previously with calling methods of built in classes, such as Array and Map. I am tentatively cautiously optimistic that the design of my fix will hold.

I am now going to attempt to implement the GUI functions. This effort will be huge because there are many such functions with very specific behavior. IronAHK has already started them, but the manner in which they designed it is a bit different than how I am going to do it. For that reason, this portion of the project will take quite a bit of effort and time. So forgive me if I don't report back for a while.

Also of note: I am on the AHK Discord under this same name, so feel free to chat me there if you want to talk about Keysharp.

Re: Keysharp - the resurrection of IronAHK

Posted: 05 Dec 2020, 22:36
by SOTE
Thanks for the updates and your efforts. :salute:

Re: Keysharp - the resurrection of IronAHK

Posted: 23 Dec 2020, 05:51
by LKD70
Thanks for the update on progress. If you need any help, posting the source code would allow me, and likely others to see what is holding off progress and possibly make pull requests which may assist.

Re: Keysharp - the resurrection of IronAHK

Posted: 23 Dec 2020, 13:28
by Chunjee
Can't wait. Great job, keep going.

Re: Keysharp - the resurrection of IronAHK

Posted: 28 Dec 2020, 13:10
by Chunjee
ahk (v1) has a noticeable lack of anonymous functions.

It is my request that they be supported in Keysharp.

https://en.wikipedia.org/wiki/Anonymous_function

Re: Keysharp - the resurrection of IronAHK

Posted: 30 Dec 2020, 00:30
by mfeemster
Thanks @Chunjee , anonymous functions would be useful, but would also be pretty hard to do. I'll have to put it way at the back of the queue.

I've made some decent progress on the GUI functions, but have a ways to go. Took off a week or so to work on some other things, but will get back on it soon.

BTW, I don't see you in the discord anymore. Are you still there?

Re: Keysharp - the resurrection of IronAHK

Posted: 30 Dec 2020, 12:09
by Chunjee
mfeemster wrote:
30 Dec 2020, 00:30
BTW, I don't see you in the discord anymore. Are you still there?
I was on vacation for two weeks for wrist stress and didn't touch a computer much. If you @ mention me or send a direct message; eventually I'll see it.

Re: Keysharp - the resurrection of IronAHK

Posted: 06 Feb 2021, 08:07
by anaglypta
I mentioned in a previous post, the AHK backport lib, there's also a GUI backport lib that may give you clues for shaping AHK v1 GUI commands into AHK v2 functions.

Re: Keysharp - the resurrection of IronAHK

Posted: 13 Feb 2021, 18:00
by BoBo
Just stumbled over this a second ago. Probably usefull for someone out there (well, it's free so what? :)): https://riptutorial.com/Download/csharp-language.pdf

Re: Keysharp - the resurrection of IronAHK

Posted: 14 Feb 2021, 13:55
by mfeemster
Thanks @BoBo , I've been writing C# professionally since 2006, so I'm good to go there. But that document would definitely be useful for people wanting to learn it.

As for this project, I took a hiatus for a few months because I got busy with other things. I now have a lot more free time, so I am getting back on the GUI work.

I am currently working through the many different options that can be passed to the Show() and Add() methods for creating GUI controls. This is a very large portion of the project, so it'll be a while before I report any progress.

Re: Keysharp - the resurrection of IronAHK

Posted: 05 Mar 2021, 10:24
by HBinswanger
I've been an AHK user for over a decade, and I have about 1500 lines of active AHK code, but I very ignorant compared to you guys. I don't know any OOP, for instance. Never even tried C or any of its variants. Hence my question: would it be possible to release now "Keysharp Lite," which would not have any OOP, GUI, and the other advanced capabilities? The thing in AHK that makes it indispensable for me is having macros for various shifted states of keys. For instance, to have cursor keys controlled by my assignments, so I don't have to move my hand from the "home keys" to get to the arrow keys.

And I do need the #ifWinActive feature, or some equivalent.

If I could do in Linux the kind of keystrokes I've habituated, I would be one happy camper, and wouldn't mind waiting many months for more advanced things (which I do sometimes use).

And a question: does Keysharp working in Linux implying working (perhaps not 100%) on Macs?

TIA.

Re: Keysharp - the resurrection of IronAHK

Posted: 10 Mar 2021, 21:32
by mfeemster
Hi @HBinswanger , thanks for your interest in Keysharp.

I don't plan to do a "lite" version, however the first release will obviously not have everything perfect. We'll iterate on those releases until we get it as good as we possibly can.

When I release, the aim is to have full support for all of the keystrokes you're used to.

As for Macs, that is the ultimate goal: to have it working reasonably well on all three major OSes, Windows, Linux and Mac.

Will we actually get there? That is hard to say. I hope we do, but I don't have any experience with Macs, so I will need some development assistance there.

While you've got me here, I might as well give an update.

I've been working pretty regularly on implementing the GUI functionality. I'm going through this page and implementing every single piece that I am able to:

https://lexikos.github.io/v2/docs/commands/GuiControls.htm

So far it's going pretty well and I have more than half of it done.

As for a timeline, I don't think I'll have anything to show until at least the fall/winter. I wish it would be done faster, but this is a big project and I'm the only developer working on it and I don't want to publish what I've written just yet because the code is a mess.

I'll report back here when I have more news.

Re: Keysharp - the resurrection of IronAHK

Posted: 11 Mar 2021, 08:53
by burque505
@mfeemster, thanks for the update. We are all rooting for you!
Regards,
burque505

Re: Keysharp - the resurrection of IronAHK

Posted: 11 Apr 2021, 07:27
by Jess Chen
Thanks for you effort. Looking forward to KeySharp. One question, do you consider to change a:=1 to a=1, or make an #option to choose either of them? Thanks!

Re: Keysharp - the resurrection of IronAHK

Posted: 11 Apr 2021, 11:30
by mfeemster
Jess Chen wrote:
11 Apr 2021, 07:27
Thanks for you effort. Looking forward to KeySharp. One question, do you consider to change a:=1 to a=1, or make an #option to choose either of them? Thanks!
AHK v2 appears to prefer := so I will be using that. In my experience, both work, but := appears to work better. We can take a look at it in the future, but for now, we're sticking with :=