Navigation Menu

Skip to content

terrence2/trash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

trash
=====

About
-----
Terrence's Re-Borne Again Shell (trash) is a new shell aimed at significantly improving the command-line experience.


Status
------
Still in-development.


Goals
-----
These features are required for the basic level of shell functionality and will be present for the first release.

- Fast-to-parse, easy-to-learn, minimal syntax:
	Everything you need to use a shell interactively with none of the weighty syntax needed to make the shell a full, yet, hideous language.  Seriously, don't program in shell -- it's never worth it.  You'll just hate youself in 6 months when you have to fix it.  Just use python or perl.  If you _have_ to program in shell, use bash or tch.  Bash's parse.y is 5,600+ lines of language implementation.  Trash's parser is under 500 lines and it's going to stay that way.
	Things that are supported: chaining (;), piping (|), background jobs (&), conditional evaluation (&& and ||), subshells (()), glob and homedir expansion (*,?,~), and the full suite of file redirections that bash supports (<, >, >>, >&-, etc).

- Improved and expanded current-directory support.  It's 2010, why do we still have to use pushd if we want to be able to go back?  Tracking a list of visited directories is trivial; this gives us a full suite of web-browser-like features:
    - back: go to prior path, like popd, but for cd
    - forward: undo a back
    - up: enter the parent of the current directory
    - down: enter the first (alphabetically sorted) child directory under the current directory
    - next: enter the next (alphabetically sorted) sibling directory next to the current directory

- Fully interactive command completion.  No more 30 second pauses in the shell while all the disks in your local network spin up because you accidently hit tab under /mnt.  If you can type faster than trash can think, it's not going to stand in your way.

- Inline, visible completions.  Pushing tab is always an adventure -- it shouldn't be.  We will try to show you what you will get if you push tab, or what is keeping tab from making the completion you think it should be making.

- Fast, inline, history searches.  Ctrl+R can be a rather difficult bash feature to use successfully.  We will provide fish-like inline history searching -- type part of a command and push 'up' to search backwards.  We will also allow regexes in this position so that you can find even the wackiest, hard-to-remember history quickly.

About

Terrence's Re-Borne Again Shell

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published