README.md in backticks-0.3.0 vs README.md in backticks-0.3.1
- old
+ new
@@ -1,29 +1,26 @@
-# Backticks
+# Introduction
-Backticks is an intuitive OOP wrapper for invoking command-line processes and
-interacting with them. It improves on Ruby's built-in invocation methods in a
-few ways:
- - Uses [pseudoterminals](https://en.wikipedia.org/wiki/Pseudoterminal) for unbuffered I/O
+Backticks is a powerful, intuitive OOP wrapper for invoking command-line processes and
+interacting with them.
+
+"Powerful" comes from features that make Backticks especially well suited for time-sensitive
+or record/playback applications:
+ - Uses [pseudoterminals](https://en.wikipedia.org/wiki/Pseudoterminal) for realtime stdout/stdin
- Captures input as well as output
- - Intuitive API that accepts CLI parameters as Ruby positional and keyword args
+ - Separates stdout from stderr
-If you want to write a record/playback application for the terminal, or write
-functional tests that verify your program's output in real time, Backticks is
-exactly what you've been looking for!
+"Intuitive" comes from a DSL that lets you provide command-line arguments as if they were
+Ruby method arguments:
-For an example of the intuitive API, let's consider how we list a bunch of
-files or search for some text with Backticks:
-
-```ruby
-# invokes "ls -l -R"
-Backticks.run 'ls', l:true, R:true
-
-# invokes "grep -H --context=2 --regexp=needle haystack.txt"
-Backticks.run 'grep', {H:true, context:2, regexp:'needle'}, 'haystack.txt'
```
+Backticks.run 'ls', R:true, ignore_backups:true, hide:'.git'
+Backticks.run 'cp' {f:true}, '*.rb', '/mnt/awesome'
+```
-Notice how running commands feels like a plain old Ruby method call.
+If you want to write a record/playback application for the terminal, or write
+functional tests that verify your program's output in real time, Backticks is
+exactly what you've been looking for!
## Installation
Add this line to your application's Gemfile: