ID:1348457
 
My body is ready.
So I have a more formal update now, after getting some more proper stuff done. Plus, there's a lot of features! Want a better-formatted document? Head to the github page!

Obligatory pics of me using this:



Firstly, it functions mostly like DM. If an error or warning shows up in the console, you can double-click to navigate to it.

It has syntax highlighting for a lot of things:
All language keywords
Pre-processor macros
Strings (single and double quote)
Proc names (including built-in procs)
Numeric variables
Built-in functions
Language constants
Embedded expressions
Operators (most themes ignore these)
DMF files

I provide two themes with this plugin: Dark Dreams (for people who like dark themes) and Light Dreams (for people who like DMs original thematic settings).

A desired feature: run in dream daemon trusted mode (also, you can run straight in daemon). Don't want to? You can run in DS too. Down the line, I want to make it so previously opened DS instances are killed when a new one is run, among other features (which are listed on the github page)!

There's also a way to auto-complete common snippets of code, like for loops, if statements, do-while loops, and a few more! Also, there's auto-completion of whatever list of variables I was able to get. I'll be adding procs (with their arguments) in a bit later.

To use this, first you have to install Sublime Text (it's free forever, but there's a popup from time to time on save).

Next, install Package Manager for Sublime Text.

Open the omni search in Sublime (Ctrl+Shift+P) and search for "install". Run this command. Next search for "Dream Maker" (it's the only result so far) and install it.

There you go! Syntax highlighting, build, and other neat features for DM in Sublime Text.

Want some download stats? Check out the package manager stats here!

Got a feature request? Use the tracker or send me a pull request!

Special thanks to KR for being helpful and tolerant while I was developing stuff, and helping me with some of the syntax issues!
In response to DivineTraveller
DivineTraveller wrote:
Also, there's auto-completion of whatever list of variables I was able to get. I'll be adding procs (with their arguments) in a bit later.

Will this include custom variables and procs that we've written?
In response to Flame Sage
Flame Sage wrote:
DivineTraveller wrote:
Also, there's auto-completion of whatever list of variables I was able to get. I'll be adding procs (with their arguments) in a bit later.

Will this include custom variables and procs that we've written?

Yes. This is something Sublime Text does mostly naturally. I did not make a lexer in this, so it will not magically know that you have a variable "testVar" under the hierarchy "/mob/test/noobMob", but it will suggest it to you regardless.
In response to DivineTraveller
DivineTraveller wrote:
Flame Sage wrote:
DivineTraveller wrote:
Also, there's auto-completion of whatever list of variables I was able to get. I'll be adding procs (with their arguments) in a bit later.

Will this include custom variables and procs that we've written?

Yes. This is something Sublime Text does mostly naturally. I did not make a lexer in this, so it will not magically know that you have a variable "testVar" under the hierarchy "/mob/test/noobMob", but it will suggest it to you regardless.

That seems a little inconsistent? Does that mean every proc or var will be listed even if it's not in that class?
Is it possible to write a Lexer in Sublime that will allow us to get the desired functionality?

EDIT: Regardless, this seems awesome and I applaud your efforts, thank you for doing this!
The autocompletion in ST2 by default essentially keeps track of all identifiers (read: words) in a source file (vars and procs) and suggests them to you - so it's generic.

Technically it'd be entirely possible to write a lexer + parser that parses source files for more intelligent autocompletion, but at the moment it's not really a priority.
This looks great. I'll be sure to give this a try when I get home tonight. :)
I've been using this for the last few days, and it's been really great. Thanks! :D
In response to TheLionsRoar
TheLionsRoar wrote:
I've been using this for the last few days, and it's been really great. Thanks! :D

Not a problem! Glad to hear you're enjoying it. I'll be updating it a bit more over the next few days as I find the ability to do so with some DS/DD-related features, so look out for those!

Have you encountered any oddities, or do you have any general feedback? I'm curious, as I've only used it for a day or two myself (most other time has gone into developing the plugin, to be honest).
add a .dmi editor
In response to DivineTraveller
DivineTraveller wrote:
Have you encountered any oddities, or do you have any general feedback?

Actually, relating to ET's comment, I would like the ability for it to open the program associated with files that aren't code or text files. Such as double clicking a .dmi would open said icon in Dream Maker, or double clicking a .dmb would run it in Dream Seeker.

Edit: To extend that without double posting, being able to optionally build before running when using the Run command like Dream Maker would be nice too. It's not a big deal to get used to as is, but coming from Dream Maker it could save headaches when you forget to build before running.
In response to TheLionsRoar
TheLionsRoar wrote:
DivineTraveller wrote:
Have you encountered any oddities, or do you have any general feedback?

Actually, relating to ET's comment, I would like the ability for it to open the program associated with files that aren't code or text files. Such as double clicking a .dmi would open said icon in Dream Maker, or double clicking a .dmb would run it in Dream Seeker.

I actually don't think I have any control over this. In my screenshots, I'm using SideBar Enhancements. As per the Sublime Text 3 branch, it appears as though you can do open with. I'm not sure the logistics, as I'm developing on ST2, but that's what I've got for you.
I don't know what it's called but I like when text editors are able to highlight parentheses/brackets/quotes depending on where the text cursor is.

Example: Thing.FirstProc(SecondProc(Va|r1),ThirdProc(Var2))

The text cursor is in the middle of Var1 so the parentheses around it are highlighted.
In response to SuperAntx
You mean kinda like this? This is a thing sublime does, although it is rather subtle. If you would like a more pronounced highlighting, I would recommend the BracketHighlighter plugin, as it does a fantastic job of this!
I like the way Notepad++ does it more. The only downside is the cursor has to be right next to one of the brackets for the highlighting to trigger. I'd rather the brackets be highlighted when the cursor is anywhere within them, aside from being in a nested set of brackets which would then highlight those instead.
sublime text is my primary web-developing pad, but it would also be nice to see this for DM

Giving it a try.
In response to SuperAntx
SuperAntx wrote:
I'd rather the brackets be highlighted when the cursor is anywhere within them, aside from being in a nested set of brackets which would then highlight those instead.

I know we discussed this in chatters, but I figure I'd put it out here too.

This is how sublime handles it by default (not as a result of the BracketHighlighter plugin), but it can be further configured via the BracketHighlighter plugin.

I'll look at providing some default configuration for BracketHighlighter, but I can't guarantee it'll be added for sure.

I just wanted to provide an update and say that the default build system will kill old dream seeker instances that are hanging around.
SublimeText webpage says it is not free. Continued use requires the purchase of a license.
Page: 1 2