aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rdoc
Commit message (Collapse)AuthorAgeFilesLines
* Removed nonsense `rubygems_version` in input gemspec filesNobuyoshi Nakada2020-06-251-1/+0
| | | | | As it is ignored and set at building packages automatically, it is just nonsense to set in gemspec file for input.
* [ruby/rdoc] Add frozen string literal supportDavid Rodríguez2020-05-241-1/+1
| | | | https://github.com/ruby/rdoc/commit/daac9d0471
* [ruby/rdoc] Add instance_methods because instance_method_list should be obsoleteaycabta2020-05-241-2/+10
| | | | https://github.com/ruby/rdoc/commit/9b1da32254
* [ruby/rdoc] Fixed inverted CSS for note-list and label-listNobuyoshi Nakada2020-05-241-1/+1
| | | | https://github.com/ruby/rdoc/commit/a13d6439da
* [ruby/rdoc] Delegate ERB args correctlyaycabta2020-05-242-4/+4
| | | | https://github.com/ruby/rdoc/commit/82ff37a822
* [ruby/rdoc] Treat multiple Ruby methods calling the same C method as aliasesJeremy Evans2020-05-243-65/+76
| | | | | | | | | | | | | | | | | | | | 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
* [ruby/rdoc] Process crossref before tidylinkaycabta2020-05-242-8/+29
| | | | | | | 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
* [ruby/rdoc] Escape method names in HTMLNate Matykiewicz2020-05-241-1/+1
| | | | | | | | | | | | | | | 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
* Support XDG_* (#2174)Hiroshi SHIBATA2020-04-232-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* [ruby/rdoc] Drop old rubiesNobuyoshi Nakada2020-04-231-14/+3
| | | | | | | | | * `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
* Specify explicit separator not to be affected by $;Nobuyoshi Nakada2020-03-084-5/+5
|
* [ruby/rdoc] Removed `RDoc::Context::Section#sequence`Nobuyoshi Nakada2020-02-201-13/+0
| | | | | | It has been deprecated since 2011. https://github.com/ruby/rdoc/commit/5c2aa0f77d
* [ruby/rdoc] Version 6.2.1aycabta2019-12-241-1/+1
| | | | https://github.com/ruby/rdoc/commit/c65e14d112
* Update parsers of RDoc that are generated by Raccaycabta2019-12-242-2/+2
|
* [ruby/rdoc] Support newline in the middle of constant definitionaycabta2019-12-241-1/+1
| | | | https://github.com/ruby/rdoc/commit/74d3984324
* [ruby/rdoc] Treat Proc#call syntax sugar for constant correctlyaycabta2019-12-241-0/+4
| | | | https://github.com/ruby/rdoc/commit/957d041ae0
* Fixed misspellingsNobuyoshi Nakada2019-12-202-2/+2
| | | | Fixed misspellings reported at [Bug #16437], for default gems.
* Fix ghost method line noaycabta2019-11-282-4/+15
|
* [ruby/rdoc] Support different drive latters in include pathsaycabta2019-10-291-3/+18
| | | | https://github.com/ruby/rdoc/commit/946d2592e2
* Make `(#methodname)` a link with --hyperlink-all optionaycabta2019-10-261-1/+1
|
* Make `(#methodname)` a linkNobuyoshi Nakada2019-10-261-1/+1
|
* Update required_ruby_version to 2.4.0aycabta2019-10-091-1/+1
|
* Folded files in gemspecNobuyoshi Nakada2019-09-161-2/+192
|
* Remove .document and .gitignore from file list of rdoc.gemspecaycabta2019-09-081-1/+1
|
* Fix keyword argument separation issues in libJeremy Evans2019-08-301-6/+6
| | | | Mostly requires adding ** in either calls or method definitions.
* Remove jquery.js from file list of rdoc.gemspecaycabta2019-08-281-1/+1
|
* Remove debug print [ci skip]Kazuhiro NISHIYAMA2019-08-281-1/+0
|
* Remove jquery.jsaycabta2019-08-281-2/+0
|
* Version 6.2.0aycabta2019-08-281-1/+1
|
* Good bye jQueryaycabta2019-08-286-179/+92
|
* lib/rdoc/markup/parser.rb: remove a unused variable initializationYusuke Endoh2019-08-191-1/+0
|
* Remove CI files from listaycabta2019-08-171-1/+1
|
* Removed formatter_test_case and text_formatter_test_case from ↵Hiroshi SHIBATA2019-08-171-1/+1
| | | | Gem::Specification#files.
* Removed autoload from Markup.Hiroshi SHIBATA2019-08-171-2/+0
|
* Removed test_case files from lib directory.Hiroshi SHIBATA2019-08-172-879/+0
|
* lib/rdoc/store.rb: Use `Marshal.dump(obj, io)`Yusuke Endoh2019-08-161-12/+4
| | | | | instead of dumping obj to a string and then saving the string. It omits object creation.
* lib/rdoc/parser/ruby.rb: Avoid `.chars.to_a.last`Yusuke Endoh2019-08-161-2/+2
| | | | | The code creates a lot of useless objects. Instead, using a regexp is shorter and faster.
* RDoc::Parser::C: Integrate do_classes and do_modules by one regexp matchYusuke Endoh2019-08-161-103/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Use test/unit instead of test-unit. Because test-unit is only provided ↵Hiroshi SHIBATA2019-08-161-1/+1
| | | | standalone gem.
* Use Gemfile instead of add_development_dependency.Hiroshi SHIBATA2019-08-161-6/+0
|
* Use test-unit instead of minitestNobuyoshi Nakada2019-08-161-1/+1
| | | | | Minitest 6 will err `assert_equal` with `nil`. https://github.com/seattlerb/minitest/issues/779
* Treat linking to Markdown label correctlyaycabta2019-08-161-1/+5
|
* Separate RDoc::TokenStream#add_tokens and #add_tokenYusuke Endoh2019-08-161-3/+8
| | | | | | | | | | | | | | | 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.
* Refactor and improve performance of RDoc::Markup::ParserYusuke Endoh2019-08-162-49/+65
| | | | | | | | | | | | | | | | 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.
* `/o` should not use with instance variableKazuhiro NISHIYAMA2019-07-301-1/+1
| | | | | | | | | 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/ ```
* Should match the beginning/end of stringNobuyoshi Nakada2019-07-291-4/+4
|
* Match suffix for content type more preciselyNobuyoshi Nakada2019-07-291-3/+3
| | | | Suffix needs a dot and should match the end of string.
* Chomp html suffix literallyNobuyoshi Nakada2019-07-291-1/+1
| | | | Unescaped dot does not mean a suffix.
* [ruby/rdoc] Fix image links in rdoc.cssMaxime Lapointe2019-07-261-5/+5
| | | | | | | | | 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
* [ruby/rdoc] Update jQuery to 3.3.1aycabta2019-07-261-4/+2
| | | | https://github.com/ruby/rdoc/commit/17df871ee