New Groovy Console Wish List

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

 

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Jan 18, 2007

    Daniel Serodio says:

    I think the ideal scripting console is IPython (interactive Python), I think we ...

    I think the ideal scripting console is IPython (interactive Python), I think we should imitate it as much as possible.

  2. Jan 19, 2007

    rdeman says:

    It would be so great if the Groovy Console could run 1 single session, just like...

    It would be so great if the Groovy Console could run 1 single session, just like the beanshell console. It really works as an interpreter. You can keep all your variables during the same session and don't have to pres "run" to re-execute the whole script from scratch each time.

  3. Feb 01, 2008

    Dave Fuller says:

    I think it would be best if the shell could take a script name as an argument (i...

    I think it would be best if the shell could take a script name as an argument (i.e., "grails shell <scriptname>") and have the shell execute the script and exit, dumping output to stdout.  This would be an easy way to perform administrative tasks on the datastore within the context of the application.  It would also allow these tasks to be run in an unattended manner.