pry-de 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +17 -0
- data/README.md.erb +15 -0
- data/lib/pry-de.rb +34 -0
- data/lib/pry-de/version.rb +1 -1
- data/vim/ftplugin/ruby_pry-de.vim +9 -14
- metadata +3 -3
- data/,refactor +0 -0
data/README.md
CHANGED
@@ -3,3 +3,20 @@
|
|
3
3
|
Run-time Ruby Development Environment based on Pry. [Maturity: Infantile]
|
4
4
|
|
5
5
|
See: https://github.com/pry/pry/wiki/pry-de
|
6
|
+
|
7
|
+
- `,,` (toggle ,-prefixes off/on commands, for terse input)
|
8
|
+
- `,-` (Remove last item from history, in preparation for a `play` command)
|
9
|
+
- `,b` (Alias for `break`)
|
10
|
+
- `,c` (Alias for `continue`)
|
11
|
+
- `,f` (Alias for `finish`)
|
12
|
+
- `,lib` (edit lib/)
|
13
|
+
- `,loc` (Show hash of local vars)
|
14
|
+
- `,m` (play method body only)
|
15
|
+
- `,n` (Alias for `next`)
|
16
|
+
- `,refactor` (No description.)
|
17
|
+
- `,s` (Alias for `step`)
|
18
|
+
- `,w` (Alias for `whereami`)
|
19
|
+
- `/[$?]?\s*(.*?)\s*,,e\s*(.*)/` (edit from anywhere on the line)
|
20
|
+
- `?$` (show-doc + show-source)
|
21
|
+
- `C$` (Hop to tag in the Ruby C source)
|
22
|
+
- `cat--EX` (show whole backtrace)
|
data/README.md.erb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# pry-de
|
2
|
+
|
3
|
+
Run-time Ruby Development Environment based on Pry. [Maturity: Infantile]
|
4
|
+
|
5
|
+
See: https://github.com/pry/pry/wiki/pry-de
|
6
|
+
|
7
|
+
<%
|
8
|
+
warn "(Running pry…)"
|
9
|
+
help_output = `pry -e 'Pry.config.pager = false' -e help -e quit`
|
10
|
+
help_output.match /pry-de.+?\n(.*?)\n\n/m
|
11
|
+
pry_de_commands = $1.split(/\n/)
|
12
|
+
pry_de_commands.each do |e|
|
13
|
+
/\s*(?<cmd>\S+)\s+(?<desc>.+)/ =~ e
|
14
|
+
%> - `<%= cmd %>` (<%= desc %>)
|
15
|
+
<% end %>
|
data/lib/pry-de.rb
CHANGED
@@ -21,6 +21,9 @@ module PryDe
|
|
21
21
|
psuedo_alias ',c', 'continue'
|
22
22
|
psuedo_alias ',f', 'finish'
|
23
23
|
|
24
|
+
psuedo_alias ',w', 'whereami'
|
25
|
+
|
26
|
+
# (Trying to upstream. See: https://github.com/pry/pry/pull/722 )
|
24
27
|
command ',loc', 'Show hash of local vars' do |*args|
|
25
28
|
pry_vars = [
|
26
29
|
:____, :___, :__, :_, :_dir_, :_file_, :_ex_, :_pry_, :_out_, :_in_ ]
|
@@ -45,6 +48,36 @@ module PryDe
|
|
45
48
|
run_command 'play --lines 2..-2 -m'
|
46
49
|
end
|
47
50
|
|
51
|
+
command ',refactor' do
|
52
|
+
raw = `git status --porcelain`
|
53
|
+
to_examine = raw.split(/\n/).map do |change|
|
54
|
+
change.sub! /./, '' # don't care about the cache status
|
55
|
+
status, filename = change.split(/ /, 2)
|
56
|
+
case status
|
57
|
+
when 'A', 'M', '?' then filename
|
58
|
+
when 'D' then nil
|
59
|
+
else
|
60
|
+
_pry_.output.puts "pry-de doesn't know about status %s for %s" % \
|
61
|
+
[ status, filename ]
|
62
|
+
filename
|
63
|
+
end
|
64
|
+
end.compact
|
65
|
+
to_examine.reject! do |filename|
|
66
|
+
dir = File.dirname filename
|
67
|
+
path = File.basename filename
|
68
|
+
vim_swapfile = dir + '/.' + path + '.swp'
|
69
|
+
if File.exists? vim_swapfile
|
70
|
+
_pry_.output.puts "Found vim swapfile for #{filename} (Skipping)"
|
71
|
+
true
|
72
|
+
end
|
73
|
+
end
|
74
|
+
if 0 < to_examine.size
|
75
|
+
system Pry.config.editor, *to_examine
|
76
|
+
else
|
77
|
+
_pry_.output.puts "Nothing found to refactor via \`git status\`"
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
48
81
|
# Hopefully this will be of diminished employment, as more direct routes
|
49
82
|
# to the desired file:line grow, but for now it's a good all-purpose "edit"
|
50
83
|
command ',lib', 'edit lib/' do
|
@@ -55,6 +88,7 @@ module PryDe
|
|
55
88
|
end
|
56
89
|
end
|
57
90
|
|
91
|
+
# XXX needs to not recurse.
|
58
92
|
# alias_command ',r', 'hist --replay -1'
|
59
93
|
|
60
94
|
command '?$', 'show-doc + show-source' do
|
data/lib/pry-de/version.rb
CHANGED
@@ -1,15 +1,10 @@
|
|
1
|
-
" Add
|
2
|
-
|
3
|
-
"
|
1
|
+
" Add the pry debug line with \bp (or <Space>bp, if you did: map <Space> <Leader> )
|
2
|
+
map <Leader>bp orequire'pry';binding.pry<esc>:w<cr>
|
3
|
+
" Alias for one-handed operation:
|
4
|
+
map <Leader><Leader>p <Leader>bp
|
5
|
+
" …also, Insert Mode as bpry<space>
|
6
|
+
iabbr bpry require'pry';binding.pry
|
4
7
|
|
5
|
-
"
|
6
|
-
|
7
|
-
"
|
8
|
-
iabbr bpry require 'pry';binding.pry
|
9
|
-
|
10
|
-
" Nab the last line from ~/.pry_history.
|
11
|
-
map <leader>pry1 o<esc>:.!tail -1 ~/.pry_history<cr>==
|
12
|
-
|
13
|
-
" Recommended: Play with tslime.vim, vimux, et. al.
|
14
|
-
" I plan to really work out a good flow with the best parts of those, and put
|
15
|
-
" it here. In the meantime, these paltry snippets will have to do. ☹
|
8
|
+
" Nab lines from ~/.pry_history (respects "count")
|
9
|
+
nmap <Leader>pry :<c-u>let pc = (v:count1 ? v:count1 : 1)<cr>:read !tail -<c-r>=pc<cr> ~/.pry_history<cr>:.-<c-r>=pc-1<cr>:norm <c-r>=pc<cr>==<cr>
|
10
|
+
" ↑ thanks to Houl, ZyX-i, and paradigm of #vim for all dogpiling on this one.
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pry-de
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-10-
|
13
|
+
date: 2012-10-24 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: pry-full
|
@@ -66,7 +66,6 @@ executables: []
|
|
66
66
|
extensions: []
|
67
67
|
extra_rdoc_files: []
|
68
68
|
files:
|
69
|
-
- ! ',refactor'
|
70
69
|
- ! ',retest'
|
71
70
|
- .document
|
72
71
|
- .gitignore
|
@@ -75,6 +74,7 @@ files:
|
|
75
74
|
- Guardfile
|
76
75
|
- LICENSE.txt
|
77
76
|
- README.md
|
77
|
+
- README.md.erb
|
78
78
|
- Rakefile
|
79
79
|
- TODO-Pry
|
80
80
|
- VERSION
|
data/,refactor
DELETED
File without changes
|