lida 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/bin/lida +27 -13
  4. data/lida.gemspec +1 -1
  5. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f2efbc1792724bcb2d2e1156d92c3241d0f9e15dd80c3759f6ee86560a37eef6
4
- data.tar.gz: ece9d036d85a0b6af91ec82a9a3fa454946190dbbf59660c0033928ea1a79777
3
+ metadata.gz: e22eb2528939524d714b032a9b16af31c27bfea3ec313793a588ec6f6aee2fe7
4
+ data.tar.gz: 8a5d92f8ac40cf91e45c7de4540509c7d88573254353c9fa3122b5cced6b6535
5
5
  SHA512:
6
- metadata.gz: b70069ba81672ac2bd74173b4c8488efa56deee8aba9b1965fdde8e58c0305703e0c33ff2634cb82ce04c87377b1ec85152b3bb0f21bf254c8e772f1c6d422f9
7
- data.tar.gz: df98e617104c04c193791f1d0be023404d34e1f9127026b18f469c5f67a141d44a48c3330d3b2177749a67bbd2943f6010d332eaedf72f2971395eda122e3813
6
+ metadata.gz: 1bb342020c1a9fa053e28e9b6c4aeda8d54c7cdfc9dcd877244a8540f1a580ed292d57b258e438045be394e1270f619e66cf1b80eb32dfbcfccaff12042cc39f
7
+ data.tar.gz: 4ba1611f68d32544e88642743d1b9e37180aa8c18fa6dd06fc7cffaaacce12059bdc5560afa14c4f7de962b2ac5c2ebbf1b6daab740aba598ff56a989d3c2339
data/README.md CHANGED
@@ -8,15 +8,15 @@
8
8
  # Open working directory of current terminal in finder
9
9
  lida
10
10
 
11
- # Open current finder dir in a new tab of current terminal
11
+ # Open current working directory of finder in a new tab of current terminal
12
12
  lida finder
13
13
  lida f
14
14
 
15
- # Open current xcode dir in a new tab of current terminal
15
+ # Open current working directory of xcode in a new tab of current terminal
16
16
  lida xcode
17
17
  lida x
18
18
 
19
- #
19
+ # Open current working directory of xcode-beta in a new tab of current terminal
20
20
  lida xcodebeta
21
21
  lida xb
22
22
  ```
data/bin/lida CHANGED
@@ -3,12 +3,13 @@
3
3
  require 'rubygems'
4
4
  require 'commander/import'
5
5
  require 'applescript'
6
+ require 'uri'
6
7
  require 'rainbow/refinement'
7
8
  using Rainbow
8
9
 
9
10
  program :name, 'Lida'
10
- program :version, '0.0.2'
11
- program :description, 'Finder to terminal; Xcode to terminal; Terminal to finder'
11
+ program :version, '0.0.3'
12
+ program :description, '🍰 Open current finder/xcode dir in terminal/iterm and vice versa, easy as cake!'
12
13
  program :help, 'Author', 'Quentin Jin <jianstm@gmail.com>'
13
14
 
14
15
  # Terminal to finder
@@ -28,7 +29,7 @@ command :xcode do |c|
28
29
  begin
29
30
  path = get_current_path_of_xcode 'Xcode'
30
31
  rescue
31
- puts 'No active window or file on Xcode.'.red
32
+ puts_error 'No active window on xcode.'
32
33
  end
33
34
 
34
35
  open_path path if path
@@ -38,12 +39,12 @@ end
38
39
  # Xcode-beta to terminal
39
40
  command :xcodebeta do |c|
40
41
  c.syntax = 'lida xcodebeta'
41
- c.description = 'Open current xcode dir in a new tab of current terminal'
42
+ c.description = 'Open current xcode-beta dir in a new tab of current terminal'
42
43
  c.action do
43
44
  begin
44
45
  path = get_current_path_of_xcode 'Xcode-beta'
45
46
  rescue
46
- puts 'No active window or file on Xcode-beta.'.red
47
+ puts_error 'No active window on xcode-beta.'
47
48
  end
48
49
 
49
50
  open_path path if path
@@ -58,7 +59,7 @@ command :finder do |c|
58
59
  begin
59
60
  path = get_current_path_of_finder
60
61
  rescue
61
- puts 'No active window on Finder.'.red
62
+ puts_error 'No active window on Finder.'
62
63
  end
63
64
  open_path path if path
64
65
  end
@@ -122,23 +123,28 @@ def open_path(path)
122
123
  elsif flag == 1
123
124
  open_path_in_iterm path
124
125
  else
125
- puts 'Lida only supports iterm and terminal for now.'.red
126
+ puts_error 'Lida only supports iterm and terminal for now.'
126
127
  end
127
128
  end
128
129
 
129
- def open_path_in_iterm(dic)
130
+ def open_path_in_iterm(dir)
130
131
  script = <<~EOS
131
- set command to "cd #{dic}"
132
+ set dir to (quoted form of POSIX path of ("#{dir}"))
133
+ set command to "clear; cd " & dir
132
134
  tell application "iTerm"
133
135
  select first window
134
136
  tell the first window
135
137
  create tab with default profile
136
- tell current session to write text "clear"
137
138
  tell current session to write text command
138
139
  end tell
139
140
  end tell
140
141
  EOS
141
- AppleScript.execute(script)
142
+
143
+ begin
144
+ AppleScript.execute(script)
145
+ rescue
146
+ puts_error 'Open path in iterm failed.'
147
+ end
142
148
  end
143
149
 
144
150
  def open_path_in_terminal(path)
@@ -148,10 +154,18 @@ def open_path_in_terminal(path)
148
154
  tell application "System Events" to keystroke "t" using command down
149
155
  delay 1
150
156
  do script ("clear") in first window
151
- do script ("cd #{path}") in first window
157
+ do script ("cd '#{path}'") in first window
152
158
  end tell
153
159
  EOS
154
- AppleScript.execute(script)
160
+ begin
161
+ AppleScript.execute(script)
162
+ rescue
163
+ puts_error 'Open path in terminal failed.'
164
+ end
165
+ end
166
+
167
+ def puts_error(msg)
168
+ puts '[lida]: ' + msg.red
155
169
  end
156
170
 
157
171
  class NoWindowError < StandardError
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = 'lida'
3
- spec.version = '0.0.2'
3
+ spec.version = '0.0.3'
4
4
  spec.authors = ["Quentin Jin"]
5
5
  spec.email = ["jianstm@gmail.com"]
6
6
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lida
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Quentin Jin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-02 00:00:00.000000000 Z
11
+ date: 2018-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: commander