如何获得rdoc来显示行号?我知道有-N
开关,但即便如此,我也只是
# File config.rb, line 40
def port
@conf[:port].to_a || DEFAULT_PORT
end
我想在每行之前有行号,是否可能?
答案 0 :(得分:1)
<强>更新强>
这是一个错误 - 感谢您的问题,它已在Rdoc 6.1.0修复。
如果您的rdoc --version
早于此gem install rdoc -v 6.1
,请使用gem install rdoc
或rdoc
进行更新,以获取最新版本。或者,如果您使用Bundler,则在Gemfile中更新/指定-N
版本。
修复后,# File config.rb
40 def port
41 @conf[:port].to_a || DEFAULT_PORT
42 end
选项正确启用每行的编号:
rdoc --help
以下原始答案:
看起来目前只能通过RDoc源代码中的hack来实现。来自--no-line-numbers
:
-N, - [no-]行号
在源代码中包含行号。默认情况下,在前导注释中仅显示第一行的编号。
最初,我误解并认为插入第一行的数量是此选项的默认,简约行为,可以通过其他方式进行修改 - 例如在模板中自定义。最终我意识到gem which rdoc
什么都不做:)所以是的,它显然是一个错误。
在RDoc代码中,method responsible for inserting line numbers可以在标记生成器中找到。不幸的是,从版本6.0.1开始,它似乎根本就没用过。快速修复以手动启用它:
cd
和generator/markup.rb
查找RDoc源的位置@add_line_numbers
- 找到true
变量并将其设置为rdoc
(我链接的github源代码中的第68行)-N
,源片段中的行应正确编号。 那当然远非正确的错误修正。作为练习,我还尝试使用monkey-patch修复它,然后通过Rake任务运行RDoc。当我意识到RDoc::Task甚至不接受{{1}}作为选项时,我最终放弃了:(
作为脚注 - YARD执行正确的行号并默认启用。