Squint - the sqf editor and error-checker
I'm pleased to announce that squint is ready for its first public release.
Squint is an editor and error-checker for ArmA script files (sqf, cpp, ext, sqm) and can save you many hours of headache by detecting syntax errors and common logic problems before you even run your scripts in a mission.
You can learn more about it from this presentation. (If anyone knows how to embed iframe tags in this forum please let me know.)
there is also a basic guide to getting started.
Installation instructions are here or you can just run the setup file from my homepage .
Please be patient while I tidy up the documentation over the next few days. There are certain to be a few bugs as well, please help me out by reporting them rather than ignoring them. I'm also particularly keen to get your suggestions on the kinds of errors you find in your code which squint does not yet catch.
Here's a screenshot...
Last edited by sbsmac; Jan 25 2013 at 18:07.
Looks great! Nice work! That little guy in the basic guide is awesome, with a capital AWESOME.
WOW! Thats astonishingly great stuff.
I tried your first version and that was quite confusing. This version looks much more nicer. Just hope I can change the background away from black.
However, you need to fix the link to the setup file, 404 here.
I'll be succint:
This is awesome.
Oops - setup link fixed, thanks for that.
Yes, you can completely customise the colours used in the code-window by going to the Settings/Fonts and colours menu option.
I Just fired up my mission and "imported"/add folder. I seems very useful. I fixed all of the errors the hard way already, but it offered to help me with my privates.
Here's my suggestions
- Tabs are evil. Not the actual tab button but the \t one. An option to make an number of spaces when you press tab instead would be nice. If you ever used N++ you know what I mean.
- When you fix missing private declarations it does not indent properly. The text start out completely to the left even if your spawn for example is more to the right.
- Does not detect bis function BIS_fnc_infoText
- Parameters: I use an technigue seen in AAS where the parameters' classes names get assigned to the selected value. Eg. an "class P_Hour" in description.ext get's set to 11 when game starts. P_Hour is non-recognised variable. I know this not possible to do with dynamic variable assignment, however, detected param classes or make an option to turn off the warning perhaps?
- One of my files in UTF-8 without BOM, contained a non-ascii (>127) character. This character got interpreted wrong.
Hope you find at least some of this feedback useful. Keep up the good work .
- This is not important unless you have OCD or something like that. If you do have something like that then this: When changing the font type you have to write a character or something similar to get the text in the window to change.
Last edited by Muzzleflash; Aug 19 2010 at 23:35.
Thanks. A few comments.
Changing tabs to 'n' spaces should be fairly straightforward.
Indenting is 'hard' for the parser since it only deals with a logical stream of tokens and expressions rather than knowing about format and spacing. I'm looking at some auto-indent for sqf though in the future (squint can already auto-format cpp).
None of the BIS functions are currently recognised. I just need to build a dictionary for these when I can get to my gaming PC (my back is fubared right now and I'm confined to bed with a crappy laptop).
Parameters- can you provide a short code-example and I'll see what I can do.
UTF8... yes the bane of my life. The richtextbox control used in squint doesn't understand UTF-8 and even if it did, handling multi-byte characters through the data-path would be a serious headache for me atm. *Most* non-ascii's should be handled correctly now but I'm prepared to believe there may be a few that escape under certain circumstances. Again, if you can provide a specific example I can take a look.
Originally Posted by Muzzleflash
Nice I'll be downloading ASAP.
Nice tool sbsmac.