npm install lishCodename: lish
Functionnal Shell developed with LiveScript
> npm install -g lish
> lish
Or
> git clone https://github.com/Champii/LiveShell.git && cd LiveShell
> node .
lish [[--live] | [filename]]
You can use --live argument to make it evaluate as you type, or give a file to execute.
#### /!\ Warning
With the --live argument: As the shell input is auto-processed every second, be carefull to what you type in. This can lead to various errors and can make your filesystem messy if you don't handle it carefully.
``livescriptUseless. Here pwd! returns an Array so we take first item
ls head pwd!
`livescript
Get every filenames with length > 10
ls! |> filter (.length > 10)
``livescript
Get file name of files that contain 'require'
grep <[-rn require .]>
|> map split(\:) >> (.0)
|> unique
``livescript
Get every lines that have 'error' in /var/log
ls-path \/var/log
|> filter is-file
|> map grep-file \error
`Features
- Livescript evaluation
- Live output (Evaluation as you type)
- Each binary in
$PATH is wrapped (ls, cat, head, ...)
- Their output are Arrays so you can chain them
`livescript
ls! |> filter (.length > 10)
`
- You can pass them an array to make it easy
`livescript
grep <[-rn console.log .]>
`
- Preloaded prelude-ls and fs
- fs function are pre-curryfiedBuiltins:
`livescript
Std
string-contains :: Pattern -> String -> BooleenFile related
cd :: FolderPath -> void
sizeof :: Path -> void
is-file :: Path -> Booleen
is-dir :: Path -> Booleen
grep-file :: Pattern -> FilePath -> [String]
ls-path :: Path -> [Path]Git related
git-branch :: void -> String
pull :: String -> [String]
push :: String -> [String]
commit :: String -> [String]
``