Wc3C.net

Wc3C.net (http://www.wc3c.net/forums.php)
-   Tools (http://www.wc3c.net/forumdisplay.php?f=617)
-   -   JASS2, vJass and Zinc edit modes for jEdit (v9) (http://www.wc3c.net/showthread.php?t=108019)

Vexorian 10-22-2009 08:23 PM

JASS2, vJass and Zinc edit modes for jEdit (v9)
 
3 Attachment(s)
I've been starting to love the text editor called jEdit. It is very flexible, it is cross platform, it has INDENTATION-BASED FOLDING. And well... So much that I made edit modes for zinc and vjass for jEdit so that it can highlight them

jEdit
jEdit is free as in beer and freedom, so you may download it for free, it also supports windows, OS/X and Linux just fine. But it requires the Java runtime environment.

So, you'll need to download and install it in your OS:
http://www.jedit.org/

The files
The zip file contains three xml files which you should copy to a sub-folder called modes which is inside your jEdit settings directory.

After copying the files, you need to add a catalog entry. To this, open the file called 'catalog' that is inside your modes folder, it should look like this:
Code:

<?xml version="1.0"?>
<!DOCTYPE MODES SYSTEM "catalog.dtd">

<MODES>

<!-- Add lines like the following, one for each edit mode you add: -->
<!-- <MODE NAME="foo" FILE="foo.xml" FILE_NAME_GLOB="*.foo" /> -->

</MODES>

Simply add these lines before </MODES> :

Code:

<MODE NAME="wc3-jass" FILE="jass.xml" FILE_NAME_GLOB="{*.ai,common.j,blizzard.j}" />
<MODE NAME="wc3-vjass" FILE="vjass.xml" FILE_NAME_GLOB="{!{common,blizzard}}.j" />
<MODE NAME="wc3-zinc" FILE="zinc.xml" FILE_NAME_GLOB="*.zn" />


Then save it.

Now:
* If you open blizzard.j, common.j or an .ai file, you get JASS2 syntax highlight (without vJass extensions)
* If you open other file ending with .j, you get vJass highlighting.
* If you open a file with extension .zn you get Zinc highlighting.
* If you want to change to one of the modes when when editing a file, you may go to utilities\buffer options and then find the modes called "wc3-jass", "wc3-vjass" and "wc3-zinc".


If you want to change the color/format of a syntax element, select it and then go to Utilities\Quick settings\Edit syntax style of token under carret.

This thing is very powerful, first time since gvim I am able to actually have correct code folding, nested /* */ comments, and line breaks inside strings. Plus it is not as hard as gvim, so...

Edit: Also, for example, The contents //! zinc tags inside a vJass file will switch to zinc highlighting mode. And //! novjass will switch to Jass2 mode. That's cool?

I managed to actually highlight stuff inside preprocessor lines, but they won't highlight elsewhere...

Assorted jEdit tips
* You should probably go to global options the first time to tweak jEdit, its default config are kinda strange... For example, to disable the periods at the end of the lines go to the "Global options" button, then "Text Area" then uncheck "end of line markers"

* You can make it use tabs: Go to plugins and install two plugins: "BufferTabs" and "GNURegexp", let it download and install those plugins then go to plugin options and go to the BufferTabs part to enable them.

* To have cute indentation markers like in the screenshot, install the Whitespace plugin.

* This can do autocomplete: Whenever you can't think of a keyword/native/bj function name, press ctrol+b after typing something.

Vexorian 10-23-2009 03:36 AM

Bump, now highlights Jass2, vJass and zinc.

Anachron 10-23-2009 07:34 AM

vJass or vJass2?
How is this better as JassHelper?
What do we have to keep in mind / which operating systems?
Does it include write suggestions?
Does it provide us with the function to generate prepared code snippets?

Deaod 10-23-2009 12:40 PM

Half of your questions could be answered by something as simple as reading the post.

Vexorian 10-23-2009 12:47 PM

Quote:

vJass or vJass2
vJass and JASS2 (notice the lack of a v)
Quote:

How is this better as JassHelper?
How is an elephant better than the color green?
Quote:

Does it include write suggestions?
There's probably a way to add it, but since I never use those things I probably won't.

Quote:

Does it provide us with the function to generate prepared code snippets?
Yes.

Anachron 10-23-2009 12:58 PM

Quote:

vJass and JASS2 (notice the lack of a v)
Whats the diffrence?

Quote:

How is an elephant better than the color green?
Sorry, I meant JassCraft

Quote:

There's probably a way to add it, but since I never use those things I probably won't.
hm ok.

Quote:

Yes.
Fine!

chobibo 10-23-2009 01:10 PM

Thanks Vex, I've also been using jEdit, now I don't need to open WE for quick edits yeah!

Vexorian 10-23-2009 01:14 PM

Quote:

Whats the diffrence?
JASS2 is that language blizz created that has no libraries, structs, textmacros and all that stuff. So basically, the idea is that if you get to edit blizzard.j, it won't highlight vJass extensions.

jasscraft? Well, these files won't make it do autocompletion or able to call pJASS directly, but jEdit will be able to do correct vJass syntax highlighting and also Zinc.

Rising_Dusk 10-23-2009 02:22 PM

1 Attachment(s)
This is totally going to be a spam post, but it's really worth it.
Quote:

Originally Posted by Anachron
Quote:

Originally Posted by Vexorian
vJass and JASS2 (notice the lack of a v)

Whats the diffrence?

Lol!

I tested this:
It is kind of cool, but a few things I don't like. Apparently scope and their initializer declarations don't highlight at all, even in the vjass edit mode. (I made sure I was using that) I attached a screenshot of this. The file I loaded was a non-common/blizzard .j file. (One for my own map)

Anachron 10-23-2009 02:25 PM

2 Attachment(s)
To get the vJass Syntax Heighlighting,

such as
Attachment 46198

you should have the heighlight settings as following
(Open it with Utilities - Global Options - jEdit - Syntax Heighlighting)
Attachment 46199

edit:
Quote:

Originally Posted by Rising_Dusk
This is totally going to be a spam post, but it's really worth it.

Lol!

I was asking why its called JASS2 and not vJass. And?
I bet 99% of the wc3 mappers don't know this.

And if you excuse me, I am willing to learn, so what about it?

Rising_Dusk 10-23-2009 02:36 PM

Quote:

Originally Posted by Anachron
I was asking why its called JASS2 and not vJass. And?

Because Blizzard called it that in the common.j file, obviously. No one knows why it is called that, just that it is.
Quote:

Originally Posted by Anachron
And if you excuse me, I am willing to learn, so what about it?

So it is still hilarious.

Vexorian 10-23-2009 02:44 PM

Blizzard named it JASS2. Rumors say it stands for "Just Another Scripting System" but that's just a rumor, no one knows for sure.
The 2 is rumored to come from the fact that there was another thing called JASS that was different.

I named the other one vJass. Why? Well, it is a long story, officialy v stands for very, I think.

Checked the plugins section, there is a text autocomplete plugin that is smart and autocompletes based on things already on the file, so in the long run it makes things faster. There are also many things in there, looking for one that would add markers to lines that were modified...

There is a plugin called whitespace that will add cute lines to your identation, makes things easier to find...

edit: oh, and I have updated it, added highlight for then, initializer, scope and endscope ...

Anachron 10-23-2009 02:49 PM

Quote:

Blizzard named it JASS2. Rumors say it stands for "Just Another Scripting System" but that's just a rumor, no one knows for sure.
The 2 is rumored to come from the fact that there was another thing called JASS that was different.
Oh noes, blizzard is trying to create JASS2.

Quote:

I named the other one vJass. Why? Well, it is a long story, officialy v stands for very, I think.
Vexorian JASS I guess.

Quote:

Checked the plugins section, there is a text autocomplete plugin that is smart and autocompletes based on things already on the file, so in the long run it makes things faster. There are also many things in there, looking for one that would add markers to lines that were modified...
Plugins could be better. Most are for Java and C++.

Quote:

There is a plugin called whitespace that will add cute lines to your identation, makes things easier to find...
It sometimes bugs, I've tested it.
Quote:

edit: oh, and I have updated it, added highlight for then, initializer, scope and endscope ...
Trying to find more unhighlighted stuff. Prepare for it.

Edit: Syntax heighlighting for constants please, such as EFFECT_TYPE_LIGHTNING.

Edit2:
agent is not highlighted.

Rising_Dusk 10-23-2009 02:50 PM

All keywords I use appear to work now. I am going to hopefully assume that you tested all of the obscure vJass ones that I don't use and that you'll update this if anything gets added/removed from jasshelper in the future. Furthermore, a last question is how do you get rid of those periods at the end of every line? I really don't like them and would probably use this were it not for those.

Oh and yes, because I tested this and it works as listed and is very, very useful, I am going to approve it. Also, because it's made by Vex, maybe it'll actually be kept up to date with jasshelper. (Which would be more useful than anything else this does)
Quote:

Originally Posted by Anachron
Oh noes, blizzard is trying to create JASS2.

They already did... It's the one you use in WC3. JASS1 is supposedly the internal coding language used for SC.

Vexorian 10-23-2009 02:59 PM

Quote:

Furthermore, a last question is how do you get rid of those periods at the end of every line?


global options\text area\end of line markers

I hate them too, for some reason there are programmers who love them.


All times are GMT. The time now is 08:10 PM.

Powered by vBulletin (Copyright ©2000 - 2019, Jelsoft Enterprises Ltd).
Hosted by www.OICcam.com
IT Support and Services provided by Executive IT Services