* 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 -- 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 -- execute a java expression enclosed in square brackets (this really just retrieves the first argument as a string and discards it). System.Load -- run commands in a file; each command should be on a separate line. System.View -- 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