README.md in tty-editor-0.1.2 vs README.md in tty-editor-0.2.0

- old
+ new

@@ -1,6 +1,7 @@ # TTY::Editor [![Gitter](https://badges.gitter.im/Join%20Chat.svg)][gitter] + [![Gem Version](https://badge.fury.io/rb/tty-editor.svg)][gem] [![Build Status](https://secure.travis-ci.org/piotrmurach/tty-editor.svg?branch=master)][travis] [![Build status](https://ci.appveyor.com/api/projects/status/yw4guy16meq5wkee?svg=true)][appveyor] [![Code Climate](https://codeclimate.com/github/piotrmurach/tty-editor/badges/gpa.svg)][codeclimate] [![Coverage Status](https://coveralls.io/repos/github/piotrmurach/tty-editor/badge.svg)][coverage] @@ -34,35 +35,72 @@ $ gem install tty-editor ## Usage -Open file or text in default editor by calling `open`: +To edit a file in default editor: ```ruby -TTY::Editor.open # opens editor with no input -TTY::Editor.open('hello.rb') # opens editor with the file contents -TTY::Editor.open('some text') # opens editor with text +TTY::Editor.open('hello.rb') ``` -You can force to always use a specific editor by passing `:command` option: +To edit content in a default editor: ```ruby +TTY::Editor.open(content: "some text") +``` +You can also set your preferred editor command: + +```ruby TTY::Editor.open('hello.rb', command: :vim) ``` +Also, the `VISUAL` or `EDITOR` shell environment variables take precedencee when auto detecting available editors. + +## Interface + +### open + +If you wish to open editor with no file or content do: + +```ruby +TTY::Editor.open +``` + +When editor successfully opens file or content then `true` is returned. + +If the editor cannot be opened, a `TTY::Editor::CommandInvocation` error is raised. + +In order to open text content inside an editor do: + +```ruby +TTY::Editor.open(content: 'text') +``` + +You can also provide filename that will be created with specified content before editor is opened: + +```ruby +TTY::Editor.open('new.rb', content: 'text') +``` + +If you open a filename with already existing content then new content gets appended at the end of the file. + +### :env + Use `:env` key to forward environment variables to the editor. ```ruby -TTY::Editor.open('hello.rb', env: { ... }) +TTY::Editor.open('hello.rb', env: {"FOO" => "bar"}) ``` -## Interface +### :command -### open +You can force to always use a specific editor by passing `:command` option: -When editor successfully opens file or content then `true` is returned as value, otherwise `TTY::Editor::CommandInvocation` error is raised. +```ruby +TTY::Editor.open('hello.rb', command: :vim) +``` ## Development After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.