~ubuntu-branches/ubuntu/quantal/ruby1.9.1/quantal

« back to all changes in this revision

Viewing changes to lib/rdoc/markup/to_texinfo.rb

  • Committer: Bazaar Package Importer
  • Author(s): Lucas Nussbaum
  • Date: 2010-07-31 17:08:39 UTC
  • mfrom: (1.1.4 upstream) (8.1.2 sid)
  • Revision ID: james.westby@ubuntu.com-20100731170839-j034dmpdqt1cc4p6
Tags: 1.9.2~svn28788-1
* New release based on upstream snapshot from the 1.9.2 branch,
  after 1.9.2 RC2. That branch is (supposed to be) binary-compatible
  with the 1.9.1 branch.
  + Builds fine on i386. Closes: #580852.
* Upgrade to Standards-Version: 3.9.1. No changes needed.
* Updated generated incs.
* Patches that still need work:
  + Unclear status, need more investigation:
   090729_fix_Makefile_deps.dpatch
   090803_exclude_rdoc.dpatch
   203_adjust_base_of_search_path.dpatch
   902_define_YAML_in_yaml_stringio.rb.dpatch
   919_common.mk_tweaks.dpatch
   931_libruby_suffix.dpatch
   940_test_thread_mutex_sync_shorter.dpatch
  + Maybe not needed anymore, keeping but not applying.
   102_skip_test_copy_stream.dpatch (test doesn't block anymore?)
   104_skip_btest_io.dpatch (test doesn't block anymore?)
   201_gem_prelude.dpatch (we don't use that rubygems anyway?)
   202_gem_default_dir.dpatch (we don't use that rubygems anyway?)
   940_test_file_exhaustive_fails_as_root.dpatch
   940_test_priority_fails.dpatch
   100518_load_libc_libm.dpatch
* Add disable-tests.diff: disable some tests that cause failures on FreeBSD.
  Closes: #590002, #543805, #542927.
* However, many new failures on FreeBSD. Since that version is still an
  improvement, add the check that makes test suite failures non-fatal on
  FreeBSD again. That still needs to be investigated.
* Re-add 903_skip_base_ruby_check.dpatch
* Add build-dependency on ruby1.8 and drop all pre-generated files.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
require 'rdoc/markup/formatter'
2
 
require 'rdoc/markup/fragments'
3
 
require 'rdoc/markup/inline'
4
 
 
5
 
require 'rdoc/markup'
6
 
require 'rdoc/markup/formatter'
7
 
 
8
 
##
9
 
# Convert SimpleMarkup to basic TexInfo format
10
 
#
11
 
# TODO: WTF is AttributeManager for?
12
 
#
13
 
class RDoc::Markup::ToTexInfo < RDoc::Markup::Formatter
14
 
 
15
 
  def start_accepting
16
 
    @text = []
17
 
  end
18
 
 
19
 
  def end_accepting
20
 
    @text.join("\n")
21
 
  end
22
 
 
23
 
  def accept_paragraph(attributes, text)
24
 
    @text << format(text)
25
 
  end
26
 
 
27
 
  def accept_verbatim(attributes, text)
28
 
    @text << "@verb{|#{format(text)}|}"
29
 
  end
30
 
 
31
 
  def accept_heading(attributes, text)
32
 
    heading = ['@majorheading', '@chapheading'][text.head_level - 1] || '@heading'
33
 
    @text << "#{heading} #{format(text)}"
34
 
  end
35
 
 
36
 
  def accept_list_start(attributes, text)
37
 
    @text << '@itemize @bullet'
38
 
  end
39
 
 
40
 
  def accept_list_end(attributes, text)
41
 
    @text << '@end itemize'
42
 
  end
43
 
 
44
 
  def accept_list_item(attributes, text)
45
 
    @text << "@item\n#{format(text)}"
46
 
  end
47
 
 
48
 
  def accept_blank_line(attributes, text)
49
 
    @text << "\n"
50
 
  end
51
 
 
52
 
  def accept_rule(attributes, text)
53
 
    @text << '-----'
54
 
  end
55
 
 
56
 
  def format(text)
57
 
    text.txt.
58
 
      gsub(/@/, "@@").
59
 
      gsub(/\{/, "@{").
60
 
      gsub(/\}/, "@}").
61
 
      # gsub(/,/, "@,"). # technically only required in cross-refs
62
 
      gsub(/\+([\w]+)\+/, "@code{\\1}").
63
 
      gsub(/\<tt\>([^<]+)\<\/tt\>/, "@code{\\1}").
64
 
      gsub(/\*([\w]+)\*/, "@strong{\\1}").
65
 
      gsub(/\<b\>([^<]+)\<\/b\>/, "@strong{\\1}").
66
 
      gsub(/_([\w]+)_/, "@emph{\\1}").
67
 
      gsub(/\<em\>([^<]+)\<\/em\>/, "@emph{\\1}")
68
 
  end
69
 
end