pry-editline 1.1.1 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 58c27d48c49c57ed98ee7b4237f1056294d8eaf8
4
+ data.tar.gz: 7df6e7b2dae2e00fe388dd1aa0a372ce81d571ee
5
+ SHA512:
6
+ metadata.gz: e5e101bb98b9ca2ddb0043ab52de630680a8cdb5a052773c9032c085f6f2b83e0800653f8cf7321fcef8237534e3c942adace7bf6d48694e1408f0098d66e381
7
+ data.tar.gz: d7042182de2f989dab8f12abc582847ac08d116305d846b033bf6a1cee5a31149c79aaec2cfcb3c41486b44d8f84abecac8a0929c54903633e34144d0e462328
@@ -1,5 +1,4 @@
1
- pry-editline
2
- ------------
1
+ # pry-editline
3
2
 
4
3
  Whenever I'm using IRB or [Pry][], my editor always feels too far away.
5
4
  Yes, there are [various gems](http://utilitybelt.rubyforge.org/) out
@@ -7,7 +6,7 @@ there that will let me spawn an editor and evaluate the result, but
7
6
  that's not what I need. Usually I'm about 80 characters or so into a
8
7
  hairy one-liner when I think, "you know, I really wish I was in Vim
9
8
  right about now." In Bash, one can load the current command line into
10
- an editor with `C-x C-e`. And now, you can do so in IRB and Pry.
9
+ an editor with `C-x C-e`. And now, you can do the same in IRB and Pry.
11
10
 
12
11
  The gem is named after [Pry][] so that it will be automatically loaded
13
12
  as a Pry plugin (and because, let's face it, that's a good train to
@@ -16,8 +15,7 @@ hitch our wagon to). But it also works in IRB if you add `require
16
15
 
17
16
  [Pry]: http://pry.github.com/
18
17
 
19
- FAQ
20
- ---
18
+ ## FAQ
21
19
 
22
20
  > `C-x C-e` is too hard to type.
23
21
 
@@ -30,73 +28,61 @@ You can add an alias for it in `~/.inputrc`. Observe:
30
28
  Actually, I already added `C-o` for you. So don't add that one. It
31
29
  already works. It stands for "open".
32
30
 
33
- > What about vi readline bindings?
31
+ > What about vi Readline bindings?
34
32
 
35
33
  They're supported, too. In addition to `C-x C-e` and `C-o` in insert
36
34
  mode, you can use `o` or `v` in normal mode.
37
35
 
38
- > It's not working on OS X.
36
+ > It's not working in REE.
39
37
 
40
- By default, readline on OS X uses libedit. I don't know what that means
41
- exactly other than it leaves you with a horribly crippled readline that
42
- doesn't work with pry-editline. To link against a different readline,
43
- pass the `--with-readline-dir=` flag to `./configure`. If you're using
44
- RVM, pass it to `rvm install`. Or better yet, make it the default:
38
+ REE seems to have an incomplete Readline implementation. See [this
39
+ issue](https://github.com/tpope/pry-editline/pull/2).
45
40
 
46
- echo rvm_configure_flags=--with-readline-dir=/usr/local >> ~/.rvmrc
41
+ > It's not working on OS X.
47
42
 
48
- To *install* readline to `/usr/local`, you might consider using
49
- Homebrew. After installing, you need instruct it to link that readline
50
- into `/usr/local`:
43
+ OS X ships with the Readline replacement Editline rather than GNU Readline.
44
+ It's a horribly crippled replacement, and it won't work with pry-editline.
45
+ The simplest way to get a proper Readline is with [Homebrew][]:
51
46
 
52
47
  brew install readline
53
- brew link readline
54
-
55
- Actually for me, it went more like:
56
-
57
- $ brew install readline
58
- ...
59
- $ brew link readline
60
- Error: readline has multiple installed versions
61
- $ brew link readline 6.2.1
62
- Error: readline has multiple installed versions
63
- $ brew link readline -v6.2.1
64
- Error: readline has multiple installed versions
65
- $ brew link -v6.2.1 readline
66
- Error: readline has multiple installed versions
67
- $ brew remove readline
68
- Error: readline has multiple installed versions
69
- Use `brew remove --force readline` to remove all versions.
70
- $ brew remove -v6.1 readline
71
- Error: readline has multiple installed versions
72
- Use `brew remove --force readline` to remove all versions.
73
- $ brew remove --force readline
74
- Uninstalling readline...
75
- $ brew install readline
76
- ...
77
- $ brew link readline
78
-
79
- Yeah, it's a bit of a pain. Sorry your OS hates you. :(
48
+
49
+ You'll need to tell Ruby to use this Readline when configuring it. If you're
50
+ compiling by hand, give it as an option to `./configure`:
51
+
52
+ ./configure --with-readline-dir=$(brew --prefix readline)
53
+
54
+ If you use rbenv, check out the [rbenv-readline][] plugin to automatically
55
+ pass this option when compiling. If you're using RVM, you can set configure
56
+ options in your `.rvmrc`:
57
+
58
+ echo rvm_configure_flags=--with-readline-dir=$(brew --prefix readline) \
59
+ >> ~/.rvmrc
60
+
61
+ [Homebrew]: http://mxcl.github.com/homebrew/
62
+ [rbenv-readline]: https://github.com/tpope/rbenv-readline
80
63
 
81
64
  > It's not working with `rails console`/my Bundler setup.
82
65
 
83
- [Here's one potential workaround][workaround]. You might have to
84
- explicitly `require 'pry-editline'` in your `.pryrc`, too.
66
+ If you can't/won't add it to your `Gemfile`, try this hack in your `.pryrc`:
67
+
68
+ Gem.path.each do |gemset|
69
+ $:.concat(Dir.glob("#{gemset}/gems/pry-*/lib"))
70
+ end if defined?(Bundler)
71
+ $:.uniq!
72
+ require 'pry-editline'
85
73
 
86
- [workaround]: https://github.com/carlhuda/bundler/issues/183#issuecomment-1149953
74
+ Let me know if you come up with something better.
87
75
 
88
76
  > How does it work?
89
77
 
90
78
  Well first, it overrides `ENV['INPUTRC']` so it can do some magic. And
91
79
  then, it does some magic!
92
80
 
93
- Self Promotion
94
- --------------
81
+ ## Self Promotion
95
82
 
96
83
  Follow [tpope](http://tpo.pe/) on [GitHub](https://github.com/tpope),
97
84
  [Twitter](http://twitter.com/tpope), and [Google+](http://tpo.pe/plus).
98
85
 
99
- License
100
- -------
86
+ ## License
101
87
 
102
88
  Copyright (c) Tim Pope. MIT License.
@@ -48,7 +48,9 @@ EOF
48
48
 
49
49
  def self.completion_proc
50
50
  lambda do |s|
51
- if Readline.point == 0 && Readline.line_buffer =~ / $/
51
+ if Readline.respond_to?(:point) && Readline.respond_to?(:line_buffer) &&
52
+ Readline.point == 0 && Readline.line_buffer =~ / $/
53
+ then
52
54
  require 'tempfile'
53
55
  Tempfile.open(['readline-','.rb']) do |f|
54
56
  f.puts(Readline.line_buffer[0..-3])
@@ -66,7 +68,11 @@ end
66
68
 
67
69
  if defined?(Pry::InputCompleter)
68
70
  PryEditline.hijack_inputrc
69
- class <<Pry::InputCompleter
71
+ # Pry 0.9.10 way:
72
+ completer = Pry::InputCompleter
73
+ # Pry >0.9.10 way:
74
+ completer = Pry.config.completer if Pry.config.respond_to? :completer
75
+ class << completer
70
76
  unless method_defined?(:build_completion_proc_without_edit)
71
77
  alias build_completion_proc_without_edit build_completion_proc
72
78
 
@@ -3,9 +3,9 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = 'pry-editline'
6
- s.version = '1.1.1'
6
+ s.version = '1.1.2'
7
7
  s.authors = ['Tim Pope']
8
- s.email = ["ruby@tpop"+'e.org']
8
+ s.email = ["code@tpop"+'e.net']
9
9
  s.homepage = 'https://github.com/tpope/pry-editline'
10
10
  s.summary = 'C-x C-e to invoke an editor on the current pry (or irb) line'
11
11
 
metadata CHANGED
@@ -1,30 +1,32 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pry-editline
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
5
- prerelease:
4
+ version: 1.1.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Tim Pope
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2011-12-14 00:00:00.000000000Z
11
+ date: 2013-03-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rake
16
- requirement: &70304880022060 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :development
23
21
  prerelease: false
24
- version_requirements: *70304880022060
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
25
27
  description:
26
28
  email:
27
- - ruby@tpope.org
29
+ - code@tpope.net
28
30
  executables: []
29
31
  extensions: []
30
32
  extra_rdoc_files: []
@@ -38,26 +40,26 @@ files:
38
40
  - pry-editline.gemspec
39
41
  homepage: https://github.com/tpope/pry-editline
40
42
  licenses: []
43
+ metadata: {}
41
44
  post_install_message:
42
45
  rdoc_options: []
43
46
  require_paths:
44
47
  - lib
45
48
  required_ruby_version: !ruby/object:Gem::Requirement
46
- none: false
47
49
  requirements:
48
- - - ! '>='
50
+ - - '>='
49
51
  - !ruby/object:Gem::Version
50
52
  version: '0'
51
53
  required_rubygems_version: !ruby/object:Gem::Requirement
52
- none: false
53
54
  requirements:
54
- - - ! '>='
55
+ - - '>='
55
56
  - !ruby/object:Gem::Version
56
57
  version: '0'
57
58
  requirements: []
58
59
  rubyforge_project:
59
- rubygems_version: 1.8.6
60
+ rubygems_version: 2.0.0
60
61
  signing_key:
61
- specification_version: 3
62
+ specification_version: 4
62
63
  summary: C-x C-e to invoke an editor on the current pry (or irb) line
63
64
  test_files: []
65
+ has_rdoc: