Skip to content

iksuddle/wsh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wsh

A simple shell that speaks your language.

asciicast

Features

  • natural language support!
  • builtins (cd, pwd, lsv, etc.)
  • run programs from path
  • set variables: foo=bar
  • expand variables: echo $foo -> echo bar
  • pipes: cat Cargo.lock | grep "name"
  • input/output redirection: echo "hello world" > msg.txt

Configuration

The configuration file is located at $XDG_CONFIG_HOME/wsh/config.toml. If XDG_CONFIG_HOME is not set, $HOME/.config is used instead.

Example

# ~/.config/wsh/config.toml

prompt = "> "

Usage

To use the shell via natural language, enter wish mode:

$ wish
entering wish mode...
>> 

Set and expand variables:

$ foo=bar
$ hello=world
$ echo $foo $hello
bar world

Pipe commands:

cat Cargo.lock | grep "name"

Redirect IO:

cat < input.txt | grep "foo" | wc -l > count.txt

Run help command for more details.

About

A shell that speaks your language.

Resources

Stars

Watchers

Forks

Contributors

Languages