Jump to content

Dash - SQF Editor


Recommended Posts

Introducing "Dash" - The most advanced SQF editor for Arma ever built.

 

Features:

Dash has many features that aim to make writing SQF code as painless as possible:

- It has full support + syntax highlighting for SQF and SQM files, with the other file types (.ext, .cpp, etc) coming soon.

- It features the "ArmaSense" code-completion engine that suggests Arma script commands and user defined variables as you are typing.

- You can fold code inside curly braces, or create your own folding areas using "//#region" and "//#endregion" to hide code between the two comments.

 

Planned Features:

- Enhanced "ArmaSense" code-completion to suggest user variables that are in scope and defined in any file in the project

- SQF Lexer/Parser to provide Microsoft Word or Visual Studio-style wavy red underlines underneath code that does not compile -- without the need to run your code through a compiler

- RPT file analyser that can link you straight to the code that caused the error you're looking at

- Work directly inside PBO files without needing to pack/unpack them (great for server admins working on their mission/server pbos)

- Custom themes to allow you to change the syntax highlighting colours as you want

 

 

 

Screenshots:

 

dash-for-website.png

 

 

An example of the "ArmaSense" code-completion engine:

 

armasense.gif

 

 

 

In Summary:

 

Dash is being actively developed by myself. It's written in C# and the source code is openly available on GitHub, along with the issue tracker (please, feel free to lend a hand! :) )

 

The full website for the project is here: http://dash.nevadascout.com which includes a download for the installer for the latest version (v1.2 at the time of writing).

 

I'm interested to see what you guys think of this, let me know below! :)

Link to comment
Share on other sites

I'm really liking this man! brilliant idea, this will help so many people learn to code better, keep it up! I can see this being used as my daily tool, only thing I hav a issue with right now is trying to open files directly from explorer doesn't open them, it just opens dash itself not the file other than that no flaws! I can see me donating to this at some point in the future!

Link to comment
Share on other sites

Thanks man! :)

 

 

Ooh, that's a good point! I've added a new issue for this. Thanks for the feedback!

Not a problem! Its about time we had a dedicated scripting tool for ArmA related work, NP++ has served me well for the last 2 years! I assume this will also have all the updated script commands for ArmA 3 also?

Link to comment
Share on other sites

Yep, it has everything I could pull off the Wiki so all the new commands from Arma 3 should be in there. If you find something that's not there, or has the wrong syntax highlighting, let me know!

 

I always used Notepad++, but got annoyed when I'd make silly errors like missing a semi-colon or naming a variable wrong -- and only find out 10 minutes later when I've finally loaded into Arma...

 

"ArmaSense" should help with the latter as it suggests variables and auto-completes their names for you, and the built-in SQF compiler I've got planned for 2.0 will (hopefully) eliminate the former.

 

It'll be awesome when I get the Visual Studio-style red wavy underlines working. That's what I'm looking forward to most!

Link to comment
Share on other sites

I always used Notepad++, but got annoyed when I'd make silly errors like missing a semi-colon or naming a variable wrong -- and only find out 10 minutes later when I've finally loaded into Arma...

Funny you should say that, this thread was actually suggested just now in a skype group "anyone tried this yet" my response was simply "Nope, but i'm trying it, the amount of times I forget a ' or ; xD"

Aside from that, awesome! good to hear, it'll save me a lot of time looking things up especially with the F12 lookup function, I do love that, if I knew anything more about C# I'd lend you a hand but I've never been any good with anything aside from ArmA but yes, this is a tool a lot of developers need in their tool kits! So eager to see how it develops on!

Link to comment
Share on other sites

Looks promising.  

 

Does it allow for auto update for files (i.e. it will continually load logfiles that are being updated) with the option to pause updating ?.  That would be good to have.  Notepad++ does it but it could be better implemented.

 

Also, the ability to change the highlighting colours from within the program would be good.  Light green on a white background is not so tired eye friendly for example.

 

Very interested in the additional feature so will keep a close eye on the progress.

 

Would also be good to pick out syntax errors like a ");" on a line on its own (ie mistype of "};" ) and things like that that can take quite a while and a lot of squinting to discover.  A parse for possible syntax errors option (sorta like a spell checker) may be a nice way of doing it.  

Link to comment
Share on other sites

Looks promising.  

 

Does it allow for auto update for files (i.e. it will continually load logfiles that are being updated) with the option to pause updating ?.  That would be good to have.  Notepad++ does it but it could be better implemented.

 

Also, the ability to change the highlighting colours from within the program would be good.  Light green on a white background is not so tired eye friendly for example.

 

Very interested in the additional feature so will keep a close eye on the progress.

 

Would also be good to pick out syntax errors like a ");" on a line on its own (ie mistype of "};" ) and things like that that can take quite a while and a lot of squinting to discover.  A parse for possible syntax errors option (sorta like a spell checker) may be a nice way of doing it.

For log viewing I recommend glogg:

http://glogg.bonnefon.org/

Link to comment
Share on other sites

Looks promising.  

 

Does it allow for auto update for files (i.e. it will continually load logfiles that are being updated) with the option to pause updating ?.  That would be good to have.  Notepad++ does it but it could be better implemented.

 

Also, the ability to change the highlighting colours from within the program would be good.  Light green on a white background is not so tired eye friendly for example.

 

Very interested in the additional feature so will keep a close eye on the progress.

 

Would also be good to pick out syntax errors like a ");" on a line on its own (ie mistype of "};" ) and things like that that can take quite a while and a lot of squinting to discover.  A parse for possible syntax errors option (sorta like a spell checker) may be a nice way of doing it.  

 

Currently, it doesn't do any auto-updating for files that are changed outside the editor, however for log files, I've been talking to someone on Reddit who suggested implementing an RPT analyser that will run in real time as you're testing your script in Arma.

 

You'll be able to see what's going on as it happens, and go directly to the code causing any errors.

 

Agreed - custom syntax highlighting themes are on the roadmap to come fairly soon :)

 

And yep, the SQF compiler will pick up things like this as you're typing. It'll get highlighted with a red wavy underline and will refuse to compile :)

 

More details here: https://github.com/nevadascout/dash-core/issues/71

Link to comment
Share on other sites

A modern squint - this is what we sorely needed, hopefully will be a long-term supported project.

 

I have two suggestions

 

1. I would recommend focusing limited development time on core Arma specific/SQF-specific features in the first instance to specialize and excel in there, rather than branching out to side action and possibly being mediocre in many areas.

 

Such as real-time log display. Please note that we can easily get log displaying solution elsewhere, such as (cygwin+tail) or (glogg) and so on.

What we cannot get elsewhere is modern SQF specific code highlighting, correction, IntelliSense completion [which you nicely named - ArmaSense good one!] etc.

 

By the way poster above me - not sure if you are aware but there is already squint in this field which does a great job for Arma 2 already.

It is not updated for Arma 3 and apparently project died in an uninterested developer's hard disk drive, it's great that this one is on GitHub so it hopefully can be picked by another if the current dev lose interest or become unavailable for any reason.

 

2. Please clarify what LICENSE is this under. It is not immediately clear and keyword search in this tread or GitHub does not return a hit for 'license'. I certainly hope it is free software under GPL!

 

Keep it up! :)

Link to comment
Share on other sites

I intend to develop this long term, and indeed - the source code is available so other people are free to fork it or submit pull requests and I'm happy to merge them in.

 

The SQF compiler and error checker are due for version 2.0, which is a higher priority than the RPT analyser. I want to make this the best possible editor for SQF that it can be, so don't worry about that side of things.

 

There will be a few updates before 2.0 hits which focus on stability, but 2.0 will be the update that has the major enhancements as far as writing SQF goes.

 

 

By the way poster above me

 

I assume you mean me? I'm the developer of Dash :)

 

 

I honestly had given no thought in regards of licences. I'll have a think and publish one later on.

 

Dash is free software that is open source. The only thing I would have an issue with is, if someone forked dash then started selling it. Anything else is (probably) okay by me.

Link to comment
Share on other sites

I intend to develop this long term, and indeed - the source code is available so other people are free to fork it or submit pull requests and I'm happy to merge them in.

 

The SQF compiler and error checker are due for version 2.0, which is a higher priority than the RPT analyser. I want to make this the best possible editor for SQF that it can be, so don't worry about that side of things.

 

There will be a few updates before 2.0 hits which focus on stability, but 2.0 will be the update that has the major enhancements as far as writing SQF goes.

 

 

 

I assume you mean me? I'm the developer of Dash :)

 

 

I honestly had given no thought in regards of licences. I'll have a think and publish one later on.

 

Dash is free software that is open source. The only thing I would have an issue with is, if someone forked dash then started selling it. Anything else is (probably) okay by me.

Sorry went shorthand there.

I should not have said "the poster above me", it should have been "one of the posters above"...

Specifically I was referring to the post I quoted below.

My point is there already is a dedicated scripting tool for Arma (squint) - it is just out of date and not very productive as of March 2015. I still do use it though. It knows about 70% of arma structures. It can tell when you leave a { open and so on. It *is* an arma dedicated scripting tool. Thanks to axeman for telling me about it.

 

Not a problem! Its about time we had a dedicated scripting tool for ArmA related work, NP++ has served me well for the last 2 years! I assume this will also have all the updated script commands for ArmA 3 also?

 

 

RE Licensing, I suggest you move quickly as without license your code is out to be stolen. It doesn't need to be a difficult choice, there's a site for that :)

http://choosealicense.com/

 

If you put it under GPL it will be free software and people will be at liberty to do whatever they want with it which is beneficial to all in the end IMHO, I suggest you go with GPL.

Link to comment
Share on other sites

My point is there already is a dedicated scripting tool for Arma (squint) - it is just out of date and not very productive as of March 2015. I still do use it though. It knows about 70% of arma structures. It can tell when you leave a { open and so on. It *is* an arma dedicated scripting tool. Thanks to axeman for telling me about it.

I was totally aware of squint but I've never got on with it, for the simple reason it is outdated and has never really helped me out long term, I was suggested to use it a long time ago but again, it had never really helped much, NP++ was overall easier to use and looks much nicer

Link to comment
Share on other sites

Nice work, will definitely be giving it a try.

 

It'll be great to hear your feedback!

is it possible to add function to parse whole code in file?

 

seems that feature is missing in other editors

Yep! This is the biggest feature we've got planned for Dash. Should be arriving in the 2.0 update in a few months time

Link to comment
Share on other sites

  • 2 weeks later...

Another question from me :) .  Will you be adding the functionality to parse classes as well (cfgmusic / cfgVehicles etc) from config.cpp / XXXXX.hpp and possibly even config.bin files (presumabily after de bin'ing them with cfgconvert in the background) ?.

 

That would be pretty helpful as class defs are not as well known as common sqf script commands.

Link to comment
Share on other sites

  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
  • Discord

×
×
  • Create New...