Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

This page is dedicated to the discussion of what the Groovy Shell (aka. groovysh) and Groovy Console (aka. groovyConsole) should be able to do in the future. So please go on and add suggestions.

Wishlist for the command-line Groovy Shell (aka. groovysh)

  • keep imports (DONE see import and show imports commands)
  • remove the requirement for the "go" command (DONE)
    • proposal: read lines until one is entered WITHOUT a trailing semicolon or as long as there are open parantheses; change prompt for continuation lines
  • the value of last expression evaluated is made available in a variable. The name of the variable is short , e.g. "res". It is also automatically printed to the console (including type?). (DONE The last result is saved as the {_} variable)
    • alternate name: "_" or "_r"

from Dierk

  • code completion for known methods, DGM, and symbols used so far
  • dump transcript to file (DONE see record).
  • nice to have: dump classes and methods that were previously defined (DONE See show classes and show variables, methods are wrapped in a closure and bound to variables)
  • nice to have: run code in new jdb console

from Guillaume

  • all the above, and...
  • possibility to discard imports (since we can keep imports, let's flush them too) (DONE See purge imports).
  • Crazy idea: I'm wondering whether we could leverage ANSI colours in the shell so that we can have some text in colours (perhaps even syntax highlighting???) (DONE sans syntax highlighting right now)

from Jürgen:

  •  learn from Python and especially IPython (sys.displayhook etc.) (DONE There is a errorHook and resultHook now).
  • (GNU) readline support (DONE current trunk uses jline for rich buffer editing and history).

additionally: enhance ObjectBrowser to execute selected methods and change the "object under inspection" to the result of that method call. Keep an expression of how to get to that object (e.g. GPath). Let ObjectBrowser return this expression and make groovysh and groovyConsole arware of it such that groovysh user can use the inspect command to interactively construct such expressions.

Wishlist for the Swing Console (aka. groovyConsole)

  • basic syntax highlighting in source code (DONE in 1.5*)*
  • line numbers (be able to turn on / off)
  • be able to specify some .jar files that will be included into the classpath (DONE in 1.6)
  • enable standard-de-facto ctrl+z for undo and ctrl+y for redo
  • tabs
  • code formatting

Debug features:

  • step-by-step execution of statements
  • improve variables insight for clarity