mark-wiemer-org / ahkpp

AHK++ provides AutoHotkey v1 and v2 support for VS Code, Theia IDE, and more
https://marketplace.visualstudio.com/items?itemName=mark-wiemer.vscode-autohotkey-plus-plus
Other
174 stars 10 forks source link

Slow buggy formatting on BIG code import lines #370

Open KRN-8 opened 1 year ago

KRN-8 commented 1 year ago

Description / Story?

For intelliSense to work, the used files functions have to be parsed. Soo i have the "libraries" open in extra tab, and when i reopen VSCode i click on each of them and let them colorize.

One of them : https://github.com/Spawnova/ShinsImageScanClass/blob/main/ShinsImageScanClass.ahk has a LOT of LONG lines, which to my understanding, they import C++ code. They are essentially function calls with 1 OMEGA LARGE String passed in. They start around line 60 and the longest one is close to 5 000 chars long !

And those LONG lines all together take up to 20 seconds to Finish. And the results are not all the same, even tho all the lines (apart from the names and strings) are the same

My best Guess

The parser gets stuck on the '+' characters trying to do math inside of a string. Which somehow messes with both speed and colorization.

Actual output

obrazek

Additional context

im using V1, the linked script is also in V1 also checked: I dont have any other AHK related Extension in my VSCode

mark-wiemer commented 1 year ago

Thank you for reporting this. I'm not surprised to see this behavior, there isn't extensive optimization done to handle edge cases of many lines like this these. I'll see what I can do.

KRN-8 commented 1 year ago

yo, can we get an ETA for this please ? im fine with a dirty workaround too, sth like if function followed by '(' read the rest as string untill ")[return|EOF]" or whatever :-)

mark-wiemer commented 1 year ago

Don't expect anything soon :/ a change here might be pretty difficult and I'm focusing on some other QoL stuff and AHK v2 support currently :( I'll be updating the https://github.com/orgs/mark-wiemer-org/projects/1 project soon to give a better visual of how issues are prioritized. You're welcome to research online and post any findings here, or even open a PR yourself :)