|
|
Here's a list of small projects I haven't found time to work
on yet. If you'd like to volunteer to help out with one of
these, or to suggest others, feel free to drop me a
line.
- search for pattern tool
(aka grep) that permits recursive directory
traversal and regular expressions. Results could be
printed, or perhaps an interactive mode could be provided
to show all the files that have lines that match.
(included in JShell 2000)
- commando tool - gives
interactive dialog to drive any tool interactively. If
you have seen the Macintosh Programmer's Workshop
(MPW) you'll know what I mean by this. Requires
some kind of generic format for describing the parameters
of a tool (how about XML for this?).
- make utility - define a new
XML vocabulary for program maintenance, and implement
tools that automate the build process. To see my ideas on
how this might look, take a look at my Program
Maintenance Language (PML)
design sketch. (See ANT for a working implementation that
JShell will be incorporating in future
releases.)
- native tool
integration: be able to invoke perl, MPW
tools, etc. with full I/O redirection, etc. easy to
implement on Windows, harder on the Mac, but probably
worth the effort. A perl implementation already
exists in the form of a Java accessible shared library.
(included in JShell 2000)
- scripting support:
JavaScript? more complete tcsh/bash emulation. The goal
so far has been to create a powerful environment, but to
be fairly shell language agnostic. I'd like to see other
shells created. A JavaScript shell would be cool.
(included in JShell 2000)
- shell/console integration:
where does a history mechanism belong? in the shell, or
in the console? The current telnetd input stream provides
^P/^N access to recent command lines, and it's all very
line-oriented. Should a raw character-by-character input
mode be supported? An interface could be defined that
lets the shell control input and history regardless of
the input mechanism used. Filename completion would be
nice. (included in JShell 2000)
- better java command:
This command loads classes found in the current directory
into a custom class loader, allowing interactive use of
javac and .class files. However, it loads any other
classes from the system class path, and doesn't allow
those classes to be unloaded. The java command should
have a way to specify that particular classes or perhaps
packages should be loaded into a private class loader
(such as sun.tools.*) so that these classes can be
unloaded when the java command is unloaded. (included in
JShell 2000)
- AppleEvent support:
doscript AppleEvent would run some commands and return
the textual results in the reply.
- full UNICODE quoted
strings in the shell. Right now there's a bug in the
antlr generated grammar that doesn't let all the
option characters be typed in, such as (option-8)
or (option-f). A lexical hack is probably
possible, but I haven't figured it out yet.
To contact me, send mail to
beard@netscape.com.
|