Add a 'script engine' for Java

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
TODO: Scripting: add a tag for compiled languages

This interface serves as a duct-typing-interface to label
ScriptEngineFactory implementations to tell ImageJ2 that the language
actually needs compilation prior to execution.

It might still require a companion interface (to be done in the
future) for ScriptEngine to add the compile() method returning a list
of compile products. But maybe it is enough to add that method to
CompiledLanguage; we will see when porting Refresh_Javas to ImageJ2 ;-)

Note: the ScriptEngineFactory must be labeled so that e.g. the
Script Editor can decide even without a ScriptEngine instance that
there need to be different labels in the Run menu (Compile and Run,
as opposed to Run).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
ScriptService: add a method to identify compiled-only languages

Languages such as Java do not support running via eval(Reader). We
need to be able to tell whether that would fail before trying.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Add the ij-ui-script-editor project

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
First code dump of the Fiji Script Editor

This dump is intentionally non-compiling, to offer a better base for
concurrent development of the Script Editor.

The base is fiji.git's commit fc077481.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Script Editor: remove now-obsolete classes

These classes were needed in the context of Fiji and/or IJ1.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Script Editor: the classes are now in package imagej.script.editor

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Script Editor: add copyright headers

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Script Editor: remove the AutoComplete dependency

It never worked properly.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Script Editor: remove dysfunctional debugging support

Not even the first alpha version of it was ever completed...

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Script Editor: No need for the ClojureTokenMaker anymore

The original plan was to submit our version of the Clojure token
maker to upstream. That never happened. In the meantime, upstream
made their own version. *sigh*

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
TODO: Script Editor: remove a class used by the Fiji Updater

It is done differently now...

TODO: re-instate git diff and git commit after refactoring Updater's
diff view

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Script Editor: remove references to ImageJ 1.x

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Script Editor: use ImageJ2's Prefs class

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Script Editor: adjust to new RSyntaxTextArea's API

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Script Editor: replace Languages by ScriptEngineFactory
ScriptService: add canHandleFile(String fileName)

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Script Editor: Introduce a Writer to write to JTextAreas

This class is needed for the new way scripts output their
stdout/stderr.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Script Editor: we need a LogService instance

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Script Editor: avoid using a GenericDialog for file choosing

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>