rbs-relaxed 3.9.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.github/dependabot.yml +22 -0
- data/.github/workflows/comments.yml +35 -0
- data/.github/workflows/dependabot.yml +30 -0
- data/.github/workflows/ruby.yml +82 -0
- data/.github/workflows/typecheck.yml +38 -0
- data/.github/workflows/windows.yml +43 -0
- data/.gitignore +23 -0
- data/.rubocop.yml +68 -0
- data/BSDL +22 -0
- data/CHANGELOG.md +1868 -0
- data/COPYING +56 -0
- data/README.md +203 -0
- data/Rakefile +417 -0
- data/Steepfile +44 -0
- data/config.yml +313 -0
- data/core/array.rbs +4062 -0
- data/core/basic_object.rbs +375 -0
- data/core/binding.rbs +150 -0
- data/core/builtin.rbs +277 -0
- data/core/class.rbs +220 -0
- data/core/comparable.rbs +171 -0
- data/core/complex.rbs +786 -0
- data/core/constants.rbs +96 -0
- data/core/data.rbs +415 -0
- data/core/dir.rbs +981 -0
- data/core/encoding.rbs +1371 -0
- data/core/enumerable.rbs +2405 -0
- data/core/enumerator/product.rbs +92 -0
- data/core/enumerator.rbs +630 -0
- data/core/env.rbs +6 -0
- data/core/errno.rbs +673 -0
- data/core/errors.rbs +760 -0
- data/core/exception.rbs +485 -0
- data/core/false_class.rbs +82 -0
- data/core/fiber.rbs +550 -0
- data/core/fiber_error.rbs +11 -0
- data/core/file.rbs +2936 -0
- data/core/file_test.rbs +331 -0
- data/core/float.rbs +1151 -0
- data/core/gc.rbs +644 -0
- data/core/global_variables.rbs +184 -0
- data/core/hash.rbs +1861 -0
- data/core/integer.rbs +1413 -0
- data/core/io/buffer.rbs +984 -0
- data/core/io/wait.rbs +70 -0
- data/core/io.rbs +3406 -0
- data/core/kernel.rbs +3096 -0
- data/core/marshal.rbs +207 -0
- data/core/match_data.rbs +635 -0
- data/core/math.rbs +729 -0
- data/core/method.rbs +386 -0
- data/core/module.rbs +1704 -0
- data/core/nil_class.rbs +209 -0
- data/core/numeric.rbs +818 -0
- data/core/object.rbs +110 -0
- data/core/object_space/weak_key_map.rbs +166 -0
- data/core/object_space.rbs +190 -0
- data/core/proc.rbs +868 -0
- data/core/process.rbs +2296 -0
- data/core/ractor.rbs +1068 -0
- data/core/random.rbs +237 -0
- data/core/range.rbs +1107 -0
- data/core/rational.rbs +531 -0
- data/core/rb_config.rbs +88 -0
- data/core/rbs/unnamed/argf.rbs +1229 -0
- data/core/rbs/unnamed/env_class.rbs +1209 -0
- data/core/rbs/unnamed/random.rbs +293 -0
- data/core/refinement.rbs +59 -0
- data/core/regexp.rbs +1930 -0
- data/core/ruby_vm.rbs +765 -0
- data/core/rubygems/basic_specification.rbs +6 -0
- data/core/rubygems/config_file.rbs +38 -0
- data/core/rubygems/dependency_installer.rbs +6 -0
- data/core/rubygems/errors.rbs +176 -0
- data/core/rubygems/installer.rbs +15 -0
- data/core/rubygems/path_support.rbs +6 -0
- data/core/rubygems/platform.rbs +7 -0
- data/core/rubygems/request_set.rbs +49 -0
- data/core/rubygems/requirement.rbs +148 -0
- data/core/rubygems/rubygems.rbs +1171 -0
- data/core/rubygems/source_list.rbs +15 -0
- data/core/rubygems/specification.rbs +23 -0
- data/core/rubygems/stream_ui.rbs +5 -0
- data/core/rubygems/uninstaller.rbs +10 -0
- data/core/rubygems/version.rbs +294 -0
- data/core/set.rbs +621 -0
- data/core/signal.rbs +100 -0
- data/core/string.rbs +3583 -0
- data/core/struct.rbs +667 -0
- data/core/symbol.rbs +475 -0
- data/core/thread.rbs +1765 -0
- data/core/thread_group.rbs +79 -0
- data/core/time.rbs +1762 -0
- data/core/trace_point.rbs +477 -0
- data/core/true_class.rbs +98 -0
- data/core/unbound_method.rbs +329 -0
- data/core/warning.rbs +87 -0
- data/docs/CONTRIBUTING.md +106 -0
- data/docs/architecture.md +110 -0
- data/docs/collection.md +192 -0
- data/docs/data_and_struct.md +86 -0
- data/docs/gem.md +57 -0
- data/docs/rbs_by_example.md +309 -0
- data/docs/repo.md +125 -0
- data/docs/sigs.md +167 -0
- data/docs/stdlib.md +147 -0
- data/docs/syntax.md +910 -0
- data/docs/tools.md +17 -0
- data/exe/rbs +7 -0
- data/ext/rbs_extension/extconf.rb +15 -0
- data/ext/rbs_extension/lexer.c +2728 -0
- data/ext/rbs_extension/lexer.h +179 -0
- data/ext/rbs_extension/lexer.re +147 -0
- data/ext/rbs_extension/lexstate.c +175 -0
- data/ext/rbs_extension/location.c +325 -0
- data/ext/rbs_extension/location.h +85 -0
- data/ext/rbs_extension/main.c +33 -0
- data/ext/rbs_extension/parser.c +2973 -0
- data/ext/rbs_extension/parser.h +18 -0
- data/ext/rbs_extension/parserstate.c +397 -0
- data/ext/rbs_extension/parserstate.h +163 -0
- data/ext/rbs_extension/rbs_extension.h +31 -0
- data/ext/rbs_extension/unescape.c +32 -0
- data/goodcheck.yml +91 -0
- data/include/rbs/constants.h +82 -0
- data/include/rbs/ruby_objs.h +72 -0
- data/include/rbs/util/rbs_constant_pool.h +219 -0
- data/include/rbs.h +7 -0
- data/lib/rbs/ancestor_graph.rb +92 -0
- data/lib/rbs/annotate/annotations.rb +199 -0
- data/lib/rbs/annotate/formatter.rb +92 -0
- data/lib/rbs/annotate/rdoc_annotator.rb +400 -0
- data/lib/rbs/annotate/rdoc_source.rb +131 -0
- data/lib/rbs/annotate.rb +8 -0
- data/lib/rbs/ast/annotation.rb +29 -0
- data/lib/rbs/ast/comment.rb +29 -0
- data/lib/rbs/ast/declarations.rb +467 -0
- data/lib/rbs/ast/directives.rb +49 -0
- data/lib/rbs/ast/members.rb +451 -0
- data/lib/rbs/ast/type_param.rb +225 -0
- data/lib/rbs/ast/visitor.rb +137 -0
- data/lib/rbs/buffer.rb +67 -0
- data/lib/rbs/builtin_names.rb +58 -0
- data/lib/rbs/cli/colored_io.rb +48 -0
- data/lib/rbs/cli/diff.rb +83 -0
- data/lib/rbs/cli/validate.rb +357 -0
- data/lib/rbs/cli.rb +1223 -0
- data/lib/rbs/collection/cleaner.rb +38 -0
- data/lib/rbs/collection/config/lockfile.rb +92 -0
- data/lib/rbs/collection/config/lockfile_generator.rb +218 -0
- data/lib/rbs/collection/config.rb +81 -0
- data/lib/rbs/collection/installer.rb +32 -0
- data/lib/rbs/collection/sources/base.rb +14 -0
- data/lib/rbs/collection/sources/git.rb +258 -0
- data/lib/rbs/collection/sources/local.rb +81 -0
- data/lib/rbs/collection/sources/rubygems.rb +48 -0
- data/lib/rbs/collection/sources/stdlib.rb +50 -0
- data/lib/rbs/collection/sources.rb +38 -0
- data/lib/rbs/collection.rb +16 -0
- data/lib/rbs/constant.rb +28 -0
- data/lib/rbs/definition.rb +401 -0
- data/lib/rbs/definition_builder/ancestor_builder.rb +620 -0
- data/lib/rbs/definition_builder/method_builder.rb +254 -0
- data/lib/rbs/definition_builder.rb +845 -0
- data/lib/rbs/diff.rb +125 -0
- data/lib/rbs/environment/use_map.rb +77 -0
- data/lib/rbs/environment.rb +829 -0
- data/lib/rbs/environment_loader.rb +173 -0
- data/lib/rbs/environment_walker.rb +155 -0
- data/lib/rbs/errors.rb +645 -0
- data/lib/rbs/factory.rb +18 -0
- data/lib/rbs/file_finder.rb +28 -0
- data/lib/rbs/location_aux.rb +138 -0
- data/lib/rbs/locator.rb +243 -0
- data/lib/rbs/method_type.rb +143 -0
- data/lib/rbs/namespace.rb +125 -0
- data/lib/rbs/parser/lex_result.rb +15 -0
- data/lib/rbs/parser/token.rb +23 -0
- data/lib/rbs/parser_aux.rb +114 -0
- data/lib/rbs/prototype/helpers.rb +140 -0
- data/lib/rbs/prototype/node_usage.rb +99 -0
- data/lib/rbs/prototype/rb.rb +840 -0
- data/lib/rbs/prototype/rbi.rb +641 -0
- data/lib/rbs/prototype/runtime/helpers.rb +59 -0
- data/lib/rbs/prototype/runtime/reflection.rb +19 -0
- data/lib/rbs/prototype/runtime/value_object_generator.rb +279 -0
- data/lib/rbs/prototype/runtime.rb +667 -0
- data/lib/rbs/repository.rb +127 -0
- data/lib/rbs/resolver/constant_resolver.rb +219 -0
- data/lib/rbs/resolver/type_name_resolver.rb +91 -0
- data/lib/rbs/sorter.rb +198 -0
- data/lib/rbs/substitution.rb +83 -0
- data/lib/rbs/subtractor.rb +201 -0
- data/lib/rbs/test/errors.rb +80 -0
- data/lib/rbs/test/guaranteed.rb +30 -0
- data/lib/rbs/test/hook.rb +212 -0
- data/lib/rbs/test/observer.rb +19 -0
- data/lib/rbs/test/setup.rb +84 -0
- data/lib/rbs/test/setup_helper.rb +50 -0
- data/lib/rbs/test/tester.rb +167 -0
- data/lib/rbs/test/type_check.rb +435 -0
- data/lib/rbs/test.rb +112 -0
- data/lib/rbs/type_alias_dependency.rb +100 -0
- data/lib/rbs/type_alias_regularity.rb +126 -0
- data/lib/rbs/type_name.rb +109 -0
- data/lib/rbs/types.rb +1596 -0
- data/lib/rbs/unit_test/convertibles.rb +176 -0
- data/lib/rbs/unit_test/spy.rb +138 -0
- data/lib/rbs/unit_test/type_assertions.rb +347 -0
- data/lib/rbs/unit_test/with_aliases.rb +143 -0
- data/lib/rbs/unit_test.rb +6 -0
- data/lib/rbs/validator.rb +186 -0
- data/lib/rbs/variance_calculator.rb +189 -0
- data/lib/rbs/vendorer.rb +71 -0
- data/lib/rbs/version.rb +5 -0
- data/lib/rbs/writer.rb +424 -0
- data/lib/rbs.rb +94 -0
- data/lib/rdoc/discover.rb +20 -0
- data/lib/rdoc_plugin/parser.rb +163 -0
- data/rbs-relaxed.gemspec +48 -0
- data/schema/annotation.json +14 -0
- data/schema/comment.json +26 -0
- data/schema/decls.json +326 -0
- data/schema/function.json +87 -0
- data/schema/location.json +56 -0
- data/schema/members.json +266 -0
- data/schema/methodType.json +50 -0
- data/schema/typeParam.json +36 -0
- data/schema/types.json +317 -0
- data/sig/ancestor_builder.rbs +163 -0
- data/sig/ancestor_graph.rbs +60 -0
- data/sig/annotate/annotations.rbs +102 -0
- data/sig/annotate/formatter.rbs +24 -0
- data/sig/annotate/rdoc_annotater.rbs +82 -0
- data/sig/annotate/rdoc_source.rbs +30 -0
- data/sig/annotation.rbs +27 -0
- data/sig/buffer.rbs +32 -0
- data/sig/builtin_names.rbs +44 -0
- data/sig/cli/colored_io.rbs +15 -0
- data/sig/cli/diff.rbs +21 -0
- data/sig/cli/validate.rbs +43 -0
- data/sig/cli.rbs +87 -0
- data/sig/collection/cleaner.rbs +13 -0
- data/sig/collection/config/lockfile.rbs +74 -0
- data/sig/collection/config/lockfile_generator.rbs +66 -0
- data/sig/collection/config.rbs +46 -0
- data/sig/collection/installer.rbs +17 -0
- data/sig/collection/sources.rbs +214 -0
- data/sig/collection.rbs +4 -0
- data/sig/comment.rbs +26 -0
- data/sig/constant.rbs +21 -0
- data/sig/declarations.rbs +267 -0
- data/sig/definition.rbs +173 -0
- data/sig/definition_builder.rbs +165 -0
- data/sig/diff.rbs +28 -0
- data/sig/directives.rbs +77 -0
- data/sig/environment.rbs +279 -0
- data/sig/environment_loader.rbs +111 -0
- data/sig/environment_walker.rbs +65 -0
- data/sig/errors.rbs +405 -0
- data/sig/factory.rbs +5 -0
- data/sig/file_finder.rbs +28 -0
- data/sig/location.rbs +110 -0
- data/sig/locator.rbs +58 -0
- data/sig/manifest.yaml +7 -0
- data/sig/members.rbs +258 -0
- data/sig/method_builder.rbs +84 -0
- data/sig/method_types.rbs +58 -0
- data/sig/namespace.rbs +146 -0
- data/sig/parser.rbs +100 -0
- data/sig/prototype/helpers.rbs +27 -0
- data/sig/prototype/node_usage.rbs +20 -0
- data/sig/prototype/rb.rbs +96 -0
- data/sig/prototype/rbi.rbs +75 -0
- data/sig/prototype/runtime.rbs +182 -0
- data/sig/rbs.rbs +21 -0
- data/sig/rdoc/rbs.rbs +67 -0
- data/sig/repository.rbs +85 -0
- data/sig/resolver/constant_resolver.rbs +92 -0
- data/sig/resolver/context.rbs +34 -0
- data/sig/resolver/type_name_resolver.rbs +35 -0
- data/sig/shims/bundler.rbs +38 -0
- data/sig/shims/enumerable.rbs +5 -0
- data/sig/shims/rubygems.rbs +19 -0
- data/sig/sorter.rbs +41 -0
- data/sig/substitution.rbs +48 -0
- data/sig/subtractor.rbs +37 -0
- data/sig/test/errors.rbs +52 -0
- data/sig/test/guranteed.rbs +9 -0
- data/sig/test/type_check.rbs +19 -0
- data/sig/test.rbs +82 -0
- data/sig/type_alias_dependency.rbs +53 -0
- data/sig/type_alias_regularity.rbs +98 -0
- data/sig/type_param.rbs +110 -0
- data/sig/typename.rbs +79 -0
- data/sig/types.rbs +579 -0
- data/sig/unit_test/convertibles.rbs +154 -0
- data/sig/unit_test/spy.rbs +30 -0
- data/sig/unit_test/type_assertions.rbs +196 -0
- data/sig/unit_test/with_aliases.rbs +136 -0
- data/sig/use_map.rbs +35 -0
- data/sig/util.rbs +9 -0
- data/sig/validator.rbs +63 -0
- data/sig/variance_calculator.rbs +87 -0
- data/sig/vendorer.rbs +51 -0
- data/sig/version.rbs +3 -0
- data/sig/visitor.rbs +47 -0
- data/sig/writer.rbs +127 -0
- data/src/constants.c +153 -0
- data/src/ruby_objs.c +795 -0
- data/src/util/rbs_constant_pool.c +342 -0
- data/stdlib/abbrev/0/abbrev.rbs +66 -0
- data/stdlib/abbrev/0/array.rbs +26 -0
- data/stdlib/base64/0/base64.rbs +355 -0
- data/stdlib/benchmark/0/benchmark.rbs +452 -0
- data/stdlib/bigdecimal/0/big_decimal.rbs +1629 -0
- data/stdlib/bigdecimal-math/0/big_math.rbs +119 -0
- data/stdlib/bigdecimal-math/0/manifest.yaml +2 -0
- data/stdlib/cgi/0/core.rbs +1285 -0
- data/stdlib/cgi/0/manifest.yaml +3 -0
- data/stdlib/coverage/0/coverage.rbs +263 -0
- data/stdlib/csv/0/csv.rbs +3776 -0
- data/stdlib/csv/0/manifest.yaml +3 -0
- data/stdlib/date/0/date.rbs +1585 -0
- data/stdlib/date/0/date_time.rbs +616 -0
- data/stdlib/date/0/time.rbs +26 -0
- data/stdlib/dbm/0/dbm.rbs +421 -0
- data/stdlib/delegate/0/delegator.rbs +184 -0
- data/stdlib/delegate/0/kernel.rbs +47 -0
- data/stdlib/delegate/0/simple_delegator.rbs +96 -0
- data/stdlib/did_you_mean/0/did_you_mean.rbs +343 -0
- data/stdlib/digest/0/digest.rbs +577 -0
- data/stdlib/erb/0/erb.rbs +532 -0
- data/stdlib/etc/0/etc.rbs +865 -0
- data/stdlib/fileutils/0/fileutils.rbs +1734 -0
- data/stdlib/find/0/find.rbs +49 -0
- data/stdlib/forwardable/0/forwardable.rbs +268 -0
- data/stdlib/io-console/0/io-console.rbs +414 -0
- data/stdlib/ipaddr/0/ipaddr.rbs +428 -0
- data/stdlib/json/0/json.rbs +1916 -0
- data/stdlib/kconv/0/kconv.rbs +166 -0
- data/stdlib/logger/0/formatter.rbs +45 -0
- data/stdlib/logger/0/log_device.rbs +100 -0
- data/stdlib/logger/0/logger.rbs +796 -0
- data/stdlib/logger/0/manifest.yaml +2 -0
- data/stdlib/logger/0/period.rbs +17 -0
- data/stdlib/logger/0/severity.rbs +34 -0
- data/stdlib/minitest/0/kernel.rbs +42 -0
- data/stdlib/minitest/0/minitest/abstract_reporter.rbs +52 -0
- data/stdlib/minitest/0/minitest/assertion.rbs +17 -0
- data/stdlib/minitest/0/minitest/assertions.rbs +590 -0
- data/stdlib/minitest/0/minitest/backtrace_filter.rbs +23 -0
- data/stdlib/minitest/0/minitest/bench_spec.rbs +102 -0
- data/stdlib/minitest/0/minitest/benchmark.rbs +259 -0
- data/stdlib/minitest/0/minitest/composite_reporter.rbs +25 -0
- data/stdlib/minitest/0/minitest/compress.rbs +13 -0
- data/stdlib/minitest/0/minitest/error_on_warning.rbs +3 -0
- data/stdlib/minitest/0/minitest/expectation.rbs +2 -0
- data/stdlib/minitest/0/minitest/expectations.rbs +21 -0
- data/stdlib/minitest/0/minitest/guard.rbs +64 -0
- data/stdlib/minitest/0/minitest/mock.rbs +64 -0
- data/stdlib/minitest/0/minitest/parallel/executor.rbs +46 -0
- data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +5 -0
- data/stdlib/minitest/0/minitest/parallel/test.rbs +3 -0
- data/stdlib/minitest/0/minitest/parallel.rbs +2 -0
- data/stdlib/minitest/0/minitest/pride_io.rbs +62 -0
- data/stdlib/minitest/0/minitest/pride_lol.rbs +19 -0
- data/stdlib/minitest/0/minitest/progress_reporter.rbs +11 -0
- data/stdlib/minitest/0/minitest/reportable.rbs +53 -0
- data/stdlib/minitest/0/minitest/reporter.rbs +5 -0
- data/stdlib/minitest/0/minitest/result.rbs +28 -0
- data/stdlib/minitest/0/minitest/runnable.rbs +163 -0
- data/stdlib/minitest/0/minitest/skip.rbs +6 -0
- data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +48 -0
- data/stdlib/minitest/0/minitest/spec/dsl.rbs +129 -0
- data/stdlib/minitest/0/minitest/spec.rbs +11 -0
- data/stdlib/minitest/0/minitest/statistics_reporter.rbs +81 -0
- data/stdlib/minitest/0/minitest/summary_reporter.rbs +18 -0
- data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +92 -0
- data/stdlib/minitest/0/minitest/test.rbs +69 -0
- data/stdlib/minitest/0/minitest/unexpected_error.rbs +12 -0
- data/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
- data/stdlib/minitest/0/minitest/unit/test_case.rbs +3 -0
- data/stdlib/minitest/0/minitest/unit.rbs +4 -0
- data/stdlib/minitest/0/minitest.rbs +115 -0
- data/stdlib/monitor/0/monitor.rbs +363 -0
- data/stdlib/mutex_m/0/mutex_m.rbs +104 -0
- data/stdlib/net-http/0/manifest.yaml +3 -0
- data/stdlib/net-http/0/net-http.rbs +5552 -0
- data/stdlib/net-protocol/0/manifest.yaml +2 -0
- data/stdlib/net-protocol/0/net-protocol.rbs +56 -0
- data/stdlib/net-smtp/0/manifest.yaml +2 -0
- data/stdlib/net-smtp/0/net-smtp.rbs +55 -0
- data/stdlib/nkf/0/nkf.rbs +402 -0
- data/stdlib/objspace/0/objspace.rbs +487 -0
- data/stdlib/observable/0/observable.rbs +217 -0
- data/stdlib/open-uri/0/manifest.yaml +4 -0
- data/stdlib/open-uri/0/open-uri.rbs +393 -0
- data/stdlib/open3/0/open3.rbs +147 -0
- data/stdlib/openssl/0/manifest.yaml +3 -0
- data/stdlib/openssl/0/openssl.rbs +12113 -0
- data/stdlib/optparse/0/optparse.rbs +1725 -0
- data/stdlib/pathname/0/pathname.rbs +1406 -0
- data/stdlib/pp/0/manifest.yaml +2 -0
- data/stdlib/pp/0/pp.rbs +300 -0
- data/stdlib/prettyprint/0/prettyprint.rbs +383 -0
- data/stdlib/pstore/0/pstore.rbs +603 -0
- data/stdlib/psych/0/core_ext.rbs +12 -0
- data/stdlib/psych/0/dbm.rbs +237 -0
- data/stdlib/psych/0/manifest.yaml +3 -0
- data/stdlib/psych/0/psych.rbs +402 -0
- data/stdlib/psych/0/store.rbs +59 -0
- data/stdlib/pty/0/pty.rbs +237 -0
- data/stdlib/rdoc/0/code_object.rbs +51 -0
- data/stdlib/rdoc/0/comment.rbs +59 -0
- data/stdlib/rdoc/0/context.rbs +153 -0
- data/stdlib/rdoc/0/markup.rbs +117 -0
- data/stdlib/rdoc/0/parser.rbs +56 -0
- data/stdlib/rdoc/0/rdoc.rbs +391 -0
- data/stdlib/rdoc/0/ri.rbs +17 -0
- data/stdlib/rdoc/0/store.rbs +48 -0
- data/stdlib/rdoc/0/top_level.rbs +97 -0
- data/stdlib/resolv/0/manifest.yaml +3 -0
- data/stdlib/resolv/0/resolv.rbs +1830 -0
- data/stdlib/ripper/0/ripper.rbs +1648 -0
- data/stdlib/securerandom/0/securerandom.rbs +62 -0
- data/stdlib/shellwords/0/shellwords.rbs +229 -0
- data/stdlib/singleton/0/singleton.rbs +131 -0
- data/stdlib/socket/0/addrinfo.rbs +666 -0
- data/stdlib/socket/0/basic_socket.rbs +590 -0
- data/stdlib/socket/0/constants.rbs +2295 -0
- data/stdlib/socket/0/ip_socket.rbs +92 -0
- data/stdlib/socket/0/socket.rbs +4157 -0
- data/stdlib/socket/0/socket_error.rbs +5 -0
- data/stdlib/socket/0/tcp_server.rbs +192 -0
- data/stdlib/socket/0/tcp_socket.rbs +79 -0
- data/stdlib/socket/0/udp_socket.rbs +133 -0
- data/stdlib/socket/0/unix_server.rbs +169 -0
- data/stdlib/socket/0/unix_socket.rbs +172 -0
- data/stdlib/stringio/0/stringio.rbs +567 -0
- data/stdlib/strscan/0/string_scanner.rbs +1627 -0
- data/stdlib/tempfile/0/tempfile.rbs +479 -0
- data/stdlib/time/0/time.rbs +432 -0
- data/stdlib/timeout/0/timeout.rbs +81 -0
- data/stdlib/tmpdir/0/tmpdir.rbs +69 -0
- data/stdlib/tsort/0/cyclic.rbs +5 -0
- data/stdlib/tsort/0/interfaces.rbs +20 -0
- data/stdlib/tsort/0/tsort.rbs +409 -0
- data/stdlib/uri/0/common.rbs +582 -0
- data/stdlib/uri/0/file.rbs +118 -0
- data/stdlib/uri/0/ftp.rbs +13 -0
- data/stdlib/uri/0/generic.rbs +1108 -0
- data/stdlib/uri/0/http.rbs +104 -0
- data/stdlib/uri/0/https.rbs +14 -0
- data/stdlib/uri/0/ldap.rbs +230 -0
- data/stdlib/uri/0/ldaps.rbs +14 -0
- data/stdlib/uri/0/mailto.rbs +92 -0
- data/stdlib/uri/0/rfc2396_parser.rbs +189 -0
- data/stdlib/uri/0/rfc3986_parser.rbs +2 -0
- data/stdlib/uri/0/ws.rbs +13 -0
- data/stdlib/uri/0/wss.rbs +9 -0
- data/stdlib/yaml/0/manifest.yaml +2 -0
- data/stdlib/yaml/0/yaml.rbs +1 -0
- data/stdlib/zlib/0/buf_error.rbs +10 -0
- data/stdlib/zlib/0/data_error.rbs +10 -0
- data/stdlib/zlib/0/deflate.rbs +210 -0
- data/stdlib/zlib/0/error.rbs +20 -0
- data/stdlib/zlib/0/gzip_file/crc_error.rbs +12 -0
- data/stdlib/zlib/0/gzip_file/error.rbs +23 -0
- data/stdlib/zlib/0/gzip_file/length_error.rbs +12 -0
- data/stdlib/zlib/0/gzip_file/no_footer.rbs +11 -0
- data/stdlib/zlib/0/gzip_file.rbs +156 -0
- data/stdlib/zlib/0/gzip_reader.rbs +293 -0
- data/stdlib/zlib/0/gzip_writer.rbs +166 -0
- data/stdlib/zlib/0/inflate.rbs +180 -0
- data/stdlib/zlib/0/mem_error.rbs +10 -0
- data/stdlib/zlib/0/need_dict.rbs +13 -0
- data/stdlib/zlib/0/stream_end.rbs +11 -0
- data/stdlib/zlib/0/stream_error.rbs +11 -0
- data/stdlib/zlib/0/version_error.rbs +11 -0
- data/stdlib/zlib/0/zlib.rbs +449 -0
- data/stdlib/zlib/0/zstream.rbs +200 -0
- metadata +532 -0
@@ -0,0 +1,237 @@
|
|
1
|
+
# <!-- rdoc-file=ext/pty/pty.c -->
|
2
|
+
# Creates and manages pseudo terminals (PTYs). See also
|
3
|
+
# https://en.wikipedia.org/wiki/Pseudo_terminal
|
4
|
+
#
|
5
|
+
# PTY allows you to allocate new terminals using ::open or ::spawn a new
|
6
|
+
# terminal with a specific command.
|
7
|
+
#
|
8
|
+
# ## Example
|
9
|
+
#
|
10
|
+
# In this example we will change the buffering type in the `factor` command,
|
11
|
+
# assuming that factor uses stdio for stdout buffering.
|
12
|
+
#
|
13
|
+
# If IO.pipe is used instead of PTY.open, this code deadlocks because factor's
|
14
|
+
# stdout is fully buffered.
|
15
|
+
#
|
16
|
+
# # start by requiring the standard library PTY
|
17
|
+
# require 'pty'
|
18
|
+
#
|
19
|
+
# master, slave = PTY.open
|
20
|
+
# read, write = IO.pipe
|
21
|
+
# pid = spawn("factor", :in=>read, :out=>slave)
|
22
|
+
# read.close # we dont need the read
|
23
|
+
# slave.close # or the slave
|
24
|
+
#
|
25
|
+
# # pipe "42" to the factor command
|
26
|
+
# write.puts "42"
|
27
|
+
# # output the response from factor
|
28
|
+
# p master.gets #=> "42: 2 3 7\n"
|
29
|
+
#
|
30
|
+
# # pipe "144" to factor and print out the response
|
31
|
+
# write.puts "144"
|
32
|
+
# p master.gets #=> "144: 2 2 2 2 3 3\n"
|
33
|
+
# write.close # close the pipe
|
34
|
+
#
|
35
|
+
# # The result of read operation when pty slave is closed is platform
|
36
|
+
# # dependent.
|
37
|
+
# ret = begin
|
38
|
+
# master.gets # FreeBSD returns nil.
|
39
|
+
# rescue Errno::EIO # GNU/Linux raises EIO.
|
40
|
+
# nil
|
41
|
+
# end
|
42
|
+
# p ret #=> nil
|
43
|
+
#
|
44
|
+
# ## License
|
45
|
+
#
|
46
|
+
# (c) Copyright 1998 by Akinori Ito.
|
47
|
+
#
|
48
|
+
# This software may be redistributed freely for this purpose, in full or in
|
49
|
+
# part, provided that this entire copyright notice is included on any copies of
|
50
|
+
# this software and applications and derivations thereof.
|
51
|
+
#
|
52
|
+
# This software is provided on an "as is" basis, without warranty of any kind,
|
53
|
+
# either expressed or implied, as to any matter including, but not limited to
|
54
|
+
# warranty of fitness of purpose, or merchantability, or results obtained from
|
55
|
+
# use of this software.
|
56
|
+
#
|
57
|
+
module PTY
|
58
|
+
# <!--
|
59
|
+
# rdoc-file=ext/pty/pty.c
|
60
|
+
# - PTY.check(pid, raise = false) => Process::Status or nil
|
61
|
+
# - PTY.check(pid, true) => nil or raises PTY::ChildExited
|
62
|
+
# -->
|
63
|
+
# Checks the status of the child process specified by `pid`. Returns `nil` if
|
64
|
+
# the process is still alive.
|
65
|
+
#
|
66
|
+
# If the process is not alive, and `raise` was true, a PTY::ChildExited
|
67
|
+
# exception will be raised. Otherwise it will return a Process::Status instance.
|
68
|
+
#
|
69
|
+
# `pid`
|
70
|
+
# : The process id of the process to check
|
71
|
+
#
|
72
|
+
# `raise`
|
73
|
+
# : If `true` and the process identified by `pid` is no longer alive a
|
74
|
+
# PTY::ChildExited is raised.
|
75
|
+
#
|
76
|
+
def self.check: (Integer pid, ?boolish raise) -> Process::Status?
|
77
|
+
|
78
|
+
# <!-- rdoc-file=ext/pty/pty.c -->
|
79
|
+
# Spawns the specified command on a newly allocated pty. You can also use the
|
80
|
+
# alias ::getpty.
|
81
|
+
#
|
82
|
+
# The command's controlling tty is set to the slave device of the pty and its
|
83
|
+
# standard input/output/error is redirected to the slave device.
|
84
|
+
#
|
85
|
+
# `env` is an optional hash that provides additional environment variables to
|
86
|
+
# the spawned pty.
|
87
|
+
#
|
88
|
+
# # sets FOO to "bar"
|
89
|
+
# PTY.spawn({"FOO"=>"bar"}, "printenv", "FOO") do |r, w, pid|
|
90
|
+
# p r.read #=> "bar\r\n"
|
91
|
+
# ensure
|
92
|
+
# r.close; w.close; Process.wait(pid)
|
93
|
+
# end
|
94
|
+
# # unsets FOO
|
95
|
+
# PTY.spawn({"FOO"=>nil}, "printenv", "FOO") do |r, w, pid|
|
96
|
+
# p r.read #=> ""
|
97
|
+
# ensure
|
98
|
+
# r.close; w.close; Process.wait(pid)
|
99
|
+
# end
|
100
|
+
#
|
101
|
+
# `command` and `command_line` are the full commands to run, given a String. Any
|
102
|
+
# additional `arguments` will be passed to the command.
|
103
|
+
#
|
104
|
+
# ### Return values
|
105
|
+
#
|
106
|
+
# In the non-block form this returns an array of size three, `[r, w, pid]`.
|
107
|
+
#
|
108
|
+
# In the block form these same values will be yielded to the block:
|
109
|
+
#
|
110
|
+
# `r`
|
111
|
+
# : A readable IO that contains the command's standard output and standard
|
112
|
+
# error
|
113
|
+
#
|
114
|
+
# `w`
|
115
|
+
# : A writable IO that is the command's standard input
|
116
|
+
#
|
117
|
+
# `pid`
|
118
|
+
# : The process identifier for the command.
|
119
|
+
#
|
120
|
+
#
|
121
|
+
# ### Clean up
|
122
|
+
#
|
123
|
+
# This method does not clean up like closing IOs or waiting for child process,
|
124
|
+
# except that the process is detached in the block form to prevent it from
|
125
|
+
# becoming a zombie (see Process.detach). Any other cleanup is the
|
126
|
+
# responsibility of the caller. If waiting for `pid`, be sure to close both `r`
|
127
|
+
# and `w` before doing so; doing it in the reverse order may cause deadlock on
|
128
|
+
# some OSes.
|
129
|
+
#
|
130
|
+
alias self.getpty self.spawn
|
131
|
+
|
132
|
+
# <!--
|
133
|
+
# rdoc-file=ext/pty/pty.c
|
134
|
+
# - PTY.open => [master_io, slave_file]
|
135
|
+
# - PTY.open {|(master_io, slave_file)| ... } => block value
|
136
|
+
# -->
|
137
|
+
# Allocates a pty (pseudo-terminal).
|
138
|
+
#
|
139
|
+
# In the block form, yields an array of two elements (`master_io, slave_file`)
|
140
|
+
# and the value of the block is returned from `open`.
|
141
|
+
#
|
142
|
+
# The IO and File are both closed after the block completes if they haven't been
|
143
|
+
# already closed.
|
144
|
+
#
|
145
|
+
# PTY.open {|master, slave|
|
146
|
+
# p master #=> #<IO:masterpty:/dev/pts/1>
|
147
|
+
# p slave #=> #<File:/dev/pts/1>
|
148
|
+
# p slave.path #=> "/dev/pts/1"
|
149
|
+
# }
|
150
|
+
#
|
151
|
+
# In the non-block form, returns a two element array, `[master_io, slave_file]`.
|
152
|
+
#
|
153
|
+
# master, slave = PTY.open
|
154
|
+
# # do something with master for IO, or the slave file
|
155
|
+
#
|
156
|
+
# The arguments in both forms are:
|
157
|
+
#
|
158
|
+
# `master_io`
|
159
|
+
# : the master of the pty, as an IO.
|
160
|
+
#
|
161
|
+
# `slave_file`
|
162
|
+
# : the slave of the pty, as a File. The path to the terminal device is
|
163
|
+
# available via `slave_file.path`
|
164
|
+
#
|
165
|
+
#
|
166
|
+
# IO#raw! is usable to disable newline conversions:
|
167
|
+
#
|
168
|
+
# require 'io/console'
|
169
|
+
# PTY.open {|m, s|
|
170
|
+
# s.raw!
|
171
|
+
# # ...
|
172
|
+
# }
|
173
|
+
#
|
174
|
+
def self.open: () -> [ IO, File ]
|
175
|
+
| [A] () { ([ IO, File ]) -> A } -> A
|
176
|
+
|
177
|
+
# <!--
|
178
|
+
# rdoc-file=ext/pty/pty.c
|
179
|
+
# - PTY.spawn([env,] command_line) { |r, w, pid| ... }
|
180
|
+
# - PTY.spawn([env,] command_line) => [r, w, pid]
|
181
|
+
# - PTY.spawn([env,] command, arguments, ...) { |r, w, pid| ... }
|
182
|
+
# - PTY.spawn([env,] command, arguments, ...) => [r, w, pid]
|
183
|
+
# -->
|
184
|
+
# Spawns the specified command on a newly allocated pty. You can also use the
|
185
|
+
# alias ::getpty.
|
186
|
+
#
|
187
|
+
# The command's controlling tty is set to the slave device of the pty and its
|
188
|
+
# standard input/output/error is redirected to the slave device.
|
189
|
+
#
|
190
|
+
# `env` is an optional hash that provides additional environment variables to
|
191
|
+
# the spawned pty.
|
192
|
+
#
|
193
|
+
# # sets FOO to "bar"
|
194
|
+
# PTY.spawn({"FOO"=>"bar"}, "printenv", "FOO") do |r, w, pid|
|
195
|
+
# p r.read #=> "bar\r\n"
|
196
|
+
# ensure
|
197
|
+
# r.close; w.close; Process.wait(pid)
|
198
|
+
# end
|
199
|
+
# # unsets FOO
|
200
|
+
# PTY.spawn({"FOO"=>nil}, "printenv", "FOO") do |r, w, pid|
|
201
|
+
# p r.read #=> ""
|
202
|
+
# ensure
|
203
|
+
# r.close; w.close; Process.wait(pid)
|
204
|
+
# end
|
205
|
+
#
|
206
|
+
# `command` and `command_line` are the full commands to run, given a String. Any
|
207
|
+
# additional `arguments` will be passed to the command.
|
208
|
+
#
|
209
|
+
# ### Return values
|
210
|
+
#
|
211
|
+
# In the non-block form this returns an array of size three, `[r, w, pid]`.
|
212
|
+
#
|
213
|
+
# In the block form these same values will be yielded to the block:
|
214
|
+
#
|
215
|
+
# `r`
|
216
|
+
# : A readable IO that contains the command's standard output and standard
|
217
|
+
# error
|
218
|
+
#
|
219
|
+
# `w`
|
220
|
+
# : A writable IO that is the command's standard input
|
221
|
+
#
|
222
|
+
# `pid`
|
223
|
+
# : The process identifier for the command.
|
224
|
+
#
|
225
|
+
#
|
226
|
+
# ### Clean up
|
227
|
+
#
|
228
|
+
# This method does not clean up like closing IOs or waiting for child process,
|
229
|
+
# except that the process is detached in the block form to prevent it from
|
230
|
+
# becoming a zombie (see Process.detach). Any other cleanup is the
|
231
|
+
# responsibility of the caller. If waiting for `pid`, be sure to close both `r`
|
232
|
+
# and `w` before doing so; doing it in the reverse order may cause deadlock on
|
233
|
+
# some OSes.
|
234
|
+
#
|
235
|
+
def self.spawn: (*String command) -> [ IO, IO, Integer ]
|
236
|
+
| (*String command) { ([ IO, IO, Integer ]) -> void } -> void
|
237
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
%a{annotate:rdoc:skip}
|
2
|
+
module RDoc
|
3
|
+
# <!-- rdoc-file=lib/rdoc/code_object.rb -->
|
4
|
+
# Base class for the RDoc code tree.
|
5
|
+
#
|
6
|
+
# We contain the common stuff for contexts (which are containers) and other
|
7
|
+
# elements (methods, attributes and so on)
|
8
|
+
#
|
9
|
+
# Here's the tree of the CodeObject subclasses:
|
10
|
+
#
|
11
|
+
# * RDoc::Context
|
12
|
+
# * RDoc::TopLevel
|
13
|
+
# * RDoc::ClassModule
|
14
|
+
# * RDoc::AnonClass (never used so far)
|
15
|
+
# * RDoc::NormalClass
|
16
|
+
# * RDoc::NormalModule
|
17
|
+
# * RDoc::SingleClass
|
18
|
+
# * RDoc::MethodAttr
|
19
|
+
# * RDoc::Attr
|
20
|
+
# * RDoc::AnyMethod
|
21
|
+
# * RDoc::GhostMethod
|
22
|
+
# * RDoc::MetaMethod
|
23
|
+
# * RDoc::Alias
|
24
|
+
# * RDoc::Constant
|
25
|
+
# * RDoc::Mixin
|
26
|
+
# * RDoc::Require
|
27
|
+
# * RDoc::Include
|
28
|
+
#
|
29
|
+
class CodeObject
|
30
|
+
# <!-- rdoc-file=lib/rdoc/code_object.rb -->
|
31
|
+
# Our comment
|
32
|
+
#
|
33
|
+
attr_reader comment: Markup::Document | Comment | String
|
34
|
+
|
35
|
+
# <!--
|
36
|
+
# rdoc-file=lib/rdoc/code_object.rb
|
37
|
+
# - new()
|
38
|
+
# -->
|
39
|
+
# Creates a new CodeObject that will document itself and its children
|
40
|
+
#
|
41
|
+
def initialize: () -> void
|
42
|
+
|
43
|
+
# <!--
|
44
|
+
# rdoc-file=lib/rdoc/code_object.rb
|
45
|
+
# - comment=(comment)
|
46
|
+
# -->
|
47
|
+
# Replaces our comment with `comment`, unless it is empty.
|
48
|
+
#
|
49
|
+
def comment=: (Markup::Document | Comment | String | nil) -> (Markup::Document | Comment | String)
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
%a{annotate:rdoc:skip}
|
2
|
+
module RDoc
|
3
|
+
# <!-- rdoc-file=lib/rdoc/comment.rb -->
|
4
|
+
# A comment holds the text comment for a RDoc::CodeObject and provides a unified
|
5
|
+
# way of cleaning it up and parsing it into an RDoc::Markup::Document.
|
6
|
+
#
|
7
|
+
# Each comment may have a different markup format set by #format=. By default
|
8
|
+
# 'rdoc' is used. The :markup: directive tells RDoc which format to use.
|
9
|
+
#
|
10
|
+
# See RDoc::MarkupReference@Directive+for+Specifying+RDoc+Source+Format.
|
11
|
+
#
|
12
|
+
class Comment
|
13
|
+
# <!-- rdoc-file=lib/rdoc/comment.rb -->
|
14
|
+
# The format of this comment. Defaults to RDoc::Markup
|
15
|
+
#
|
16
|
+
attr_reader format: String
|
17
|
+
|
18
|
+
# <!-- rdoc-file=lib/rdoc/comment.rb -->
|
19
|
+
# The RDoc::TopLevel this comment was found in
|
20
|
+
#
|
21
|
+
attr_accessor location: String
|
22
|
+
|
23
|
+
# <!--
|
24
|
+
# rdoc-file=lib/rdoc/comment.rb
|
25
|
+
# - new(text = nil, location = nil, language = nil)
|
26
|
+
# -->
|
27
|
+
# Creates a new comment with `text` that is found in the RDoc::TopLevel
|
28
|
+
# `location`.
|
29
|
+
#
|
30
|
+
def initialize: (?String? text, ?RDoc::Context? location, ?String? language) -> void
|
31
|
+
|
32
|
+
# <!--
|
33
|
+
# rdoc-file=lib/rdoc/comment.rb
|
34
|
+
# - format=(format)
|
35
|
+
# -->
|
36
|
+
# Sets the format of this comment and resets any parsed document
|
37
|
+
#
|
38
|
+
def format=: (String format) -> void
|
39
|
+
|
40
|
+
def normalized?: () -> bool
|
41
|
+
|
42
|
+
# <!--
|
43
|
+
# rdoc-file=lib/rdoc/comment.rb
|
44
|
+
# - normalize()
|
45
|
+
# -->
|
46
|
+
# Normalizes the text. See RDoc::Text#normalize_comment for details
|
47
|
+
#
|
48
|
+
def normalize: () -> self
|
49
|
+
|
50
|
+
# <!--
|
51
|
+
# rdoc-file=lib/rdoc/comment.rb
|
52
|
+
# - parse()
|
53
|
+
# -->
|
54
|
+
# Parses the comment into an RDoc::Markup::Document. The parsed document is
|
55
|
+
# cached until the text is changed.
|
56
|
+
#
|
57
|
+
def parse: () -> Markup::Document
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,153 @@
|
|
1
|
+
%a{annotate:rdoc:skip}
|
2
|
+
module RDoc
|
3
|
+
# <!-- rdoc-file=lib/rdoc/context.rb -->
|
4
|
+
# A Context is something that can hold modules, classes, methods, attributes,
|
5
|
+
# aliases, requires, and includes. Classes, modules, and files are all Contexts.
|
6
|
+
#
|
7
|
+
class Context < CodeObject
|
8
|
+
include Comparable
|
9
|
+
|
10
|
+
# <!-- rdoc-file=lib/rdoc/context.rb -->
|
11
|
+
# Types of methods
|
12
|
+
#
|
13
|
+
TYPES: ::Array["class" | "instance"]
|
14
|
+
|
15
|
+
TOMDOC_TITLES: ::Array[nil | "Public" | "Internal" | "Deprecated"]
|
16
|
+
|
17
|
+
type class_types = singleton(RDoc::NormalClass) | singleton(RDoc::SingleClass)
|
18
|
+
|
19
|
+
# <!--
|
20
|
+
# rdoc-file=lib/rdoc/context.rb
|
21
|
+
# - new()
|
22
|
+
# -->
|
23
|
+
# Creates an unnamed empty context with public current visibility
|
24
|
+
#
|
25
|
+
def initialize: () -> void
|
26
|
+
|
27
|
+
# <!--
|
28
|
+
# rdoc-file=lib/rdoc/context.rb
|
29
|
+
# - add_alias(an_alias)
|
30
|
+
# -->
|
31
|
+
# Adds `an_alias` that is automatically resolved
|
32
|
+
#
|
33
|
+
def add_alias: (RDoc::Alias an_alias) -> RDoc::Alias
|
34
|
+
|
35
|
+
# <!--
|
36
|
+
# rdoc-file=lib/rdoc/context.rb
|
37
|
+
# - add_attribute(attribute)
|
38
|
+
# -->
|
39
|
+
# Adds `attribute` if not already there. If it is (as method(s) or attribute),
|
40
|
+
# updates the comment if it was empty.
|
41
|
+
#
|
42
|
+
# The attribute is registered only if it defines a new method. For instance,
|
43
|
+
# `attr_reader :foo` will not be registered if method `foo` exists, but
|
44
|
+
# `attr_accessor :foo` will be registered if method `foo` exists, but `foo=`
|
45
|
+
# does not.
|
46
|
+
#
|
47
|
+
def add_attribute: (RDoc::Attr attribute) -> RDoc::Attr
|
48
|
+
|
49
|
+
# <!--
|
50
|
+
# rdoc-file=lib/rdoc/context.rb
|
51
|
+
# - add_class(class_type, given_name, superclass = '::Object')
|
52
|
+
# -->
|
53
|
+
# Adds a class named `given_name` with `superclass`.
|
54
|
+
#
|
55
|
+
# Both `given_name` and `superclass` may contain '::', and are interpreted
|
56
|
+
# relative to the `self` context. This allows handling correctly examples like
|
57
|
+
# these:
|
58
|
+
# class RDoc::Gauntlet < Gauntlet
|
59
|
+
# module Mod
|
60
|
+
# class Object # implies < ::Object
|
61
|
+
# class SubObject < Object # this is _not_ ::Object
|
62
|
+
#
|
63
|
+
# Given `class Container::Item` RDoc assumes `Container` is a module unless it
|
64
|
+
# later sees `class Container`. `add_class` automatically upgrades `given_name`
|
65
|
+
# to a class in this case.
|
66
|
+
#
|
67
|
+
def add_class: (class_types class_type, ::String given_name, ?::String superclass) -> (RDoc::NormalClass | RDoc::SingleClass)
|
68
|
+
|
69
|
+
# <!--
|
70
|
+
# rdoc-file=lib/rdoc/context.rb
|
71
|
+
# - add_constant(constant)
|
72
|
+
# -->
|
73
|
+
# Adds `constant` if not already there. If it is, updates the comment, value
|
74
|
+
# and/or is_alias_for of the known constant if they were empty/nil.
|
75
|
+
#
|
76
|
+
def add_constant: (RDoc::Constant constant) -> RDoc::Constant
|
77
|
+
|
78
|
+
# <!--
|
79
|
+
# rdoc-file=lib/rdoc/context.rb
|
80
|
+
# - add_include(include)
|
81
|
+
# -->
|
82
|
+
# Adds included module `include` which should be an RDoc::Include
|
83
|
+
#
|
84
|
+
def add_include: (RDoc::Include `include`) -> RDoc::Include
|
85
|
+
|
86
|
+
# <!--
|
87
|
+
# rdoc-file=lib/rdoc/context.rb
|
88
|
+
# - add_extend(ext)
|
89
|
+
# -->
|
90
|
+
# Adds extension module `ext` which should be an RDoc::Extend
|
91
|
+
#
|
92
|
+
def add_extend: (RDoc::Extend ext) -> RDoc::Extend
|
93
|
+
|
94
|
+
# <!--
|
95
|
+
# rdoc-file=lib/rdoc/context.rb
|
96
|
+
# - add_method(method)
|
97
|
+
# -->
|
98
|
+
# Adds `method` if not already there. If it is (as method or attribute), updates
|
99
|
+
# the comment if it was empty.
|
100
|
+
#
|
101
|
+
def add_method: (RDoc::AnyMethod method) -> RDoc::AnyMethod
|
102
|
+
|
103
|
+
# <!--
|
104
|
+
# rdoc-file=lib/rdoc/context.rb
|
105
|
+
# - add_module(class_type, name)
|
106
|
+
# -->
|
107
|
+
# Adds a module named `name`. If RDoc already knows `name` is a class then that
|
108
|
+
# class is returned instead. See also #add_class.
|
109
|
+
#
|
110
|
+
def add_module: (singleton(RDoc::NormalModule) class_type, String name) -> RDoc::NormalModule
|
111
|
+
|
112
|
+
# <!-- rdoc-file=lib/rdoc/context.rb -->
|
113
|
+
# All attr* methods
|
114
|
+
#
|
115
|
+
def attributes: () -> Array[Attr]
|
116
|
+
|
117
|
+
# <!-- rdoc-file=lib/rdoc/context.rb -->
|
118
|
+
# Constants defined
|
119
|
+
#
|
120
|
+
def constants: () -> Array[Constant]
|
121
|
+
|
122
|
+
# <!--
|
123
|
+
# rdoc-file=lib/rdoc/context.rb
|
124
|
+
# - find_module_named(name)
|
125
|
+
# -->
|
126
|
+
# Find a module with `name` using ruby's scoping rules
|
127
|
+
#
|
128
|
+
def find_module_named: (untyped name) -> (untyped | self)
|
129
|
+
|
130
|
+
# <!--
|
131
|
+
# rdoc-file=lib/rdoc/context.rb
|
132
|
+
# - full_name()
|
133
|
+
# -->
|
134
|
+
# The full name for this context. This method is overridden by subclasses.
|
135
|
+
#
|
136
|
+
def full_name: () -> "(unknown)"
|
137
|
+
|
138
|
+
# <!-- rdoc-file=lib/rdoc/context.rb -->
|
139
|
+
# Methods defined in this context
|
140
|
+
#
|
141
|
+
def method_list: () -> Array[AnyMethod]
|
142
|
+
|
143
|
+
def to_s: () -> ::String
|
144
|
+
|
145
|
+
# <!--
|
146
|
+
# rdoc-file=lib/rdoc/context.rb
|
147
|
+
# - top_level()
|
148
|
+
# -->
|
149
|
+
# Return the TopLevel that owns us
|
150
|
+
#
|
151
|
+
def top_level: () -> RDoc::TopLevel
|
152
|
+
end
|
153
|
+
end
|
@@ -0,0 +1,117 @@
|
|
1
|
+
%a{annotate:rdoc:skip}
|
2
|
+
module RDoc
|
3
|
+
# <!-- rdoc-file=lib/rdoc/markup.rb -->
|
4
|
+
# RDoc::Markup parses plain text documents and attempts to decompose them into
|
5
|
+
# their constituent parts. Some of these parts are high-level: paragraphs,
|
6
|
+
# chunks of verbatim text, list entries and the like. Other parts happen at the
|
7
|
+
# character level: a piece of bold text, a word in code font. This markup is
|
8
|
+
# similar in spirit to that used on WikiWiki webs, where folks create web pages
|
9
|
+
# using a simple set of formatting rules.
|
10
|
+
#
|
11
|
+
# RDoc::Markup and other markup formats do no output formatting, this is handled
|
12
|
+
# by the RDoc::Markup::Formatter subclasses.
|
13
|
+
#
|
14
|
+
# # Markup Formats
|
15
|
+
#
|
16
|
+
# `RDoc` supports these markup formats:
|
17
|
+
#
|
18
|
+
# * `rdoc`: the `RDoc` markup format; see RDoc::MarkupReference.
|
19
|
+
# * `markdown`: The `markdown` markup format as described in the [Markdown
|
20
|
+
# Guide](https://www.markdownguide.org); see RDoc::Markdown.
|
21
|
+
# * `rd`: the `rd` markup format format; see RDoc::RD.
|
22
|
+
# * `tomdoc`: the TomDoc format as described in [TomDoc for
|
23
|
+
# Ruby](http://tomdoc.org); see RDoc::TomDoc.
|
24
|
+
#
|
25
|
+
# You can choose a markup format using the following methods:
|
26
|
+
#
|
27
|
+
# per project
|
28
|
+
# : If you build your documentation with rake use RDoc::Task#markup.
|
29
|
+
#
|
30
|
+
# If you build your documentation by hand run:
|
31
|
+
#
|
32
|
+
# rdoc --markup your_favorite_format --write-options
|
33
|
+
#
|
34
|
+
# and commit `.rdoc_options` and ship it with your packaged gem.
|
35
|
+
#
|
36
|
+
# per file
|
37
|
+
# : At the top of the file use the `:markup:` directive to set the default
|
38
|
+
# format for the rest of the file.
|
39
|
+
#
|
40
|
+
# per comment
|
41
|
+
# : Use the `:markup:` directive at the top of a comment you want to write in
|
42
|
+
# a different format.
|
43
|
+
#
|
44
|
+
#
|
45
|
+
# # RDoc::Markup
|
46
|
+
#
|
47
|
+
# RDoc::Markup is extensible at runtime: you can add new markup elements to be
|
48
|
+
# recognized in the documents that RDoc::Markup parses.
|
49
|
+
#
|
50
|
+
# RDoc::Markup is intended to be the basis for a family of tools which share the
|
51
|
+
# common requirement that simple, plain-text should be rendered in a variety of
|
52
|
+
# different output formats and media. It is envisaged that RDoc::Markup could
|
53
|
+
# be the basis for formatting RDoc style comment blocks, Wiki entries, and
|
54
|
+
# online FAQs.
|
55
|
+
#
|
56
|
+
# ## Synopsis
|
57
|
+
#
|
58
|
+
# This code converts `input_string` to HTML. The conversion takes place in the
|
59
|
+
# `convert` method, so you can use the same RDoc::Markup converter to convert
|
60
|
+
# multiple input strings.
|
61
|
+
#
|
62
|
+
# require 'rdoc'
|
63
|
+
#
|
64
|
+
# h = RDoc::Markup::ToHtml.new(RDoc::Options.new)
|
65
|
+
#
|
66
|
+
# puts h.convert(input_string)
|
67
|
+
#
|
68
|
+
# You can extend the RDoc::Markup parser to recognize new markup sequences, and
|
69
|
+
# to add regexp handling. Here we make WikiWords significant to the parser, and
|
70
|
+
# also make the sequences {word} and <no>text...</no> signify strike-through
|
71
|
+
# text. We then subclass the HTML output class to deal with these:
|
72
|
+
#
|
73
|
+
# require 'rdoc'
|
74
|
+
#
|
75
|
+
# class WikiHtml < RDoc::Markup::ToHtml
|
76
|
+
# def handle_regexp_WIKIWORD(target)
|
77
|
+
# "<font color=red>" + target.text + "</font>"
|
78
|
+
# end
|
79
|
+
# end
|
80
|
+
#
|
81
|
+
# markup = RDoc::Markup.new
|
82
|
+
# markup.add_word_pair("{", "}", :STRIKE)
|
83
|
+
# markup.add_html("no", :STRIKE)
|
84
|
+
#
|
85
|
+
# markup.add_regexp_handling(/\b([A-Z][a-z]+[A-Z]\w+)/, :WIKIWORD)
|
86
|
+
#
|
87
|
+
# wh = WikiHtml.new RDoc::Options.new, markup
|
88
|
+
# wh.add_tag(:STRIKE, "<strike>", "</strike>")
|
89
|
+
#
|
90
|
+
# puts "<body>#{wh.convert ARGF.read}</body>"
|
91
|
+
#
|
92
|
+
# ## Encoding
|
93
|
+
#
|
94
|
+
# Where Encoding support is available, RDoc will automatically convert all
|
95
|
+
# documents to the same output encoding. The output encoding can be set via
|
96
|
+
# RDoc::Options#encoding and defaults to Encoding.default_external.
|
97
|
+
#
|
98
|
+
# # RDoc Markup Reference
|
99
|
+
#
|
100
|
+
# See RDoc::MarkupReference.
|
101
|
+
#
|
102
|
+
class Markup
|
103
|
+
class Document
|
104
|
+
include Enumerable[Document]
|
105
|
+
|
106
|
+
def each: () { (Document) -> void } -> void
|
107
|
+
| () -> Enumerator[Document, void]
|
108
|
+
|
109
|
+
def file: () -> String?
|
110
|
+
|
111
|
+
def accept: (untyped) -> String
|
112
|
+
end
|
113
|
+
|
114
|
+
class ToMarkdown
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
%a{annotate:rdoc:skip}
|
2
|
+
module RDoc
|
3
|
+
# <!-- rdoc-file=lib/rdoc/parser.rb -->
|
4
|
+
# A parser is simple a class that subclasses RDoc::Parser and implements #scan
|
5
|
+
# to fill in an RDoc::TopLevel with parsed data.
|
6
|
+
#
|
7
|
+
# The initialize method takes an RDoc::TopLevel to fill with parsed content, the
|
8
|
+
# name of the file to be parsed, the content of the file, an RDoc::Options
|
9
|
+
# object and an RDoc::Stats object to inform the user of parsed items. The scan
|
10
|
+
# method is then called to parse the file and must return the RDoc::TopLevel
|
11
|
+
# object. By calling super these items will be set for you.
|
12
|
+
#
|
13
|
+
# In order to be used by RDoc the parser needs to register the file extensions
|
14
|
+
# it can parse. Use ::parse_files_matching to register extensions.
|
15
|
+
#
|
16
|
+
# require 'rdoc'
|
17
|
+
#
|
18
|
+
# class RDoc::Parser::Xyz < RDoc::Parser
|
19
|
+
# parse_files_matching /\.xyz$/
|
20
|
+
#
|
21
|
+
# def initialize top_level, file_name, content, options, stats
|
22
|
+
# super
|
23
|
+
#
|
24
|
+
# # extra initialization if needed
|
25
|
+
# end
|
26
|
+
#
|
27
|
+
# def scan
|
28
|
+
# # parse file and fill in @top_level
|
29
|
+
# end
|
30
|
+
# end
|
31
|
+
#
|
32
|
+
class Parser
|
33
|
+
# <!--
|
34
|
+
# rdoc-file=lib/rdoc/parser.rb
|
35
|
+
# - parse_files_matching(regexp)
|
36
|
+
# -->
|
37
|
+
# Record which file types this parser can understand.
|
38
|
+
#
|
39
|
+
# It is ok to call this multiple times.
|
40
|
+
#
|
41
|
+
def self?.parse_files_matching: (Regexp path) -> void
|
42
|
+
|
43
|
+
# <!--
|
44
|
+
# rdoc-file=lib/rdoc/parser.rb
|
45
|
+
# - new(top_level, file_name, content, options, stats)
|
46
|
+
# -->
|
47
|
+
# Creates a new Parser storing `top_level`, `file_name`, `content`, `options`
|
48
|
+
# and `stats` in instance variables. In +@preprocess+ an
|
49
|
+
# RDoc::Markup::PreProcess object is created which allows processing of
|
50
|
+
# directives.
|
51
|
+
#
|
52
|
+
def initialize: (RDoc::TopLevel top_level, String filename, String content, Hash[untyped, untyped] options, RDoc::Stats stats) -> void
|
53
|
+
|
54
|
+
def scan: () -> RDoc::TopLevel
|
55
|
+
end
|
56
|
+
end
|