pry-coolline 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,28 +11,10 @@ Pry.config.coolline_mismatched_paren ||= "\e[41m"
11
11
 
12
12
  begin
13
13
  require 'coolline'
14
- require 'pry-coolline/paren_match'
15
-
16
- Pry.config.input = Coolline.new do |cool|
17
- cool.word_boundaries = [" ", "\t", ",", ";", '"', "'", "`", "<", ">",
18
- "=", ";", "|", "{", "}", "(", ")", "-"]
19
-
20
- # bring saved history into coolline
21
- cool.history_file = File.expand_path(Pry.config.history.file)
22
14
 
23
- cool.transform_proc = proc do
24
- if Pry.color
25
- code = CodeRay.scan(cool.line, :ruby).term
26
-
27
- if Pry.config.coolline_paren_matching
28
- PryCoolline.apply_paren_matching(code, cool.pos)
29
- end
15
+ require 'pry-coolline/paren_match'
16
+ require 'pry-coolline/wrapper'
30
17
 
31
- code
32
- else
33
- cool.line
34
- end
35
- end
36
- end
18
+ Pry.config.input = PryCoolline.make_input
37
19
  rescue LoadError
38
20
  end if ENV["TERM"] != "dumb"
@@ -1,3 +1,3 @@
1
1
  module PryCoolline
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
@@ -0,0 +1,45 @@
1
+ module PryCoolline
2
+ Wrapper = Struct.new(:cool) do
3
+ def readline(prompt)
4
+ cool.readline prompt
5
+ end
6
+
7
+ def completion_proc=(proc)
8
+ cool.completion_proc = proc do
9
+ proc.call cool.completed_word
10
+ end
11
+ end
12
+ end
13
+
14
+ module_function
15
+
16
+ # @return [Coolline]
17
+ def make_coolline
18
+ Coolline.new do |cool|
19
+ cool.word_boundaries = [" ", "\t", ",", ";", '"', "'", "`", "<", ">",
20
+ "=", ";", "|", "{", "}", "(", ")", "-"]
21
+
22
+ # bring saved history into coolline
23
+ cool.history_file = File.expand_path(Pry.config.history.file)
24
+
25
+ cool.transform_proc = proc do
26
+ if Pry.color
27
+ code = CodeRay.scan(cool.line, :ruby).term
28
+
29
+ if Pry.config.coolline_paren_matching
30
+ PryCoolline.apply_paren_matching(code, cool.pos)
31
+ end
32
+
33
+ code
34
+ else
35
+ cool.line
36
+ end
37
+ end
38
+ end
39
+ end
40
+
41
+ # @return [Wrapper] An object usable as an input object for Pry.
42
+ def make_input
43
+ Wrapper.new make_coolline
44
+ end
45
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pry-coolline
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-12 00:00:00.000000000 Z
12
+ date: 2013-01-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: coolline
@@ -75,6 +75,7 @@ files:
75
75
  - lib/pry-coolline.rb
76
76
  - lib/pry-coolline/paren_match.rb
77
77
  - lib/pry-coolline/version.rb
78
+ - lib/pry-coolline/wrapper.rb
78
79
  - pry-coolline.gemspec
79
80
  - test/helpers.rb
80
81
  - test/paren_match_test.rb