4 ms·
Slightly embarrassingly (is this bad form?), I feel I should point out my really rather new and beta shell, Urchin: https://github.com/Spakman/urchin/ https://
by Spakman 16y ago
Slightly embarrassingly (is this bad form?), I feel I should point out my really rather new and beta shell, Urchin:
https://github.com/Spakman/urchin/ https://github.com/Spakman/urchin/
I really like a lot about existing shells like Bash and Zsh, so it operates much like a standard shell - pipelines, job control, redirections, tilde expansion, aliasing, globbing, etc.
However, actual shell scripting feels really grim, so sometime in the near future (hopefully) it will be able to pipe into Ruby when needed. This will let you write Ruby directly on the command line, without escaping quotes and such and should make loops and custom shell functions much more fun for a Ruby programmer.
I also fancy experimenting with some things I've not seen in other shells - fuzzy filepath completion, per-project history, etc.
Any ideas are welcome!
- ericb 16y agoYour vision sound much closer to what I was hoping Rush would be. I don't think it is bad form at all to mention it. Not sure if this exists in Bash at the moment in the various/terminals and consoles but a searchable history of the commands I've run would be handy. Also, some easy way to get command history in segments (maybe allowing me to comment my command history and pull everything from one comment marker to the next) so I can make a repeatable shell script out of the correct set of commands once I get the commands right. As another idea to play with, if there is a way (probably using github) to index shell recipes others have made and look them up on the command line, that could be fun. So I could do "urchin search 'postgres 9 snow leopard' and grab someone else's command recipe to build postgres if one is out there.
- deleted 16y ago[deleted]
- gfunk911 16y agoHeh, I have the same story. Messaged both of you on Github, we should team up. https://github.com/mharris717/lsl https://github.com/mharris717/lsl
- Spakman 16y agoNice one - I'm glad I'm not the only one where this type of shell sounds like a good idea! I'd definitely like some clever types of history management. I've not looked too closely at those facilities in other shells (I would guess some of them have some cool ideas), but it sounds like we can certainly come up with some more! I'm going to quickly lose track of this thread if I'm not careful. Do you use GitHub? Can you contact me there so we can stay in touch more easily, please?
- afiler 16y agoSpakman, I'm very excited about this. And I say this as someone who's writing his own ruby shell/shell-complement. Mine is mostly intended to be invoked from Bash the way you'd invoke grep, though it can also be run interactively, where it behaves like irb. The one clever thing I did is allow you to avoid escaping by putting your ruby command after a # on the bash command-line. Bash then ignores everything after the #, and crush (my shell) grabs the last line in the bash history and evaluates the part after the #. I will definitely be trying out your shell. If you're curious about mine (feel free to steal code, no promises that everything works as committed): https://github.com/afiler/crush https://github.com/afiler/crush
- Spakman 16y agoCool! It looks like we also have similar ideas. I've been far too busy to get much time to look at any of the alternative shell projects this week, but I do intend to soon. I was having similar thoughts about entering Ruby 'mode' (for want of a better term) with special characters. I'll be checking out your work soon. All of these things make for some exciting stuff - I didn't realise others might be excited about them too!