[Groovy] Class Groovysh
- org.codehaus.groovy.tools.shell.Groovysh
An interactive shell for evaluating Groovy code from the command-line (aka. groovysh). The set of available commands can be modified by placing a file in the classpath named org/codehaus/groovy/tools/shell/commands.xml
See XmlCommandRegistrar
- Authors:
- Jason Dillon
Field Summary
Modifiers | Name | Description |
---|---|---|
static String | AUTOINDENT_PREFERENCE_KEY | |
static String | COLLECTED_BOUND_VARS_MAP_VARNAME | |
static String | COLORS_PREFERENCE_KEY | |
static String | INTERPRETER_MODE_PREFERENCE_KEY | |
static String | METACLASS_COMPLETION_PREFIX_LENGTH_PREFERENCE_KEY | |
static String | SANITIZE_PREFERENCE_KEY | |
static String | SHOW_LAST_RESULT_PREFERENCE_KEY |
Fields inherited from class | Fields |
---|---|
class Shell | log |
Properties Summary
Type | Name and description |
---|---|
BufferManager |
buffers |
Closure |
defaultErrorHook |
Closure |
defaultResultHook |
Closure |
errorHook |
String |
evictedLine |
FileHistory |
history |
boolean |
historyFull |
List<String> |
imports |
int |
indentSize |
Interpreter |
interp |
PackageHelper |
packageHelper |
Parser |
parser |
Closure |
resultHook |
InteractiveShellRunner |
runner |
Constructor Summary
Constructor and description |
---|
Groovysh
(ClassLoader classLoader, Binding binding, IO io, Closure registrar) |
Groovysh
(ClassLoader classLoader, Binding binding, IO io) |
Groovysh
(Binding binding, IO io) |
Groovysh
(IO io) |
Groovysh
() |
Methods Summary
Type Params | Return Type | Name and description |
---|---|---|
void |
displayBuffer(List buffer) Display the given buffer. | |
void |
displayWelcomeBanner(InteractiveShellRunner runner) maybe displays log information and a welcome message | |
Object |
execute(String line) Execute a single line, where the line may be a command or Groovy code (complete or incomplete). | |
protected Object |
executeCommand(String line) | |
protected String |
formatLineNumber(int num) Format the given number suitable for rendering as a line number column. | |
String |
getImportStatements() | |
String |
getIndentPrefix() Calculate probably desired indentation based on parenthesis balance and last char, as well as what the user used last as indentation. | |
protected String |
getPreference(String key, String theDefault) | |
File |
getUserStateDirectory() | |
static boolean |
isTypeOrMethodDeclaration(List<String> buffer) return true if the buffer can be recognized as a type declaration statement | |
protected void |
loadUserScript(String filename) Loads file from within user groovy state directory | |
protected void |
maybeRecordError(Throwable cause) | |
protected void |
maybeRecordInput(String line) | |
protected void |
maybeRecordResult(Object result) | |
String |
renderPrompt() | |
int |
run(String evalString, List<String> filenames) Run Interactive Shell with optional initial script and files to load | |
int |
run(String commandLine) Run Interactive Shell with initial command |
Inherited Methods Summary
Methods inherited from class | Name |
---|---|
class Shell | execute, findCommand, isExecutable, leftShift, leftShift, register |
Field Detail
public static final String AUTOINDENT_PREFERENCE_KEY
public static final String COLLECTED_BOUND_VARS_MAP_VARNAME
public static final String COLORS_PREFERENCE_KEY
public static final String INTERPRETER_MODE_PREFERENCE_KEY
public static final String METACLASS_COMPLETION_PREFIX_LENGTH_PREFERENCE_KEY
public static final String SANITIZE_PREFERENCE_KEY
public static final String SHOW_LAST_RESULT_PREFERENCE_KEY
Property Detail
final BufferManager buffers
final Closure defaultErrorHook
final Closure defaultResultHook
Closure errorHook
String evictedLine
FileHistory history
boolean historyFull
final List<String> imports
int indentSize
final Interpreter interp
PackageHelper packageHelper
final Parser parser
Closure resultHook
InteractiveShellRunner runner
Constructor Detail
Groovysh(ClassLoader classLoader, Binding binding, IO io, Closure registrar)
Groovysh(ClassLoader classLoader, Binding binding, IO io)
Groovysh(Binding binding, IO io)
Groovysh(IO io)
Groovysh()
Method Detail
void displayBuffer(List buffer)
Display the given buffer.
void displayWelcomeBanner(InteractiveShellRunner runner)
maybe displays log information and a welcome message
- Parameters:
- term
@Override Object execute(String line)
Execute a single line, where the line may be a command or Groovy code (complete or incomplete).
protected Object executeCommand(String line)
protected String formatLineNumber(int num)
Format the given number suitable for rendering as a line number column.
String getImportStatements()
String getIndentPrefix()
Calculate probably desired indentation based on parenthesis balance and last char, as well as what the user used last as indentation.
- Returns:
- a string to indent the next line in the buffer
protected String getPreference(String key, String theDefault)
File getUserStateDirectory()
@CompileStatic static boolean isTypeOrMethodDeclaration(List<String> buffer)
return true if the buffer can be recognized as a type declaration statement
- Parameters:
- strings
- Returns:
protected void loadUserScript(String filename)
Loads file from within user groovy state directory
- Parameters:
- filename
protected void maybeRecordError(Throwable cause)
protected void maybeRecordInput(String line)
protected void maybeRecordResult(Object result)
String renderPrompt()
int run(String evalString, List<String> filenames)
Run Interactive Shell with optional initial script and files to load
int run(String commandLine)
Run Interactive Shell with initial command
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/2.4.21/html/gapi/org/codehaus/groovy/tools/shell/Groovysh.html