cmd_tools 2.0.5 → 2.1.0
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.
- data/lib/cmd_tools/command/emacs_launch.rb +8 -5
- data/lib/cmd_tools/config.rb +3 -3
- data/lib/cmd_tools/version.rb +1 -1
- metadata +5 -5
@@ -2,6 +2,8 @@ module ::CmdTools::Command::EmacsLaunch
|
|
2
2
|
require 'ruby_patch'
|
3
3
|
extend ::RubyPatch::AutoLoad
|
4
4
|
|
5
|
+
EMACSCLIENT_OPEN = lambda{|files| spawn "emacsclient -n #{files}"}
|
6
|
+
|
5
7
|
# Open +files+ by +mode+ (:gui/:cui) mode.
|
6
8
|
# Launch emacs daemon if necessary.
|
7
9
|
# Create new frame if necessary.
|
@@ -10,17 +12,18 @@ module ::CmdTools::Command::EmacsLaunch
|
|
10
12
|
# - :emacs: emacs
|
11
13
|
# + :emacs: /Applications/MacPorts/Emacs.app/Contents/MacOS/Emacs
|
12
14
|
def self.run(mode, *files)
|
13
|
-
|
15
|
+
Process.waitpid(spawn "#{::CmdTools::Config.emacs} --daemon") unless daemon_running?
|
14
16
|
|
15
17
|
files = files.flatten.join(' ')
|
16
18
|
case mode
|
17
19
|
when :gui
|
18
20
|
if number_of_frames() <= 1 # emacs daemon has one (invisible) frame.
|
19
|
-
|
21
|
+
spawn "emacsclient -c -n #{files}"
|
20
22
|
else
|
21
|
-
|
23
|
+
EMACSCLIENT_OPEN[files]
|
22
24
|
end
|
23
25
|
when :cui
|
26
|
+
Process.waitpid(EMACSCLIENT_OPEN[files])
|
24
27
|
exec "emacsclient -t #{files}"
|
25
28
|
else
|
26
29
|
raise ArgumentError, "Expected :gui or :cui, but got #{mode}."
|
@@ -29,13 +32,13 @@ module ::CmdTools::Command::EmacsLaunch
|
|
29
32
|
|
30
33
|
# Stop emacs daemon.
|
31
34
|
def self.stop
|
32
|
-
exec "emacsclient -e '(kill-emacs)'"
|
35
|
+
exec "emacsclient -e '(kill-emacs)'" if daemon_running?
|
33
36
|
end
|
34
37
|
|
35
38
|
private
|
36
39
|
|
37
40
|
def self.daemon_running?
|
38
|
-
system "emacsclient -e '()' >
|
41
|
+
system "emacsclient -e '()' > #{File::NULL} 2>&1"
|
39
42
|
end
|
40
43
|
|
41
44
|
def self.number_of_frames
|
data/lib/cmd_tools/config.rb
CHANGED
data/lib/cmd_tools/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cmd_tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-10-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ruby_patch
|
16
|
-
requirement: &
|
16
|
+
requirement: &73308010 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: '0.3'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *73308010
|
25
25
|
description: ! 'Command line tools. Please type
|
26
26
|
|
27
27
|
|
@@ -83,7 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
83
83
|
version: '0'
|
84
84
|
requirements: []
|
85
85
|
rubyforge_project:
|
86
|
-
rubygems_version: 1.8.
|
86
|
+
rubygems_version: 1.8.11
|
87
87
|
signing_key:
|
88
88
|
specification_version: 3
|
89
89
|
summary: Command line tools.
|