summaryrefslogtreecommitdiff
path: root/lib/rdoc/parser
AgeCommit message (Collapse)Author
2024-02-09[ruby/rdoc] Don't document aliases with trailing `:nodoc` directivePetrik
Attribute readers and writers can be marked as `:nodoc` to keep them undocumented: ```ruby attr_reader :name # :nodoc: ``` For aliases this behaviour should be the same: ```ruby alias_method :old :new # :nodoc: ``` https://github.com/ruby/rdoc/commit/30f14e8271
2024-01-07[ruby/rdoc] Visibility should begin from `public` for each scopeNobuyoshi Nakada
Even for singleton class definition such as `class << self` that shares the same container with the outer scope, its visibility is separated and set to `public` by default. https://github.com/ruby/rdoc/commit/baf26363b9
2024-01-07[ruby/rdoc] Singleton method visibility should be isolatedNobuyoshi Nakada
Each singleton method definition of the form `def recv.method` has visibility separate from the outer scope and is set to `public` by default. https://github.com/ruby/rdoc/commit/810913a7ea
2023-12-25[ruby/rdoc] Fix support for `rb_file_const` and `rb_curses_define_const`Nobuyoshi Nakada
Constant definitions using these functions have been supported, but since RDoc::Parser::C#gen_const_table did not consider other than `rb_define_const` the documents for them have not been found, without `Document-const` direvtive. Fixes https://github.com/ruby/rdoc/issues/1067 https://github.com/ruby/rdoc/commit/cdad51a60b
2023-12-16[ruby/rdoc] [DOC] nodoc for probably internal methodsNobuyoshi Nakada
https://github.com/ruby/rdoc/commit/f7dd147a8c
2023-12-16[ruby/rdoc] [DOC] Add missing documentsNobuyoshi Nakada
https://github.com/ruby/rdoc/commit/e4c90340d0
2023-12-06[ruby/rdoc] Only word-ending colon separates new definitionNobuyoshi Nakada
When followed by non-space characters, rather it looks like a URL or a path name on Windows. https://github.com/ruby/rdoc/commit/72c6560773
2023-12-06[ruby/rdoc] Needs more backslash to match escaping backslashsNobuyoshi Nakada
https://github.com/ruby/rdoc/commit/1904e9076d
2023-12-05[ruby/rdoc] Allow any single-word token upto 2 before C method implementationNobuyoshi Nakada
Previously only unknown word `intern` is allowed between a single-word token before a C method. Now any single-word token, such as `inline` which is used for `ArithmeticSequence` in enumerator.c, is allowed instead. https://github.com/ruby/rdoc/commit/3a214c1dd1
2023-12-05[ruby/rdoc] Reduce matched substring allocationsNobuyoshi Nakada
https://github.com/ruby/rdoc/commit/aaed688a97
2023-09-05[ruby/rdoc] handle symbols declared with `%s`theo-squadracer
https://github.com/ruby/rdoc/commit/ed91c4b784
2023-06-03[ruby/rdoc] Auto-correct trailing new linesVinicius Stock
https://github.com/ruby/rdoc/commit/4b68c0728a
2023-04-29[ruby/rdoc] Fix polynominal backtrackingNobuyoshi Nakada
Fix https://github.com/ruby/rdoc/pull/995 https://github.com/ruby/rdoc/commit/adfa7db5b9
2023-02-21[ruby/rdoc] Fix RDoc::Parser::Ruby not being documentedÉtienne Barrié
The calls to require prevent the class from being documented. https://github.com/ruby/rdoc/commit/76283fc42e
2022-11-27[ruby/rdoc] Pull up handle_tab_width to RDoc::ParserNobuyoshi Nakada
To share with the duplicate code in RDoc::Parser::Ruby#initialize. https://github.com/ruby/rdoc/commit/27829ac119
2022-06-28[ruby/rdoc] Support attributes defined by `rb_struct_define`Nobuyoshi Nakada
https://github.com/ruby/rdoc/commit/854b370763
2022-06-28[ruby/rdoc] Parse also InitVM-prefixed functionsNobuyoshi Nakada
Initialization depending on VM is separated. https://github.com/ruby/rdoc/commit/030d10fccd
2022-06-07[ruby/rdoc] [DOC] Undocument internal constants [ci skip]Nobuyoshi Nakada
https://github.com/ruby/rdoc/commit/6d7bf24bb8
2022-06-07[ruby/rdoc] Allow boolean arguments to `rb_attr` and `rb_define_attr`Nobuyoshi Nakada
Currently only literal `0` and `1` are accepted as `read`/`write` flags. This patch allows other boolean arguments, C macros (`FALSE`/`TRUE`), Ruby `VALUE`s (`Qfalse`/`Qtrue`), and C99 `bool`s (`false`/`true`), as well. https://github.com/ruby/rdoc/commit/169dc02e3c
2022-03-16[ruby/rdoc] Fix full name of known classNobuyoshi Nakada
Properly set the name of `File::Constants`, which is the only name with a namespace in `RDoc::KNOWN_CLASSES`, and fixes longstanding bug that `File::Constants` becomes `File::File::Constants`. When it is generated by `rb_file_const` in dir.c, `name` is set to the qualified name as same as `full_name`, and generated in the normal way in file.c later, already set `full_name` is cleared and `name` will be constructed from the enclosing namespace and the `name`. It will results in duplicated namespace, `File::File::Constants`. https://github.com/ruby/rdoc/commit/3a8d6df562
2022-02-09[ruby/rdoc] Get rid of ruby-mode.el confusionsNobuyoshi Nakada
https://github.com/ruby/rdoc/commit/63fac51198
2022-02-09[ruby/rdoc] Skip parentheses on singleton class declarationSoutaro Matsumoto
https://github.com/ruby/rdoc/commit/b6c6d4f978
2022-02-09[ruby/rdoc] Support all struct definition functionsNobuyoshi Nakada
Currently only `rb_struct_define_without_accessor` is supported by https://github.com/ruby/rdoc/pull/73. We should support other three functions too. https://github.com/ruby/rdoc/commit/d42288f06c
2021-10-16[ruby/rdoc] feat: add support for :category: on C functionsMike Dalessio
https://github.com/ruby/rdoc/commit/45c92005fe
2021-10-16[ruby/rdoc] fix: comments in C files use the global markup optionMike Dalessio
Previously, Parser::C comments all defaulted to "rdoc" format, even when the user had set a different default with the `--markup=<choice>` option. https://github.com/ruby/rdoc/commit/4643b08a26
2021-10-16[ruby/rdoc] extract Comment creation in Parser::CMike Dalessio
This is a prefactor for fixing comment format handling. https://github.com/ruby/rdoc/commit/a3d366feed
2021-07-05[ruby/rdoc] Support ActiveSupport::Concern.includedaycabta
ref. https://github.com/rails/rails/blob/168ddaa08a63cd956bb7c3ba10be1a7ae36d4ee2/activerecord/lib/active_record/core.rb#L9-L20 https://github.com/ruby/rdoc/commit/a2d651dade Co-authored-by: Fumiaki MATSUSHIMA <[email protected]>
2021-01-25[ruby/rdoc] Support iso-strict format in git-logNobuyoshi Nakada
https://github.com/ruby/rdoc/commit/2a6c22da63
2021-01-25[ruby/rdoc] Support other date formats in git-logNobuyoshi Nakada
https://github.com/ruby/rdoc/commit/ad8cf37d72
2021-01-24[ruby/rdoc] Skip non-date logs by git-logNobuyoshi Nakada
`RDoc::Parser::ChangeLog` mis-parses ChangeLog generated by git-log, because of too heuristic `Time.parse`. For instance, "commit 8187228de0142d3ac7950b7d977c2849e934c637" results in "8187-08-16", that is, day 228 in the year 8187. https://github.com/ruby/rdoc/commit/9711e6f6d9
2021-01-24[ruby/rdoc] Sort by CommitDate if availableNobuyoshi Nakada
https://github.com/ruby/rdoc/commit/455715e930
2021-01-24[ruby/rdoc] Add links to the commitsNobuyoshi Nakada
https://github.com/ruby/rdoc/commit/1821628076
2021-01-24[ruby/rdoc] Shorten commit hashesNobuyoshi Nakada
https://github.com/ruby/rdoc/commit/5d3e153963
2021-01-24[ruby/rdoc] Tweak log entry markdownNobuyoshi Nakada
* add 3 levels to headings * prefix commit log to labels to make unique IDs https://github.com/ruby/rdoc/commit/5074c13209
2021-01-24[ruby/rdoc] Make each commit entries h3Nobuyoshi Nakada
https://github.com/ruby/rdoc/commit/11eefb2ae9
2021-01-24[ruby/rdoc] Support ChangeLog generated by `git log`Nobuyoshi Nakada
https://github.com/ruby/rdoc/commit/5e0a123ca1
2020-12-11Exclude parenthesized function declarations such as NORETURNNobuyoshi Nakada
Fixes https://github.com/ruby/ruby/pull/3883
2020-07-22[ruby/rdoc] Fix parsing of rb_define_module_underJeremy Evans
Fixes Ruby Bug #15819 https://github.com/ruby/rdoc/commit/94a052d833
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
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-11-28Fix ghost method line noaycabta
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-07-26[ruby/rdoc] Normalization of comment should check languageaycabta
RDoc::Text#normalize_comment that is included RDoc::Comment always remove Ruby style comment indicator "#" and C style comment indicator "/**/", but should check language and remove only the language's comment indicator. https://github.com/ruby/rdoc/commit/ca68ba1e73
2019-06-07ripper_state_lex.rb: chomp CRNobuyoshi Nakada
* lib/rdoc/parser/ripper_state_lex.rb (RDoc::Parser::RipperStateLex): chomp newline, including CR, from here document terminator. Closes: ruby/rdoc#694 Closes: ruby/rdoc#697 Closes: ruby/rdoc#705
2019-03-28[DOC] fix missing paren [ci skip]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-04[DOC] escape descriptions [ci skip]nobu
Escape descriptions not to get parsed as directives. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-04[DOC] mark function names [ci skip]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-04[DOC] split a tag for each function name [ci skip]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e