donald 0.1.8 → 2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.textile +7 -17
- data/lib/donald.rb +0 -1
- data/lib/donald/editor.rb +18 -4
- data/lib/donald/merge_tool.rb +4 -31
- metadata +4 -5
data/README.textile
CHANGED
@@ -12,27 +12,17 @@ h2. Usage:
|
|
12
12
|
|
13
13
|
<pre><code>donald</code></pre>
|
14
14
|
|
15
|
-
h2.
|
15
|
+
h2. Using a different editor:
|
16
16
|
|
17
|
-
|
17
|
+
You can use another editor sending its name as a parameter:
|
18
18
|
|
19
|
-
|
19
|
+
<pre><code>donald gvim</code></pre>
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
<pre><code>donald -g</code></pre>
|
24
|
-
|
25
|
-
h3. -m or --mvim
|
26
|
-
|
27
|
-
Open files using mvim
|
28
|
-
|
29
|
-
h3. --vim
|
30
|
-
|
31
|
-
Open files using vim
|
21
|
+
Or
|
32
22
|
|
33
|
-
|
23
|
+
<pre><code>donald mate</code></pre>
|
34
24
|
|
35
|
-
|
25
|
+
If you inform more than one parameter donald will ignore it.
|
36
26
|
|
37
27
|
h2. Setting up your default text editor
|
38
28
|
|
@@ -40,7 +30,7 @@ Set the $EDITOR variable in your ~/.bashrc file
|
|
40
30
|
|
41
31
|
Example:
|
42
32
|
|
43
|
-
<pre><code>export EDITOR="
|
33
|
+
<pre><code>export EDITOR="gedit"</code></pre>
|
44
34
|
|
45
35
|
h2. Searching for conflicts
|
46
36
|
|
data/lib/donald.rb
CHANGED
data/lib/donald/editor.rb
CHANGED
@@ -2,12 +2,26 @@ module Donald
|
|
2
2
|
class Editor
|
3
3
|
DEFAULT_EDITOR = 'vim'
|
4
4
|
|
5
|
-
def initialize(
|
6
|
-
@
|
5
|
+
def initialize(name = nil)
|
6
|
+
@name = name || Donald::Environment.editor_variable || DEFAULT_EDITOR
|
7
7
|
end
|
8
8
|
|
9
|
-
def
|
10
|
-
@
|
9
|
+
def run(files)
|
10
|
+
Kernel.system "#{@name}#{arguments} #{files.join(' ')}"
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def arguments
|
16
|
+
" #{tab_argument} #{search_argument}" if @name.include? 'vim'
|
17
|
+
end
|
18
|
+
|
19
|
+
def tab_argument
|
20
|
+
'-p'
|
21
|
+
end
|
22
|
+
|
23
|
+
def search_argument
|
24
|
+
'+/HEAD'
|
11
25
|
end
|
12
26
|
end
|
13
27
|
end
|
data/lib/donald/merge_tool.rb
CHANGED
@@ -2,7 +2,7 @@ module Donald
|
|
2
2
|
class MergeTool
|
3
3
|
def initialize(output, args = [])
|
4
4
|
@printer = Donald::Printer.new output
|
5
|
-
@
|
5
|
+
@editor = Donald::Editor.new(editor_from(args))
|
6
6
|
end
|
7
7
|
|
8
8
|
def start
|
@@ -10,43 +10,16 @@ module Donald
|
|
10
10
|
|
11
11
|
if files.any?
|
12
12
|
@printer.print_files files
|
13
|
-
|
13
|
+
@editor.run files
|
14
14
|
else
|
15
15
|
@printer.print_no_files_message
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
19
|
private
|
20
|
-
|
21
|
-
def call_editor(files)
|
22
|
-
Kernel.system "#{editor}#{arguments(editor)} #{files.join(' ')}"
|
23
|
-
end
|
24
20
|
|
25
|
-
def
|
26
|
-
|
27
|
-
end
|
28
|
-
|
29
|
-
def parse_options(args)
|
30
|
-
options = {}
|
31
|
-
|
32
|
-
options.merge! :editor => 'vim' if args.include?('--vim')
|
33
|
-
options.merge! :editor => 'mvim' if args.include?('-m') || args.include?('--mvim')
|
34
|
-
options.merge! :editor => 'gvim' if args.include?('-g') || args.include?('--gvim')
|
35
|
-
options.merge! :editor => 'mate' if args.include?('-t') || args.include?('--textmate')
|
36
|
-
|
37
|
-
options
|
38
|
-
end
|
39
|
-
|
40
|
-
def arguments(editor)
|
41
|
-
" #{tab_argument} #{search_argument}" if editor.to_s.include? 'vim'
|
42
|
-
end
|
43
|
-
|
44
|
-
def tab_argument
|
45
|
-
'-p'
|
46
|
-
end
|
47
|
-
|
48
|
-
def search_argument
|
49
|
-
'+/HEAD'
|
21
|
+
def editor_from(args)
|
22
|
+
args.any? ? args.first : nil
|
50
23
|
end
|
51
24
|
end
|
52
25
|
end
|
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: donald
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 3
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
|
+
- 2
|
7
8
|
- 0
|
8
|
-
|
9
|
-
- 8
|
10
|
-
version: 0.1.8
|
9
|
+
version: "2.0"
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Bruno Grasselli
|
@@ -15,7 +14,7 @@ autorequire:
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date: 2010-08-
|
17
|
+
date: 2010-08-22 00:00:00 -03:00
|
19
18
|
default_executable: donald
|
20
19
|
dependencies: []
|
21
20
|
|