Ober brings the power of the Oberon interface to Java, blending command-line and GUI models. Ancestors are Oberon(http://www.oberon.ethz.ch/), Acme (http://plan9.bell-labs.com/sys/doc/acme/acme.ps) and Wily (http://www.cs.yorku.ca/~oz/wily/index.html).
Be the first to post a text review of Ober. Rate and review a project by clicking thumbs up or thumbs down in the right column.
Ober v0.9.7 now uses JavaScript (Mozilla's Rhino) instead of OGNL and has a new Text.Calc command. See the help message on startup for details.
* 2003-11-24 - v0.9.7 -- Switched from OGNL to JavaScript (Mozilla's Rhino project) -- Added Text.Calc command [from Text.Calc help] perform calculations and replace results into text. For Example:\n\ta = 3\n\tb = 4\n\tc = 0\n\t{c = a * b}. Execute Text.Calc -- Fixed bugs with command matching and shell command execution * 2003-07-30 - v0.9.6 -- Made Ober pluggable for GUI platform (Swing and SWT now supported) -- Improved file name representation for viewers Filename can be a shell command represented as an Ognl list (ex: [{"ls", "-l", "/tmp"}]) This allows Text.Get to get input from a shell process or a file. There is still some hokiness here because Text.Long assumes the last element is the filename, for the purposes of toggling back to a simple filename. -- Viewer content retrieval is now done in the background, so that you can retrieve output from a shell process without blocking -- Improved shell command handling -- Started work on an OberPlugin for Eclipse Command improvements -- Text.Long: toggles long listing for directories -- System.Help: improved look with coloring and boldness -- OgnlScript: fixed parsing bug, added getValue(OgnlContext con, Object root) * 2003-06-18 - v0.9.5 -- Improved Command System: Now More OO Than Ever! Restructured command code to use new OberNamespaces. Namespaces handle key bindings and command lookup. Each namespace can have a list of parents (which forms a DAG). To lookup up a command, Ober first computes the inheritance list (placing common ancestors after their descendants in the list) and then walks it until it finds the command. If none is found, Ober sends the "defaultCommand" message to each namespace in succession, until one of the messages returns true. Key bindings are handled in a similar fashion. -- OberContext is now more accurate about finding commands -- OberContext now evaulates commands in the context of the context object, instead of the source viewer -- OberLayout now has a setPosition(OberViewer viewer, float position) method for more easily configuring viewers -- updated to OGNL version 2.5.1 -- updated .oberrc on website to show how to make a "guide" track new commands: System Default Command -- invokes a shell command with the arguments you clicked on. If the first argument begins with a "!", then the command is taken to the end of the line System.Detach -- detach a split view from the original text document System.Define <namespace.name> <description> <OGNL expr> -- define a new command (useful for autoloading) * 2003-03-21 - v0.9.4 Improved hokey help() code * 2003-03-20 - v0.9.3 Ober.createMain() now reads in $HOME/.oberrc on startup new commands: System.Split -- Create another viewer on the same document. System.Exec <java expr> -- execute a java expression enclosed in square brackets (this really just retrieves the first argument as a string and discards it). System.Load <filename> -- run commands in a file; each command should be on a separate line. System.View <filename> -- view a file, creating a new viewer if necessary. better error handling so that commands can just throw Exception * 2003-03-19 - v0.9.2 Ober now supports key bindings. There is only one for now: ctrl-enter executes the command at the beginning of the line. * 2003-03-14 - v0.9.1 New features include: Colors for tags -- make it easier to distinguish viewers and tracks Namespaces Better location choosing for new viewers * 2003-03-12 - v0.9.0 initial code
The biggest new thing in this release is a pluggable GUI layer. Now Ober supports both Swing and SWT, with an Eclipse plugin coming soon!
* 2003-07-30 - v0.9.6 -- Made Ober pluggable for GUI platform (Swing and SWT now supported) -- Improved file name representation for viewers Filename can be a shell command represented as an Ognl list (ex: [{"ls", "-l", "/tmp"}]) This allows Text.Get to get input from a shell process or a file. There is still some hokiness here because Text.Long assumes the last element is the filename, for the purposes of toggling back to a simple filename. -- Viewer content retrieval is now done in the background, so that you can retrieve output from a shell process without blocking -- Improved shell command handling -- Started work on an OberPlugin for Eclipse Command improvements -- Text.Long: toggles long listing for directories -- System.Help: improved look with coloring and boldness -- OgnlScript: fixed parsing bug, added getValue(OgnlContext con, Object root) * 2003-06-18 - v0.9.5 -- Improved Command System: Now More OO Than Ever! Restructured command code to use new OberNamespaces. Namespaces handle key bindings and command lookup. Each namespace can have a list of parents (which forms a DAG). To lookup up a command, Ober first computes the inheritance list (placing common ancestors after their descendants in the list) and then walks it until it finds the command. If none is found, Ober sends the "defaultCommand" message to each namespace in succession, until one of the messages returns true. Key bindings are handled in a similar fashion. -- OberContext is now more accurate about finding commands -- OberContext now evaulates commands in the context of the context object, instead of the source viewer -- OberLayout now has a setPosition(OberViewer viewer, float position) method for more easily configuring viewers -- updated to OGNL version 2.5.1 -- updated .oberrc on website to show how to make a "guide" track new commands: System Default Command -- invokes a shell command with the arguments you clicked on. If the first argument begins with a "!", then the command is taken to the end of the line System.Detach -- detach a split view from the original text document System.Define <namespace.name> <description> <OGNL expr> -- define a new command (useful for autoloading) * 2003-03-21 - v0.9.4 Improved hokey help() code * 2003-03-20 - v0.9.3 Ober.createMain() now reads in $HOME/.oberrc on startup new commands: System.Split -- Create another viewer on the same document. System.Exec <java expr> -- execute a java expression enclosed in square brackets (this really just retrieves the first argument as a string and discards it). System.Load <filename> -- run commands in a file; each command should be on a separate line. System.View <filename> -- view a file, creating a new viewer if necessary. better error handling so that commands can just throw Exception * 2003-03-19 - v0.9.2 Ober now supports key bindings. There is only one for now: ctrl-enter executes the command at the beginning of the line. * 2003-03-14 - v0.9.1 New features include: Colors for tags -- make it easier to distinguish viewers and tracks Namespaces Better location choosing for new viewers * 2003-03-12 - v0.9.0 initial code
We now have namespaces with default commands (including a default shell command for the System namespace). Check it the other exciting changes! -- Bill
* 2003-06-18 - v0.9.5 -- Improved Command System: Now More OO Than Ever! Restructured command code to use new OberNamespaces. Namespaces handle key bindings and command lookup. Each namespace can have a list of parents (which forms a DAG). To lookup up a command, Ober first computes the inheritance list (placing common ancestors after their descendants in the list) and then walks it until it finds the command. If none is found, Ober sends the "defaultCommand" message to each namespace in succession, until one of the messages returns true. Key bindings are handled in a similar fashion. -- OberContext is now more accurate about finding commands -- OberContext now evaulates commands in the context of the context object, instead of the source viewer -- OberLayout now has a setPosition(OberViewer viewer, float position) method for more easily configuring viewers -- updated to OGNL version 2.5.1 -- updated .oberrc on website to show how to make a "guide" track new commands: System Default Command -- invokes a shell command with the arguments you clicked on. If the first argument begins with a "!", System.Detach -- detach a split view from the original text document System.Define <namespace.name> <description> <OGNL expr> -- define a new command (useful for autoloading) * 2003-03-21 - v0.9.4 Improved hokey help() code * 2003-03-20 - v0.9.3 Ober.createMain() now reads in $HOME/.oberrc on startup new commands: System.Split -- Create another viewer on the same document. System.Exec <java expr> -- execute a java expression enclosed in square brackets (this really just retrieves the first argument as a string and discards it). System.Load <filename> -- run commands in a file; each command should be on a separate line. System.View <filename> -- view a file, creating a new viewer if necessary. better error handling so that commands can just throw Exception * 2003-03-19 - v0.9.2 Ober now supports key bindings. There is only one for now: ctrl-enter executes the command at the beginning of the line. * 2003-03-14 - v0.9.1 New features include: Colors for tags -- make it easier to distinguish viewers and tracks Namespaces Better location choosing for new viewers * 2003-03-12 - v0.9.0 initial code
I'm finishing the namespace code as I have time. This makes namespaces into real objects (instead of just string prefixes). That whole point of this is to allow namespaces to handle default commands (e.g. so you can middle click on a shell command and get the output, like in Wiley). -- Bill
Be the first person to add a text review.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?