di 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (6) hide show
  1. data/HISTORY +11 -1
  2. data/README.rdoc +13 -7
  3. data/VERSION +1 -1
  4. data/bin/di +13 -4
  5. data/di.gemspec +2 -2
  6. metadata +3 -3
data/HISTORY CHANGED
@@ -1,9 +1,19 @@
1
- * Add --[no-]pager and turn it on by default.
1
+ == 0.1.6 2010-03-11
2
+
3
+ * Fix colorization of the last hunk.
4
+
5
+ * Reimplement --version.
6
+
7
+ == 0.1.5 2010-03-10
2
8
 
3
9
  * Add --[no-]color and colorize diff output by default.
4
10
 
5
11
  * Read user's preferred default options from DI_OPTIONS.
6
12
 
13
+ == 0.1.4 2010-03-10
14
+
15
+ * Add --[no-]pager and turn it on by default.
16
+
7
17
  * Do not choke on file names starting with a hyphen.
8
18
 
9
19
  == 0.1.3 2010-03-10
@@ -11,19 +11,25 @@ di - a wrapper around GNU diff(1)
11
11
  The di(1) command wraps around GNU diff(1) to provide reasonable
12
12
  default settings and some original features:
13
13
 
14
- - Ignore non-significant files, such as backup files, object files,
15
- VCS administration files, etc. a la rsync(1)'s --cvs-ignore
16
- option.
14
+ - Useful options turned on by default: -U3 -N -p -d.
17
15
 
18
- - Ignore difference of lines containing RCS tags.
16
+ - Diff output is colorized, and paginated by user's favorite pager.
17
+
18
+ - Non-significant files are ignored by default, such as backup
19
+ files, object files, VCS administration files, etc. a la
20
+ rsync(1)'s --cvs-ignore option.
19
21
 
20
- - Output in unified format by default.
22
+ - Ignore difference of lines containing RCS tags.
21
23
 
22
24
  - Perform recursive comparison.
23
25
 
24
- - Turn on some other useful options: -N -p -d.
26
+ - Support combinations of command line options that GNU diff(1) is
27
+ expected to but does not support.
28
+
29
+ - Default set of options are configurable via environment variable.
25
30
 
26
- - Provide the way to negate any of the above options.
31
+ - Any option can be negated from a command line. (Specify -N- to
32
+ negate the default -N, etc.)
27
33
 
28
34
  == SYNOPSIS:
29
35
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.5
1
+ 0.1.6
data/bin/di CHANGED
@@ -30,6 +30,7 @@
30
30
 
31
31
  MYVERSION = "0.1.3"
32
32
  MYNAME = File.basename($0)
33
+ MYCOPYRIGHT = "Copyright (c) 2008, 2009, 2010 Akinori MUSHA"
33
34
 
34
35
  DIFF_CMD = ENV.fetch('DIFF', 'diff')
35
36
  EMPTYFILE = '/dev/null'
@@ -350,7 +351,14 @@ usage: #{MYNAME} [flags] [files]
350
351
  }
351
352
  opts.on('-v', '--version',
352
353
  'Output version info.') { |val|
353
- set_flag('-v', val)
354
+ print <<-"EOF"
355
+ #{MYNAME} version #{MYVERSION}
356
+ #{MYCOPYRIGHT}
357
+
358
+ ----
359
+ EOF
360
+ system(DIFF_CMD, '--version')
361
+ exit
354
362
  }
355
363
  opts.on('--help',
356
364
  'Output this help.') { |val|
@@ -680,9 +688,9 @@ def colorize_unified_diff(io)
680
688
  color = colors[:file1]
681
689
  when /^-{3} /
682
690
  color = colors[:file2]
683
- when /^@@ -[0-9]+,([0-9]+)/
691
+ when /^@@ -[0-9]+,([0-9]+) \+[0-9]+,([0-9]+)/
684
692
  state = :hunk
685
- hunk_left = $1.to_i
693
+ hunk_left = $1.to_i + $2.to_i
686
694
  line.sub!(/^(@@ .*? @@)( )?/) {
687
695
  $1 + ($2 ? colors[:off] + $2 + colors[:function] : '')
688
696
  }
@@ -695,6 +703,7 @@ def colorize_unified_diff(io)
695
703
  case line
696
704
  when /^\+/
697
705
  color = colors[:new]
706
+ hunk_left -= 1
698
707
  check = $diff.highlight_whitespace
699
708
  when /^-/
700
709
  color = colors[:old]
@@ -702,7 +711,7 @@ def colorize_unified_diff(io)
702
711
  check = $diff.highlight_whitespace
703
712
  when /^ /
704
713
  color = colors[:unchanged]
705
- hunk_left -= 1
714
+ hunk_left -= 2
706
715
  else
707
716
  # error
708
717
  color = colors[:comment]
data/di.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{di}
8
- s.version = "0.1.5"
8
+ s.version = "0.1.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Akinori MUSHA"]
12
- s.date = %q{2010-03-10}
12
+ s.date = %q{2010-03-11}
13
13
  s.default_executable = %q{di}
14
14
  s.description = %q{The di(1) command wraps around GNU diff(1) to provide reasonable
15
15
  default settings and some original features.
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 5
9
- version: 0.1.5
8
+ - 6
9
+ version: 0.1.6
10
10
  platform: ruby
11
11
  authors:
12
12
  - Akinori MUSHA
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-03-10 00:00:00 +09:00
17
+ date: 2010-03-11 00:00:00 +09:00
18
18
  default_executable: di
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency