Scala for NetBeans Screenshot#14: Refined Color Theme

With more Scala coding experience, I refined color theme of Scala plugin for NetBeans. By desalinating Type name a bit, I found I can concentrate on logic a bit better. And all function calls are highlighted now, so, for multiple-line expression, when error-prone op is put on wrong new line, you can get some hints at once. It also gives you hint if a val/var is with implicit calling, which will be highlighted as a function call.

There are still some bugs when infer var/val's correct type in some cases.

Now the editor is much informative with highlighting and bubble pop display of type information (move mouse on it with CTRL/COMMAND pressed).

You'll need to update to newest 1.9.0 Editing module, please wait for it appealing on Development Update Center.

Click on the picture to enlarge it

nn

Comments

1. weijieyan -- 2008-11-01 09:00

sorry,I want to ask you another question nothing to do with this topic ,but about aiotrade.I downloaded the blogtrader and aiotrade,and found the blogtrader can't run well,so,what's the relation of two software.I'm just a beginner.please forgive my unwisdom. you must be chinese.Can I speak chinese ? My English is poor. I'm very interested in Trading Software and want to be a person like you who can write Trading Software.could you tell me where I can increase my trading program knowledge,and some necessary book to read.Thanks!

2. James Iry -- 2008-11-01 09:00

It's looking great.

By the way, one nice thing about Scala is that you can return multiple values from an expression easily and try/catch is an expression.

<pre> override def processRpcCall(call : RpcMsg?) : Int = {

val mfa = (call.mod.atomValue, call.fun.ataomValue, call.args)

val (head, flag, result) = try {

def UNDEFINED = ErlTuple?(UNDEF, ErlTuple?(call.mod, call.fun))

mfa match {

case ("xnode", "stop", _) => (OK, -1, STOPED) case ("xnode", "parse", args) =>

val result = Main.parse match {

case Some(xmerl) => xmerl case _ => ErlAtom?("undefined")

} (OK, 0, result)

case ("xnode", "xpath", args) => (OK, 0, UNDEFINED) case _ => (ERROR, 0, UNDEFINED)

}

} catch {

case ex =>

ex.printStackTrace (ERROR, 0, ErlStr?(ex.toString)

}

sendRpcResult(call, head, result) flag

} </pre>

3. Caoyuan -- 2008-11-02 08:00

weijieyan:

You should use AIOTrade, blogtrader is the old name. Please see www.aiotrade.com for more information.

James: Looks good. Thanks.