frustration noises
Lua patterns aren’t good enough to get all these edge cases. How often do these come up in real environments when you aren’t actively trying to find fail cases?
I found this when I accidentally deleted some parts of a multiline comment because I accidentally selected a big chunk of my script and started typing. I don’t think this will happen a lot though.
I recreated it so the issue is clearly visible.
Thank you for this. I’m going to be using this daily, every single time I’m scripting.
This is easily worth 10k robux. People who complain don’t know the amount of work that goes into making all of these plugins.
Huge Update!
Completely reworked this plugin based on user feedback.
- Displays text instead of color blocks
- Zoom in/out
- Default zoom is smaller than previously so you scroll less by default
Will definitely try this out in the future! At first, I thought this was a minifier / beautifier, but after looking at the page more thoroughly, I now see this could actually be extremely useful for people with large scripts.
This… Is… AWESOME!!! This is one thing that I have been wishing Over for Such a long time! Thank you So much! Keep up the Awesome Work!
That’s super weird, haven’t seen that before! Will look into it when I get a chance.
Edit: Cannot replicate?
Should we maybe take this to DMs to try and fix? We are kindof flooding the thread.
Just bought this, looks like an amazing resource - thanks so much for making it!
If you were looking for ideas on how to expand the tool suite you should definitely add one of these code outlines:
These are so incredibly useful in VS code and I’m astonished nobody has made one for roblox yet! This would make code editing so much easier. Thanks for doing what you do for the community. Plugins may not be more profitable than games (actually maybe they are what do I know lol) but it’s something that drastically changes the quality of games on roblox, whether the creators of those plugins know it or not! I hope all that toxicity from people who want it to be free can be overlooked for the sake of the rest of us who you might not always hear from but we silently appreciate Boatbomber = the goat.
Important Bugfix Update
Fixed a crucial bug related to line breaks. Big shoutout to @PoliceFighter761 for being my guinea pig and letting me use him to test and solve these issues.
Update your plugins!
Performance Update
It was brought to my attention by @Defaultio that the plugin causes intense lag while typing inside large scripts.
I attacked the issue in a few ways, so hopefully it’ll run well even on your massive scripts.
A) Instead of updating every time you hit a key, it updates ~3 times per second. Keeps it up-to-date enough, without needing to adhere to the unreasonable constraint of running the entire thing in the time it takes you to press a single key.
B) Better caching optimizations, so unchanged tokens (anything prior to where you typed) won’t have as much performance cost now.
C) Massive Lexer level changes to make it handle large scripts better. Better token grouping, fewer token counts, and slightly faster overall. More on that in this thread.
Performance Update
I made the highlighter much smarter about what TextLabels need to be updated, so it avoids all unneeded work. Even in large scripts I’m getting highlight times in 20-40 millisecond ranges!
Previously, it cheaply determined if the token could have theoretically been changed and would refresh it. That lead to refreshes when not really needed. Now, it’s far more aware and can actually determine whether a token has changed. Therefore, typing can often lead to only a single TextLabel out of thousands actually being altered. Monster performance gains!
Adding to this: there are some weird syntax issues I just found:
The string is not highlighted as a string and the comment disappears. Somehow?
I see what happens here. The string bracket openers are being mistakenly grouped into the operator token. This is non-trivial to solve, unfortunately. I’ll work on it. Thanks for catching it!
Bugfixes
Fixed. Todo markers will disappear properly when you clear the minimap.
Fixed. I kept trying to fix it by designing a pattern, but Lua pattern matching isn’t great at context based stuff. I figured out a way to do it via making brackets a separate pattern from other operators to avoid false grouping.
While looking through CorePackages I discovered this bug:
The minimap completely stopped updating after this.
I can’t make the plugin work in areas that Roblox doesn’t allow, but I’ll make it handle the errors more gracefully so it doesn’t break completely. Thanks for finding this!