ID:133366
 
One thing that I enjoy with some other programs that I miss in dream maker that would be nice to see is highlighting the parenthesis when closing and other similar features for example if I was to do a switch statement like this
switch(input("Blah....")in list("1","2","3","4"...))
if(...)

when i would close a parenthesis it would highlight the opening on so i dont forget the extra one on the end. I read tons of Code Problem post where its a simple parenthesis or quotation or something in those lines that wasnt closed and a feature like that would help a lot. Me personally, I always forget on the switch statements (when i compile and get an error I know where to fix it but still). Not sure how hard it would be to code that in but it would be a nice feature to see.

Also there are a lot of other handy little highlights and color changes in other programs (like Matlab for example) that help manage and write code.
I'm not entirely sure about the feasibility of highlighting the matching parenthesis/bracket/brace/quote, but for some time now I've wanted the ability to jump to the matching one so this fits right in with that concept. It's just something I've been meaning to work out how to do.

Lummox JR
In response to Lummox JR
Yeah I wasnt sure if it would be possible Ive just been doing coding in Matlab for the last couple weeks for a class and really like those features its like a double check to make sure I dont mess up and forget something.
In response to Lummox JR
I'm not going to pretend I know anything about how DreamMaker works, but the best solution I see is to start from the current cursor location, using the left-parenthesis immediately to the right or x amount of spaces to the left (if the cursor is located within parentheses). Then you can cycle through, counting the parenthesis on the way through the code, until a matching brace is found.

That, or code can be tokenized while it is being typed.
In response to CaptFalcon33035
CaptFalcon33035 wrote:
I'm not going to pretend I know anything about how DreamMaker works, but the best solution I see is to start from the current cursor location, using the left-parenthesis immediately to the right or x amount of spaces to the left (if the cursor is located within parentheses). Then you can cycle through, counting the parenthesis on the way through the code, until a matching brace is found.

The problem is that you have to take escaped characters, quotes, etc. into account. So to accurately find a match, essentially you have to start with text that is known to be unescaped, not part of any quote or brace sequence, and then move forward. This relates somewhat to the way DM uses syntax-based coloring, so some of that code can be used for this purpose, but the whole thing is rather tricky.

That, or code can be tokenized while it is being typed.

Some form of that is essentially what has to happen. The highlighter already does this to an extent so I'm sure this is doable, it's just non-trivial.

Lummox JR
In response to Ghtry
BYOND is distributed with a dm.exe program that you can use to compile from the command line, so you can hook up your BYOND projects to the editor of your choice. This does not, as you pointed out, cover the ability to edit maps and icons (and skins), etc., but it's good for when all you want is to edit your code in the msot comfortable environment available.

Lummox JR
In response to Ghtry
Ghtry wrote:
Why not give the windows binaries ability to execute command line parameters? This particular editor supports drop down command selection (heh reminds me of the Microsoft Intellisense), syntax highlighting, brace matching, auto indent, and a plethora of features. Providing command line parameter support would not only open BYOND for use with this editor but users could use virtually any external editor which may support calling commands with parameters.

You can launch dm.exe to compile a file created in an external editor. One thing I'd like to add, eventually, is an option to dm.exe to get the "object tree", since that currently isn't accessible to outside programs.

Sadly I realize SciTE would fail to provide the nice interface editing and map editor which BYOND kindly provides. If these file structures were documented, BYOND could reduce workload very very much by opening options for freelance developers like myself to pop open say uhm AutoIT maybe, or some other external development tools to help give byond that touch of spicy flavor it deserves.

The map and skin are pretty self-explanatory text-formats, and the icon is just png+comments. This was intentional, because I want to encourage external editors. As I've said many times, I'd love to opensourcing the API for all of this stuff (and ideally the client), except it'd be a big documentation/cleanup effort that would get in the way of current developments. For now, feel free to investigate these formats (just pop 'em in a text editor) and see what you can do!
In response to Tom
Tom wrote:
You can launch dm.exe to compile a file created in an external editor. One thing I'd like to add, eventually, is an option to dm.exe to get the "object tree", since that currently isn't accessible to outside programs.

I'm glad to see that my request in [link] hasn't been forgotten. I was wondering about that. :)
In response to Kuraudo
I've also wanted something like that, since at one point I considered parsing all of the .dm files myself in order to make an advanced external DMM editor. Blech!

See [link]