invim 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +14 -0
- data/bin/invim +7 -0
- data/invim.gemspec +1 -0
- data/lib/invim.rb +38 -1
- data/lib/invim/version.rb +1 -1
- metadata +7 -5
data/README.md
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
Invim
|
2
|
+
=====
|
3
|
+
|
4
|
+
Description
|
5
|
+
-----------
|
6
|
+
|
7
|
+
Invim is a gem that provides you with a quick and easy way to open current terminal tab (shell/irb) in Vim for easy searching & copying. Terminal.app only.
|
8
|
+
|
9
|
+
Installation
|
10
|
+
------------
|
11
|
+
|
12
|
+
gem install invim
|
13
|
+
|
14
|
+
|
data/bin/invim
ADDED
data/invim.gemspec
CHANGED
@@ -16,6 +16,7 @@ Gem::Specification.new do |s|
|
|
16
16
|
s.files = `git ls-files`.split("\n")
|
17
17
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
|
+
puts s.executables
|
19
20
|
s.require_paths = ["lib"]
|
20
21
|
|
21
22
|
# specify any dependencies here; for example:
|
data/lib/invim.rb
CHANGED
@@ -1,7 +1,44 @@
|
|
1
1
|
require "invim/version"
|
2
2
|
|
3
3
|
module Invim
|
4
|
-
|
4
|
+
|
5
|
+
FILE = '/tmp/invim.tmp'
|
6
|
+
|
7
|
+
def invim
|
8
|
+
system empty_file
|
9
|
+
system capture_terminal_text
|
10
|
+
system open_file
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def empty_file
|
16
|
+
"> #{FILE}"
|
17
|
+
end
|
18
|
+
|
19
|
+
def open_file
|
20
|
+
"/Applications/MacVim.app/Contents/MacOS/Vim + #{FILE}"
|
21
|
+
end
|
22
|
+
|
23
|
+
def capture_terminal_text
|
24
|
+
# figure out how to suppress spaces in shell heredoc
|
25
|
+
<<-COMMAND
|
26
|
+
osascript <<END
|
27
|
+
set the_filepath to "#{FILE}"
|
28
|
+
set the_file to POSIX file the_filepath
|
29
|
+
tell application "Terminal"
|
30
|
+
tell front window
|
31
|
+
set the_text to history of selected tab as text
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
open for access the_file with write permission
|
36
|
+
write the_text to the_file
|
37
|
+
close access the_file
|
38
|
+
END
|
39
|
+
COMMAND
|
40
|
+
end
|
41
|
+
|
5
42
|
end
|
6
43
|
|
7
44
|
Object.send(:include, Invim)
|
data/lib/invim/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: invim
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Milan Dobrota
|
@@ -21,8 +21,8 @@ dependencies: []
|
|
21
21
|
description: Open current terminal tab (shell, irb) in vim text editor.
|
22
22
|
email:
|
23
23
|
- milan@milandobrota.com
|
24
|
-
executables:
|
25
|
-
|
24
|
+
executables:
|
25
|
+
- invim
|
26
26
|
extensions: []
|
27
27
|
|
28
28
|
extra_rdoc_files: []
|
@@ -30,7 +30,9 @@ extra_rdoc_files: []
|
|
30
30
|
files:
|
31
31
|
- .gitignore
|
32
32
|
- Gemfile
|
33
|
+
- README.md
|
33
34
|
- Rakefile
|
35
|
+
- bin/invim
|
34
36
|
- invim.gemspec
|
35
37
|
- lib/invim.rb
|
36
38
|
- lib/invim/version.rb
|