[package] name = "oursh" version = "0.4.4" edition = "2018" authors = ["Nathan Lilienthal "] description = "Modern, fast POSIX compatible shell" documentation = "https://docs.rs/oursh" readme = "README.md" license = "MIT" keywords = ["shell", "POSIX", "language", "lalrpop"] categories = ["command-line-utilities", "parser-implementations"] homepage = "https://nixpulvis.com/oursh/oursh" repository = "https://github.com/nixpulvis/oursh" # Compile our parser grammars. build = "build.rs" [badges] maintenance = { status = "experimental" } travis-ci = { repository = "https://github.com/nixpulvis/oursh" } [features] default = ["raw", "shebang-block"] # TODO: Justify and explain features. # Enables lexing of TEXT tokens, and parsing of `SheBang`, `HashLang`, # `AltLang` blocks. Without this feature, the POSIX shell aims not to vary # from a proper POSIX implementation at all. shebang-block = [] # Raw terminal mode for better control of the IO interactions. This allows # things like arrow keys for history, and cursor editing. raw = [] # # Save the history of commands (entered) for quick recall. # # TODO: Stop depending on raw if this ever interacts with anything beside the # # RELP input. # history = ["raw"] # # REPL tab completion. # completion = ["raw"] [dependencies] docopt = "1.1" uuid = { version = "0.8", features = ["v4"] } dirs = "3.0" lalrpop-util = "0.19" nix = "0.22" pwd = "1.3" ctrlc = "3.1" # Option 1: http://man7.org/linux/man-pages/man3/termios.3.html #termios = "*" # Option 2: http://ticki.github.io/blog/making-terminal-applications-in-rust-with-termion/ termion = "1.5" rustyline = "8" [build-dependencies] lalrpop = "0.19" [dev-dependencies] chrono = "0.4" assert_matches = "1" criterion = { version = "0.3", features = ["html_reports"] } [[bench]] name = "compare" harness = false [[bench]] name = "piped" harness = false