summaryrefslogtreecommitdiff
path: root/lib/rdoc
AgeCommit message (Collapse)Author
2020-05-24[ruby/rdoc] Add frozen string literal supportDavid Rodríguez
https://github.com/ruby/rdoc/commit/daac9d0471
2020-05-24[ruby/rdoc] Add instance_methods because instance_method_list should be obsoleteaycabta
https://github.com/ruby/rdoc/commit/9b1da32254
2020-05-24[ruby/rdoc] Fixed inverted CSS for note-list and label-listNobuyoshi Nakada
https://github.com/ruby/rdoc/commit/a13d6439da
2020-05-24[ruby/rdoc] Delegate ERB args correctlyaycabta
https://github.com/ruby/rdoc/commit/82ff37a822
2020-05-24[ruby/rdoc] Treat multiple Ruby methods calling the same C method as aliasesJeremy Evans
Previously, only calls to rb_define_alias were treated as aliases. This treats calls to rb_define_method with the same C function as aliases, with the first function defined being the primary method. This move the dedup code from the C parser to AnyMethod, and has AnyMethod look in its aliases to find the call_seq. Switch the deduplication code to remove lines matching one of the other aliases, instead of only keeping lines matching the current alias. The previous approach could eliminate all call_seq lines in cases where no line matched. This was necessary to pass tests when call_seq does deduplication by default. The only change to the darkfish template is to not perform unnecessary work by deduplicating twice. https://github.com/ruby/rdoc/commit/0ead78616b
2020-05-24[ruby/rdoc] Process crossref before tidylinkaycabta
The crossref must be linked before tidylink because Klass.method[:sym] will be processed as a tidylink first and will be broken. https://github.com/ruby/rdoc/commit/0f47baf6d2
2020-05-24[ruby/rdoc] Escape method names in HTMLNate Matykiewicz
The following is invalid HTML: <a href="Array.html#method-i-3C-3C"><code><<</code></a></p> Incorrect: <code><<</code> Correct: <code>&lt;&lt;</code> Fixes #761 https://github.com/ruby/rdoc/commit/b120d087f6
2020-04-23Support XDG_* (#2174)Hiroshi SHIBATA
* Support XDG_CONFIG_HOME for gemrc. * Support XDG_DATA_HOME for .gem * Added test for XDG_DATA_HOME * Do not reuse environmental variable. * Unify .rdoc path to RDoc.home. * Support XDG_DATA_HOME for .rdoc * Ignore exists? * Extracted config_home path * Use XDG_CONFIG_HOME for default credential path * Fixed inconsistency location. * Fixed the broken tests. * Support XDG_CONFIG_HOME for irbrc * Introduce Gem.cache_home as XDG_CACHE_HOME * Use Gem.cache_home instead of Gem.config_home for the credential file of RubyGems. * Initialized the old configurations * Fixed test failure related the configuration initialization * restore XDG_DATA_HOME * Fixed the broken examples of bundler with XDG_* * Do not modify environmental variable on test file * Use XDG_DATA_HOME insted of XDG_CACHE_HOME for credential file * stub out Gem.data_home * Move dir accessor to defaults.rb file * Use XDG_DATA_HOME for signed gem features * Use XDG_DATA_HOME for spec cache * Do not rely on Gem.user_home * Gem.user_home is always exists. Don't need to use FileUitls.mkdir_p * Bump support version to RubyGems 3.2.0+ * Removed the needless fallback configuration * Fixed the inconsistency methods that are find_config_file and config_file * Use Gem.configuration.credentials_path instead of hard-coded path * gem_path is always provided * Removed the duplicated code of find_home * Also removed the duplicated code of user_home * use Gem::UNTAINT instead of untaint for surpressing the warnings * Use File.directory * Restore XDG_DATA_HOME * Use File.write Notes: Merged-By: hsbt <hsbt@ruby-lang.org>
2020-04-23[ruby/rdoc] Drop old rubiesNobuyoshi Nakada
* `RbConfig::CONFIG['ridir']` has been set since 1.9.2 * `ENV["HOME"]` has been defaulted to `USERPROFILE` since 1.9.0, and backported to 1.8.5 or later. https://github.com/ruby/rdoc/commit/a3a614e676
2020-03-08Specify explicit separator not to be affected by $;Nobuyoshi Nakada
2020-02-20[ruby/rdoc] Removed `RDoc::Context::Section#sequence`Nobuyoshi Nakada
It has been deprecated since 2011. https://github.com/ruby/rdoc/commit/5c2aa0f77d
2019-12-24[ruby/rdoc] Version 6.2.1aycabta
https://github.com/ruby/rdoc/commit/c65e14d112
2019-12-24Update parsers of RDoc that are generated by Raccaycabta
2019-12-24[ruby/rdoc] Support newline in the middle of constant definitionaycabta
https://github.com/ruby/rdoc/commit/74d3984324
2019-12-24[ruby/rdoc] Treat Proc#call syntax sugar for constant correctlyaycabta
https://github.com/ruby/rdoc/commit/957d041ae0
2019-12-20Fixed misspellingsNobuyoshi Nakada
Fixed misspellings reported at [Bug #16437], for default gems.
2019-11-28Fix ghost method line noaycabta
2019-10-29[ruby/rdoc] Support different drive latters in include pathsaycabta
https://github.com/ruby/rdoc/commit/946d2592e2
2019-10-26Make `(#methodname)` a link with --hyperlink-all optionaycabta
2019-10-26Make `(#methodname)` a linkNobuyoshi Nakada
2019-10-09Update required_ruby_version to 2.4.0aycabta
2019-09-16Folded files in gemspecNobuyoshi Nakada
2019-09-08Remove .document and .gitignore from file list of rdoc.gemspecaycabta
2019-08-30Fix keyword argument separation issues in libJeremy Evans
Mostly requires adding ** in either calls or method definitions. Notes: Merged: https://github.com/ruby/ruby/pull/2395
2019-08-28Remove jquery.js from file list of rdoc.gemspecaycabta
2019-08-28Remove debug print [ci skip]Kazuhiro NISHIYAMA
2019-08-28Remove jquery.jsaycabta
2019-08-28Version 6.2.0aycabta
2019-08-28Good bye jQueryaycabta
2019-08-19lib/rdoc/markup/parser.rb: remove a unused variable initializationYusuke Endoh
2019-08-17Remove CI files from listaycabta
2019-08-17Removed formatter_test_case and text_formatter_test_case from ↵Hiroshi SHIBATA
Gem::Specification#files.
2019-08-17Removed autoload from Markup.Hiroshi SHIBATA
2019-08-17Removed test_case files from lib directory.Hiroshi SHIBATA
2019-08-16lib/rdoc/store.rb: Use `Marshal.dump(obj, io)`Yusuke Endoh
instead of dumping obj to a string and then saving the string. It omits object creation.
2019-08-16lib/rdoc/parser/ruby.rb: Avoid `.chars.to_a.last`Yusuke Endoh
The code creates a lot of useless objects. Instead, using a regexp is shorter and faster.
2019-08-16RDoc::Parser::C: Integrate do_classes and do_modules by one regexp matchYusuke Endoh
The full scan of the C source code (`@content.scan`) is very slow. The old code invokes the scan six times in `do_classes` and `do_modules`. This change integrates the six scans into one by merging the regexps. The integrated regexp is a bit hard to maintain, but the speed up is significant: approx. 30 sec -> 20 sec in Ruby's `make rdoc`. In addition, this change omits `do_boot_defclass` unless the file name is `class.c`. `boot_defclass` is too specific to Ruby's source code, so RDoc should handle it as a special case. Before this change: TOTAL (pct) SAMPLES (pct) FRAME 858 (13.6%) 858 (13.6%) (garbage collection) 292 (4.6%) 264 (4.2%) RDoc::Parser::C#do_define_class 263 (4.2%) 250 (3.9%) RDoc::Parser::C#do_define_module 275 (4.3%) 241 (3.8%) RDoc::Parser::C#do_define_class_under 248 (3.9%) 237 (3.7%) RDoc::Parser::C#do_define_module_under 234 (3.7%) 234 (3.7%) RDoc::Parser::C#gen_body_table 219 (3.5%) 219 (3.5%) Ripper::Lexer#state_obj 217 (3.4%) 216 (3.4%) RDoc::Parser::C#do_struct_define_without_accessor 205 (3.2%) 205 (3.2%) RDoc::Parser::C#do_boot_defclass 205 (3.2%) 205 (3.2%) RDoc::Parser::C#do_singleton_class The six methods take approx. 22.2%. `do_define_class` (4.2%) + `do_define_class_under` (3.8%) + `do_define_module` (3,9$) + `do_define_module_under` (3.7%) + `do_struct_define_without_accessor` (3.4%) + `do_singleton_class` (3.2%) After this change, the methods are integrated to `do_classes_and_modules` which takes only 5.8%. TOTAL (pct) SAMPLES (pct) FRAME 812 (16.7%) 812 (16.7%) (garbage collection) 355 (7.3%) 284 (5.8%) RDoc::Parser::C#do_classes_and_modules 225 (4.6%) 225 (4.6%) RDoc::Parser::C#gen_body_table 429 (8.8%) 210 (4.3%) RDoc::Parser::RubyTools#get_tk 208 (4.3%) 208 (4.3%) RDoc::TokenStream#add_tokens
2019-08-16Use test/unit instead of test-unit. Because test-unit is only provided ↵Hiroshi SHIBATA
standalone gem.
2019-08-16Use Gemfile instead of add_development_dependency.Hiroshi SHIBATA
2019-08-16Use test-unit instead of minitestNobuyoshi Nakada
Minitest 6 will err `assert_equal` with `nil`. https://github.com/seattlerb/minitest/issues/779
2019-08-16Treat linking to Markdown label correctlyaycabta
2019-08-16Separate RDoc::TokenStream#add_tokens and #add_tokenYusuke Endoh
The old version of `add_tokens` accepts an array of tokens, and multiple arguments of tokens by using `Array#flatten`. And `add_token` was an alias to `add_tokens`. I think it is unnecessarily flexible; in fact, all callsites of `add_tokens` (except test) passes only an array of tokens. And the code created a lot of temporal arrays. This change makes `add_tokens` accept only one array of tokens, and does `add_token` accept one token. It is a bit faster (about 1 second in Ruby's `make rdoc`), and it ls also cleaner in my point of view.
2019-08-16Refactor and improve performance of RDoc::Markup::ParserYusuke Endoh
This change introduces a wrapper of StringScanner that is aware of the current position (column and lineno). It has two advantages: faster and more modular. The old code frequently runs `@input.byteslice(0, byte_offset).length` to get the current position, but it was painfully slow. This change keeps track of the position at each scan, which reduces about half of time of "Generating RI format into ..." in Ruby's `make rdoc` (5.5 sec -> 3.0 sec). And the old code used four instance variables (`@input`, `@line`, `@line_pos`, and `@s`) to track the position. This change factors them out into MyStringScanner, so now only one variable (`@s`) is needed.
2019-07-30`/o` should not use with instance variableKazuhiro NISHIYAMA
for example: ``` class C;def initialize(pat);@pat=pat;end;def re;/#{@pat}/o;end;end C.new('1').re #=> /1/ C.new('2').re #=> /1/ ```
2019-07-29Should match the beginning/end of stringNobuyoshi Nakada
2019-07-29Match suffix for content type more preciselyNobuyoshi Nakada
Suffix needs a dot and should match the end of string.
2019-07-29Chomp html suffix literallyNobuyoshi Nakada
Unescaped dot does not mean a suffix.
2019-07-26[ruby/rdoc] Fix image links in rdoc.cssMaxime Lapointe
Every image in the rdoc.css that use url has the wrong one. They end up pointing to `css/images/zoom.png` instead of `images/zoom.png`. Just open this page https://ruby.github.io/rdoc/RDoc/CodeObject.html on chrome and you can see in the console the spam of the failed GET queries. This fixes it. https://github.com/ruby/rdoc/commit/daf36f9894
2019-07-26[ruby/rdoc] Update jQuery to 3.3.1aycabta
https://github.com/ruby/rdoc/commit/17df871ee
2019-07-26[ruby/rdoc] Support nesting text page URLaycabta
RDoc::Servlet#documentation_page replaces "/" in URL with "::" for class or module but it's also used for the replaced name on text pages. This causes a bug when text pages are in nesting directory. This commit fixes #615. https://github.com/ruby/rdoc/commit/d73b915b1e