From 1960da0921a7d8e407ca5f534d0c09c76bbb8258 Mon Sep 17 00:00:00 2001 From: Jonathan Waltman Date: Fri, 28 Jan 2011 02:25:15 -0600 Subject: [PATCH] Improve how long index entries are formatted in texinfo. --- sphinx/writers/texinfo.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/sphinx/writers/texinfo.py b/sphinx/writers/texinfo.py index 9652274e6..2db5626e4 100644 --- a/sphinx/writers/texinfo.py +++ b/sphinx/writers/texinfo.py @@ -330,13 +330,20 @@ class TexinfoTranslator(nodes.NodeVisitor): return self.body[-1] = self.body[-1].rstrip() - def add_menu_entries(self, entries): + def add_menu_entries(self, entries, reg=re.compile(r'\s+---?\s+')): for entry in entries: name = self.node_names[entry] - if name == entry: - self.add_text('* %s::\n' % name, fresh=1) + # Special formatting for entries that are divided by an em-dash + parts = reg.split(name, 1) + if len(parts) == 2: + name, desc = parts else: - self.add_text('* %s: %s.\n' % (name, entry), fresh=1) + desc = '' + if name == entry: + self.add_text('* %s::\t%s\n' % (name, desc), fresh=1) + else: + self.add_text('* %s: %s.\t%s\n' % + (name, entry, desc), fresh=1) def add_menu(self, node_name): entries = self.node_menus[node_name]