Jun 13th, 2009, 05:04 AM
[Feature] Shell escape from Roo as in other *nix tools
When I recently went through the roo example I did not like the notion having to quit the roo shell in order to issue Maven commands (like mvn eclipse:eclipse and the likes). I circumvented this issue by using separate 'screen' sessions (kind of terminal multiplexing, for those who do not know it already) in the same project directory, so I could easily switch between the roo shell and my default bash in order to issue those commands.
But since roo is multi-platform and not everybode uses a potent shell or wants to have open multiple terminals, I guess it would make sense to introduce a feature like the shell escapes within "less" or "vi" using a leading exclamation mark '!' followed by the command to run.
E. g. when inside roo you could do somethind like:
to get a directory listing. Of course the environment settings (variables, paths - $PATH etc.) would have to be inherited to the subshell executing the command so settings like $JAVA_HOME are available.
What do you think about it?
This feature would not really make sense within STS though (when using the embedded roo shell) except if you may specify some kind of shell to run for this kind of "external" commands.
Any opinions, objections?
Jun 13th, 2009, 10:04 PM
This is actually one of the first things I looked for, but I've learned to work around this by having multiple terminal sessions up in the same directory. Of course on Linux you can do a ctrl-z, run whatever command, then type fg to bring back roo. Not much better than running two terminals though.
Jun 16th, 2009, 07:46 AM
You guys should use screen! It's way-cool... Although I don't like the fact the mouse wheel scrolls through old commands - I personally would prefer it to scroll the text, the same way as a normal command prompt does when you use the mouse wheel.
On a more serious note, I tend to just hit CTRL + T simultaneously which gives me a new tab and shell in the current working directory. I then can CTRL PG UP or PG DN to move from one tab to another. It works pretty well and still gives me full access to the power of my shell for things like command piping etc.
When we break the Roo shell out of Roo and into the standalone Spring Shell I will spend more time thinking about how to make the shell more closely integrated with the operating system. The current shell was motivated due to the usability and application lifecycle issues, as opposed to providing a replacement for the operating system shell. I certainly agree there is scope to make the Spring Shell offer better integration.
Jun 17th, 2009, 02:57 AM
The mouse-wheel scrolling should be an issue of the terminal emulator you use. I assume you're using the gnome-terminal (as during the demonstration part in the SpringOne keynote)? That one defaults the mouse wheel to scroll through your history.
Originally Posted by Ben Alex
I am using the default (dumb) xterm in my Xubuntu installation - which ansers to the mouse wheel by scrolling through the window output as you expected it to. If that does not help, you could always go for screen's history / copy mode (details in the screen man page).
Cheers & HTH,
Jun 19th, 2009, 03:40 PM
Thanks for the suggestion; I'll give it a go.
Tags for this Thread