[Mulgara-dev] TqlSession changes

Brian Sletten brian at bosatsu.net
Mon Nov 3 03:00:41 UTC 2008


I've checked in some changes to the Tql Shell (TqlSession) to leverage  
JLine. I'm going to be creating a new shell shortly based on the  
Command infrastructure, but for the time being I wanted to add this  
behavior.

If you *WANT* the Swing shell, you now have to explicitly ask for it:

java -jar dist/querylang-2.0.6.jar --gui

The default behavior is now triggered by:

java -jar dist/querylang-2.0.6.jar

this will open up a "shell" in your outer shell and query a server  
running on localhost for the names of models (for tabbed completion).  
If you want to get models from another machine specify -r <hostname>.  
Right now I am only doing tabbed completion of model names. If you type:

select $s $p $o from <rmi:<tab>

you'll see something like:

rmi://192.168.0.7/server1#             rmi://192.168.0.7/ 
server1#sampledata   rmi://192.168.0.7/server1#graph

If you give it enough to uniquely identify the model, it will complete  
it.

I eventually will be capturing variable names and URIs as you type  
them for completion as well, but I am going to add that to the new  
shell first.

In addition to working within your shell and tabbed completion, we  
also now have command history (triggered by up arrow and down arrow)  
including cross-session histories (stored in $HOME/.itqllog), and  
shell clearing on proper terminals (CTRL-L).

I hope people find these useful. I've been wanting this capability  
ever since I first started using TKS. The new shell will have some  
other capabilities too (that I will be writing up shortly), but I want  
to see what people think about these new capabilities, what else  
they'd like to see, etc. Please test this on Windows and let me know  
if there are any issues.

Thanks,

Brian



More information about the Mulgara-dev mailing list