Child pages
  • Scripting IDE for DSL awareness

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Non-PSI

...

infrastructure

...

{{

...

runner

...

runnerClass:"a.b.C"

...

          defaultRunnerParams:["a","b",...

...

]

...

{

  location type: File,Class

              nameFiler: e -> ...

}

debugger {
}
}}

PSI

resolve&completion:
//todo support dynamically-named methods resolve&completion
//todo set types for things that exist in code but with no type specified (closure parameters, etc.)

mix foo.StringUtils intoClass:java.lang.String

...


mix

...

xxx.GantScript

...

intoScript:"gant"

...


mix

...

foo.MyPreciousClass

...

{

...

whereClass.hasAnnotation

...

"foo.Precious"

...

}

...

mix

...

com.intellij.groovy.DslScript

...

intoScript:"gdsl"

...


mix

...

com.intellij.groovy.ValuePredicates

...

intoClass:groovy.lang.Closure

...

{

...


methodParameter

...

"com.intellij.groovy.DslScript",

...

"mix",

...

"where"

...


}

...

class

...

DslScript

...

{

...


void

...

mix(category,

...

map,

...

Closure

...

where)

...

{}

...


//todo

...

refine

...

existing

...

method

...

declaration,

...

specify

...

parameters

...

name&type

...


//todo

...

refine

...

existing

...

field

...

declaration,

...

specify

...

type

...


}

...

class

...

ClassPredicates

...

{

...


boolean

...

hasAnnotation(qname)

...

{}

...


}

...

class

...

ValuePredicates

...

{

...


ClassPreicates

...

getWhereClass()

...

{}

...


boolean

...

methodParameter(cls,

...

method,

...

param)

...

{}

...


}