bri 0.1.3 → 0.1.4

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.
Files changed (5) hide show
  1. data/Changelog +16 -0
  2. data/TODO +0 -1
  3. data/lib/bri/renderer.rb +28 -22
  4. data/lib/bri/templates.rb +8 -3
  5. metadata +4 -3
@@ -0,0 +1,16 @@
1
+ 0.1.4
2
+ - Better rendering of list items
3
+ - Bulleted Lists now have bullets in front of the list items
4
+ - Numbered Lists now have numbers in front of the list items
5
+ - Fix off-by-one bug in hrule output
6
+
7
+ 0.1.3
8
+ - New line wrapping algorithm
9
+ - Colorize <tt>, <code>, headers, +foo+ and _bar_
10
+ - Use arglists instead of callseq to show method signature in output since
11
+ callseq can be empty at times
12
+
13
+ 0.1.2
14
+ - Add --list-methods
15
+ - Add --list-names
16
+ - Add -w/--width and width evaluation from the COLUMNS environment variable
data/TODO CHANGED
@@ -1,4 +1,3 @@
1
- - Prepend/markup list items properly
2
1
  - Extend unqualified search to include class methods and case insensitive searches
3
2
  - Misc. error handlings
4
3
  - Do more specs
@@ -8,12 +8,32 @@ module Bri
8
8
  end
9
9
 
10
10
  def render( element, width = Bri.width )
11
- text = extract_text( element, width )
12
- styled_text = replace_markup( text )
13
- element.kind_of?( RDoc::Markup::Verbatim ) ?
14
- wrapped_text = styled_text :
15
- wrapped_text = wrap_to_width( styled_text, width )
16
- indent( wrapped_text )
11
+ case element
12
+ when RDoc::Markup::Verbatim
13
+ text = extract_text( element, width )
14
+ styled_text = replace_markup( text )
15
+ indent( styled_text )
16
+
17
+ when RDoc::Markup::List
18
+ item_width = width - INDENT.length
19
+ rendered_items = element.items.collect { |item| render item, item_width }
20
+ rendered_items.map! { |item| item.gsub( /\n/, "\n#{INDENT}" ) }
21
+ case element.type
22
+ when :BULLET
23
+ rendered_items.map! { |item| ' *' + item }
24
+ when :NUMBER
25
+ i = 0
26
+ rendered_items.map! { |item| i+=1; sprintf "%d.%s", i, item }
27
+ end
28
+
29
+ rendered_items.join( "\n\n" ) + "\n"
30
+
31
+ else
32
+ text = extract_text( element, width )
33
+ styled_text = replace_markup( text )
34
+ wrapped_text = wrap_to_width( styled_text, width )
35
+ indent( wrapped_text )
36
+ end
17
37
  end
18
38
 
19
39
  def extract_text( element, width )
@@ -27,18 +47,9 @@ module Bri
27
47
  when RDoc::Markup::Verbatim
28
48
  element.text
29
49
  when RDoc::Markup::Heading
30
- "<h>#{element.text}</h>"
50
+ "<h>#{element.text}</h>"
31
51
  when RDoc::Markup::ListItem
32
52
  element.label.to_s + element.parts.collect { |part| extract_text part, width }.join
33
- when RDoc::Markup::List
34
- prefix = case element.type
35
- when :NOTE, :LABEL then "Note:\n"
36
- when :NUMBER then "Numbered List:\n"
37
- when :BULLET then "Bulletet List:\n"
38
- else
39
- raise "Don't know how to handle list type #{element.type}: #{element.inspect}"
40
- end
41
- prefix + element.items.collect { |item| extract_text item, width }.join
42
53
  else
43
54
  raise "Don't know how to handle type #{element.class}: #{element.inspect}"
44
55
  end
@@ -63,12 +74,7 @@ module Bri
63
74
  end
64
75
 
65
76
  def printable_length( text )
66
- embedded_ansi_codes = text.scan( Term::ANSIColor::COLORED_REGEXP )
67
- if embedded_ansi_codes.empty?
68
- text.length
69
- else
70
- text.length - embedded_ansi_codes.reduce( 0 ) { |total, code| code.length + total }
71
- end
77
+ Term::ANSIColor.uncolored( text ).length
72
78
  end
73
79
 
74
80
  def wrap_to_width( styled_text, width )
@@ -64,9 +64,14 @@ module Bri
64
64
 
65
65
  module Helpers
66
66
  def hrule( text = '', width = Bri.width )
67
- '-' * ( width - text.length - 1 ) + " " +
68
- Term::ANSIColor::bold + text + Term::ANSIColor::reset +
69
- "\n"
67
+ if text == ''
68
+ '-' * width + "\n"
69
+ else
70
+ text = " " + text if text != ''
71
+ '-' * ( width - text.length ) +
72
+ Term::ANSIColor::bold + text + Term::ANSIColor::reset +
73
+ "\n"
74
+ end
70
75
  end
71
76
  module_function :hrule
72
77
 
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 3
9
- version: 0.1.3
8
+ - 4
9
+ version: 0.1.4
10
10
  platform: ruby
11
11
  authors:
12
12
  - Sven Riedel
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-09-30 00:00:00 +02:00
17
+ date: 2010-10-06 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -58,6 +58,7 @@ extra_rdoc_files:
58
58
  files:
59
59
  - README
60
60
  - TODO
61
+ - Changelog
61
62
  - bin/bri
62
63
  - lib/bri.rb
63
64
  - lib/bri/mall.rb