brakeman 7.1.0 → 7.1.2
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 +4 -4
- data/CHANGES.md +22 -1
- data/README.md +3 -3
- data/bundle/load.rb +8 -8
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/CHANGELOG.md +13 -1
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/Gemfile +7 -0
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/README.md +1 -0
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/REFERENCE.md +9 -16
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/haml.gemspec +2 -0
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/attribute_builder.rb +2 -2
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/attribute_compiler.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/plain.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/ruby.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/parser.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/rails_template.rb +2 -2
- data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/version.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/config.rb +5 -0
- data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/io/ansi.rb +7 -15
- data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/io.rb +2 -2
- data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/key_actor/emacs.rb +2 -2
- data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/line_editor.rb +46 -44
- data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/unicode/east_asian_width.rb +7 -8
- data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/unicode.rb +22 -16
- data/bundle/ruby/3.2.0/gems/reline-0.6.3/lib/reline/version.rb +3 -0
- data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline.rb +2 -3
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/NEWS.md +145 -1
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/attribute.rb +7 -8
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/cdata.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/child.rb +2 -3
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/comment.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/doctype.rb +3 -8
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/document.rb +21 -5
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/element.rb +53 -59
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/encoding.rb +3 -6
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/functions.rb +3 -3
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/instruction.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/namespace.rb +4 -4
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/node.rb +2 -2
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/baseparser.rb +143 -81
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/xpathparser.rb +4 -4
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/quickpath.rb +19 -18
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/rexml.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/security.rb +2 -2
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/source.rb +7 -2
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/text.rb +14 -17
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/validation/relaxng.rb +27 -26
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/validation/validation.rb +8 -8
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/xpath.rb +2 -13
- data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/xpath_parser.rb +44 -42
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/History.rdoc +67 -0
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.22.0/Manifest.txt +39 -0
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/README.rdoc +15 -3
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/compare/normalize.rb +19 -3
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/gauntlet.md +35 -5
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/lib/ruby_lexer.rb +9 -18
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/lib/ruby_lexer.rex.rb +1 -2
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/lib/ruby_parser.rb +18 -14
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby_parser.yy → ruby_parser-3.22.0/lib/ruby_parser2.yy} +15 -22
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby20_parser.rb → ruby_parser-3.22.0/lib/ruby_parser20.rb} +19 -22
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby21_parser.rb → ruby_parser-3.22.0/lib/ruby_parser21.rb} +19 -22
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby22_parser.rb → ruby_parser-3.22.0/lib/ruby_parser22.rb} +19 -22
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby23_parser.rb → ruby_parser-3.22.0/lib/ruby_parser23.rb} +19 -22
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby24_parser.rb → ruby_parser-3.22.0/lib/ruby_parser24.rb} +19 -22
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby25_parser.rb → ruby_parser-3.22.0/lib/ruby_parser25.rb} +19 -22
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby26_parser.rb → ruby_parser-3.22.0/lib/ruby_parser26.rb} +19 -22
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby27_parser.rb → ruby_parser-3.22.0/lib/ruby_parser27.rb} +21 -24
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby3_parser.yy → ruby_parser-3.22.0/lib/ruby_parser3.yy} +214 -79
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby30_parser.rb → ruby_parser-3.22.0/lib/ruby_parser30.rb} +3339 -3351
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3/lib/ruby31_parser.rb → ruby_parser-3.22.0/lib/ruby_parser31.rb} +3772 -3808
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.22.0/lib/ruby_parser32.rb +13565 -0
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.22.0/lib/ruby_parser33.rb +13653 -0
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.22.0/lib/ruby_parser34.rb +13653 -0
- data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/lib/ruby_parser_extras.rb +109 -60
- data/bundle/ruby/3.2.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.5}/History.rdoc +14 -0
- data/bundle/ruby/3.2.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.5}/lib/pt_testcase.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.5}/lib/sexp_processor.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/CHANGES +4 -0
- data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/encoding.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/version.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/CHANGELOG.md +8 -0
- data/bundle/ruby/3.2.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/README.md +5 -5
- data/bundle/ruby/3.2.0/gems/unicode-display_width-3.2.0/data/display_width.marshal.gz +0 -0
- data/bundle/ruby/3.2.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/lib/unicode/display_width/constants.rb +2 -2
- data/bundle/ruby/3.2.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/lib/unicode/display_width/emoji_support.rb +5 -2
- data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/CHANGELOG.md +11 -0
- data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/Gemfile +2 -0
- data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/Gemfile.lock +5 -1
- data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/README.md +4 -4
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/data/emoji.marshal.gz +0 -0
- data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/constants.rb +4 -3
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex.rb +8 -0
- data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated/regex_basic.rb +1 -1
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_include_mqe.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_include_mqe_uqe.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_include_text.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_picto.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_picto_no_emoji.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_possible.rb +8 -0
- data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated/regex_prop_emoji.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated/regex_prop_presentation.rb +1 -1
- data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated/regex_text.rb +1 -1
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_valid.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_valid_include_text.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_well_formed.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated/regex_well_formed_include_text.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated_native/regex.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated_native/regex_include_mqe.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated_native/regex_include_mqe_uqe.rb +8 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib/unicode/emoji/generated_native/regex_include_text.rb +8 -0
- data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/unicode-emoji.gemspec +1 -1
- data/lib/brakeman/app_tree.rb +40 -5
- data/lib/brakeman/checks/base_check.rb +5 -2
- data/lib/brakeman/checks/check_render.rb +5 -0
- data/lib/brakeman/checks/check_sql.rb +13 -4
- data/lib/brakeman/file_path.rb +4 -0
- data/lib/brakeman/processors/alias_processor.rb +9 -0
- data/lib/brakeman/processors/haml_template_processor.rb +10 -1
- data/lib/brakeman/processors/lib/rails2_config_processor.rb +1 -1
- data/lib/brakeman/processors/lib/rails3_config_processor.rb +1 -1
- data/lib/brakeman/report/pager.rb +1 -1
- data/lib/brakeman/report/templates/header.html.erb +1 -1
- data/lib/brakeman/version.rb +1 -1
- data/lib/ruby_parser/bm_sexp.rb +14 -0
- metadata +301 -310
- data/bundle/ruby/3.2.0/gems/reline-0.6.1/lib/reline/version.rb +0 -3
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/Manifest.txt +0 -48
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby20_parser.y +0 -2707
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby21_parser.y +0 -2724
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby22_parser.y +0 -2735
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby23_parser.y +0 -2737
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby24_parser.y +0 -2745
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby25_parser.y +0 -2745
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby26_parser.y +0 -2760
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby27_parser.y +0 -3360
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby30_parser.y +0 -3508
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby31_parser.y +0 -3542
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby32_parser.rb +0 -13601
- data/bundle/ruby/3.2.0/gems/ruby_parser-3.20.3/lib/ruby32_parser.y +0 -3543
- data/bundle/ruby/3.2.0/gems/unicode-display_width-3.1.4/data/display_width.marshal.gz +0 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/data/emoji.marshal.gz +0 -0
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_include_mqe.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_include_mqe_uqe.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_include_text.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_picto.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_picto_no_emoji.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_possible.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_valid.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_valid_include_text.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_well_formed.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated/regex_well_formed_include_text.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_include_mqe.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_include_mqe_uqe.rb +0 -8
- data/bundle/ruby/3.2.0/gems/unicode-emoji-4.0.4/lib/unicode/emoji/generated_native/regex_include_text.rb +0 -8
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/FAQ.md +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/MIT-LICENSE +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/exe/haml +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/ambles.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/attribute_parser.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/cli.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/compiler/children_compiler.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/compiler/comment_compiler.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/compiler/doctype_compiler.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/compiler/script_compiler.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/compiler/silent_script_compiler.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/compiler/tag_compiler.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/compiler.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/dynamic_merger.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/engine.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/error.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/escape.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/escape_any.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/base.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/cdata.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/coffee.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/css.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/erb.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/escaped.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/javascript.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/less.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/markdown.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/preserve.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/sass.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/scss.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/text_base.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters/tilt_base.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/filters.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/force_escape.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/helpers.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/html.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/identity.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/object_ref.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/rails_helpers.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/railtie.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/ruby_expression.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/string_splitter.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/template.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/temple_line_counter.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/util.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml/whitespace.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{haml-6.3.0 → haml-6.4.0}/lib/haml.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/BSDL +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/COPYING +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/README.md +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/face.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/history.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/io/dumb.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/io/windows.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/key_actor/base.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/key_actor/composite.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/key_actor/vi_command.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/key_actor/vi_insert.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/key_actor.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/key_stroke.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/lib/reline/kill_ring.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{reline-0.6.1 → reline-0.6.3}/license_of_rb-readline +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/LICENSE.txt +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/README.md +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/attlistdecl.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/dtd/attlistdecl.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/dtd/dtd.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/dtd/elementdecl.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/dtd/entitydecl.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/dtd/notationdecl.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/entity.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/formatters/default.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/formatters/pretty.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/formatters/transitive.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/light/node.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/output.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parent.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parseexception.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/lightparser.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/pullparser.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/sax2parser.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/streamparser.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/treeparser.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/parsers/ultralightparser.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/sax2listener.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/streamlistener.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/undefinednamespaceexception.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/validation/validationexception.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/xmldecl.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml/xmltokens.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{rexml-3.4.1 → rexml-3.4.4}/lib/rexml.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/debugging.md +0 -0
- /data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/lib/rp_extensions.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/lib/rp_stringscanner.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/lib/ruby_lexer.rex +0 -0
- /data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/lib/ruby_lexer_strings.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/tools/munge.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{ruby_parser-3.20.3 → ruby_parser-3.22.0}/tools/ripper.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.5}/Manifest.txt +0 -0
- /data/bundle/ruby/3.2.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.5}/README.rdoc +0 -0
- /data/bundle/ruby/3.2.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.5}/lib/composite_sexp_processor.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.5}/lib/sexp.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.5}/lib/sexp_matcher.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.5}/lib/strict_sexp.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{sexp_processor-4.17.3 → sexp_processor-4.17.5}/lib/unique.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/EXPRESSIONS.md +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/Gemfile +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/LICENSE +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/README.md +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/engine.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/erb/engine.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/erb/parser.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/erb/template.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/erb/trimming.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/exceptions.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filter.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/ambles.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/code_merger.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/control_flow.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/dynamic_inliner.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/dynamic_merger.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/eraser.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/escapable.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/multi_flattener.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/remove_bom.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/static_analyzer.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/static_merger.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/string_splitter.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/filters/validator.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/generator.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/generators/array.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/generators/array_buffer.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/generators/erb.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/generators/rails_output_buffer.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/generators/string_buffer.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/grammar.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/attribute_merger.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/attribute_remover.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/attribute_sorter.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/dispatcher.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/fast.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/filter.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/pretty.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/html/safe.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/map.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/mixins/dispatcher.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/mixins/engine_dsl.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/mixins/grammar_dsl.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/mixins/options.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/mixins/template.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/parser.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/static_analyzer.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/templates/rails.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/templates/tilt.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/templates.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple/utils.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/lib/temple.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{temple-0.10.3 → temple-0.10.4}/temple.gemspec +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/MIT-LICENSE.txt +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/lib/unicode/display_width/index.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/lib/unicode/display_width/no_string_ext.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/lib/unicode/display_width/reline_ext.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/lib/unicode/display_width/string_ext.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-display_width-3.1.4 → unicode-display_width-3.2.0}/lib/unicode/display_width.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/CODE_OF_CONDUCT.md +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/MIT-LICENSE.txt +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/data/generate_constants.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated/regex_emoji_keycap.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated/regex_prop_component.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated/regex_prop_modifier.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated/regex_prop_modifier_base.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated/regex_text_presentation.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_basic.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_emoji_keycap.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_picto.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_picto_no_emoji.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_possible.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_prop_component.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_prop_emoji.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_prop_modifier.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_prop_modifier_base.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_prop_presentation.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_text.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_text_presentation.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_valid.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_valid_include_text.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_well_formed.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/generated_native/regex_well_formed_include_text.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/index.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/lazy_constants.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji/list.rb +0 -0
- /data/bundle/ruby/3.2.0/gems/{unicode-emoji-4.0.4 → unicode-emoji-4.2.0}/lib/unicode/emoji.rb +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 49ebce7c5b36fd14e30b08390083b297cafca5d188f7b57a50b872c466958479
|
|
4
|
+
data.tar.gz: 6c71f882538ebef7c9802018793032fe10213be7537b9f88465e1390babc12bb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c24948824de7bbbb8242acf97bf21c12306e25540cde8510cb292a041573b05309b7db5973caa78e0acda30868d82361e75f6bf1f0c4d8129065b773d4a98917
|
|
7
|
+
data.tar.gz: e312665bc3680ce63f8b9c416bbf77966b8aba5d9666533252e9b4e8540353a01b49261d21281455a601e7becd3f5bbf068cf8b81edad862d910d7479a6f24c6
|
data/CHANGES.md
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
# 7.1.2 - 2025-12-25
|
|
2
|
+
|
|
3
|
+
* Update `ruby_parser` to remove version restriction (Chedli Bourguiba)
|
|
4
|
+
* Raise minimum required Ruby to 3.2.0
|
|
5
|
+
* Use Minitest 6.0
|
|
6
|
+
* Reduce SQL injection false positives from `count` calls
|
|
7
|
+
* Ignore more Haml attribute builder methods
|
|
8
|
+
|
|
9
|
+
# 7.1.1 - 2025-11-03
|
|
10
|
+
|
|
11
|
+
* Fix false positive when calling `with_content` on ViewComponents (Peer Allan)
|
|
12
|
+
* Word wrap text output in pager
|
|
13
|
+
* Consider Tempfile.create.path as safe input (Ali Ismayilov)
|
|
14
|
+
* Exclude directories before searching for files
|
|
15
|
+
* Check each side of `or` SQL arguments
|
|
16
|
+
* Ignore attribute builder in Haml 6
|
|
17
|
+
* Add `FilePath#to_path` for Ruby 3.5 compatibility (S-H-GAMELINKS)
|
|
18
|
+
* Fix SQL injection check for calculate method (Rohan Sharma)
|
|
19
|
+
* Fix missing `td` in HTML report (John Hawthorn)
|
|
20
|
+
* Check for unsafe SQL when two arguments are passed to AR methods (Patrick Brinich-Langlois)
|
|
21
|
+
|
|
1
22
|
# 7.1.0 - 2025-07-18
|
|
2
23
|
|
|
3
24
|
* Add EOL dates for Rails 8.0 and Ruby 3.4
|
|
@@ -7,7 +28,7 @@
|
|
|
7
28
|
* Improve ignored warnings layout in HTML report (Sebastien Savater)
|
|
8
29
|
* Update JUnit report for CircleCI (Philippe Bernery)
|
|
9
30
|
* Only load escape functionality from cgi library (Earlopain)
|
|
10
|
-
* Add `--ensure-no-obsolete-
|
|
31
|
+
* Add `--ensure-no-obsolete-ignore-entries` option (viralpraxis)
|
|
11
32
|
|
|
12
33
|
# 7.0.2 - 2025-04-04
|
|
13
34
|
|
data/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[](http://brakemanscanner.org/)
|
|
2
2
|
|
|
3
3
|
[](https://circleci.com/gh/presidentbeef/brakeman)
|
|
4
|
-
[](https://qlty.sh/gh/presidentbeef/projects/brakeman)
|
|
5
5
|
|
|
6
6
|
# Brakeman
|
|
7
7
|
|
|
@@ -65,7 +65,7 @@ Outside of Rails root (note that the output file is relative to path/to/rails/ap
|
|
|
65
65
|
|
|
66
66
|
Brakeman should work with any version of Rails from 2.3.x to 8.x.
|
|
67
67
|
|
|
68
|
-
Brakeman can analyze code written with Ruby 2.0 syntax and newer, but requires at least Ruby 3.
|
|
68
|
+
Brakeman can analyze code written with Ruby 2.0 syntax and newer, but requires at least Ruby 3.2.0 to run.
|
|
69
69
|
|
|
70
70
|
# Basic Options
|
|
71
71
|
|
|
@@ -75,7 +75,7 @@ To specify an output file for the results:
|
|
|
75
75
|
|
|
76
76
|
brakeman -o output_file
|
|
77
77
|
|
|
78
|
-
The output format is determined by the file extension or by using the `-f` option. Current options are: `text`, `html`, `tabs`, `json`, `junit`, `markdown`, `csv`, `codeclimate`, and `sonar`.
|
|
78
|
+
The output format is determined by the file extension or by using the `-f` option. Current options are: `text`, `html`, `tabs`, `json`, `junit`, `markdown`, `csv`, `codeclimate`, `github` and `sonar`.
|
|
79
79
|
|
|
80
80
|
Multiple output files can be specified:
|
|
81
81
|
|
data/bundle/load.rb
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
path = File.expand_path('../..', __FILE__)
|
|
2
2
|
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/csv-3.3.5/lib"
|
|
3
3
|
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/erubis-2.7.0/lib"
|
|
4
|
-
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/haml-6.
|
|
4
|
+
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/haml-6.4.0/lib"
|
|
5
5
|
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/highline-3.1.2/lib"
|
|
6
6
|
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/parallel-1.27.0/lib"
|
|
7
|
-
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/reline-0.6.
|
|
8
|
-
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/rexml-3.4.
|
|
7
|
+
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/reline-0.6.3/lib"
|
|
8
|
+
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/rexml-3.4.4/lib"
|
|
9
9
|
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/ruby2ruby-2.5.2/lib"
|
|
10
|
-
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/ruby_parser-3.
|
|
11
|
-
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/sexp_processor-4.17.
|
|
10
|
+
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/ruby_parser-3.22.0/lib"
|
|
11
|
+
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/sexp_processor-4.17.5/lib"
|
|
12
12
|
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/slim-5.2.1/lib"
|
|
13
|
-
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/temple-0.10.
|
|
13
|
+
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/temple-0.10.4/lib"
|
|
14
14
|
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/terminal-table-4.0.0/lib"
|
|
15
15
|
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/tilt-2.6.1/lib"
|
|
16
|
-
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/unicode-display_width-3.
|
|
17
|
-
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/unicode-emoji-4.0
|
|
16
|
+
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/unicode-display_width-3.2.0/lib"
|
|
17
|
+
$:.unshift "#{path}/bundle/ruby/3.2.0/gems/unicode-emoji-4.2.0/lib"
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Haml Changelog
|
|
2
2
|
|
|
3
|
+
## 6.4.0
|
|
4
|
+
|
|
5
|
+
* Authorize characters in attribute name for vuejs https://github.com/haml/haml/pull/1172
|
|
6
|
+
* Compile new-style attributes statically https://github.com/haml/haml/pull/1165
|
|
7
|
+
* Remove newlines from template annotation comments https://github.com/haml/haml/pull/1186
|
|
8
|
+
* Fix line numbers within a :ruby filter https://github.com/haml/haml/pull/1166
|
|
9
|
+
* Fix .class + nested class array bug https://github.com/haml/haml/pull/1191
|
|
10
|
+
|
|
11
|
+
## 6.3.1
|
|
12
|
+
|
|
13
|
+
* Optimize string transformation using `String#tr` https://github.com/haml/haml/pull/1168
|
|
14
|
+
* Provide a Changelog link on rubygems.org https://github.com/haml/haml/pull/1157
|
|
15
|
+
|
|
3
16
|
## 6.3.0
|
|
4
17
|
|
|
5
18
|
* Remove `Haml::RailsTemplate#default_format` that was added in v6.1.3 for Turbo [#1152](https://github.com/haml/haml/issues/1152), [#1154](https://github.com/haml/haml/issues/1154) ([discussion](https://github.com/haml/haml/pull/1144#issuecomment-1755088572))
|
|
@@ -8,7 +21,6 @@
|
|
|
8
21
|
## 6.2.5
|
|
9
22
|
|
|
10
23
|
* Deprecate `Haml::RailsTemplate#default_format` that was added in v6.1.3 for Turbo ([discussion](https://github.com/haml/haml/pull/1144#issuecomment-1755088572))
|
|
11
|
-
* See [the reference](https://github.com/haml/haml/blob/v6.2.5/REFERENCE.md#turbo) for suggested alternatives.
|
|
12
24
|
|
|
13
25
|
## 6.2.4
|
|
14
26
|
|
|
@@ -25,3 +25,10 @@ end
|
|
|
25
25
|
if RUBY_VERSION < '2.6'
|
|
26
26
|
gem 'rake-compiler', '< 1.2.4'
|
|
27
27
|
end
|
|
28
|
+
|
|
29
|
+
# Temporary workaround to ensure Ruby 2.5 and 2.6 can pass tests with Rails 6.1
|
|
30
|
+
# Reference: https://github.com/rails/rails/issues/54260
|
|
31
|
+
# TODO: Remove this workaround when dropping support for Rails versions below 7.1
|
|
32
|
+
if RUBY_VERSION < '2.7'
|
|
33
|
+
gem 'concurrent-ruby', '< 1.3.5'
|
|
34
|
+
end
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
[](https://github.com/haml/haml/actions/workflows/test.yml)
|
|
5
5
|
[](https://codeclimate.com/github/haml/haml)
|
|
6
6
|
[](https://inch-ci.org/github/haml/haml)
|
|
7
|
+
[](https://discord.gg/G8dEAwvV2Y)
|
|
7
8
|
|
|
8
9
|
Haml is a templating engine for HTML. It's designed to make it both easier and
|
|
9
10
|
more pleasant to write HTML documents, by eliminating redundancy, reflecting the
|
|
@@ -105,7 +105,7 @@ set :haml, { escape_html: false }
|
|
|
105
105
|
```
|
|
106
106
|
|
|
107
107
|
Finally, you can also set them by passing an options hash to `Haml::Engine.new` or `Haml::Template.new`.
|
|
108
|
-
For the complete list of available options, please see `Haml::Engine
|
|
108
|
+
For the complete list of available options, please see [`Haml::Engine`](https://github.com/haml/haml/blob/main/lib/haml/engine.rb).
|
|
109
109
|
|
|
110
110
|
## Plain Text
|
|
111
111
|
|
|
@@ -320,7 +320,7 @@ or using `true` and `false`:
|
|
|
320
320
|
%input(selected=true)
|
|
321
321
|
|
|
322
322
|
This feature works only for attributes that are included in
|
|
323
|
-
[`Haml::
|
|
323
|
+
[`Haml::BOOLEAN_ATTRIBUTES`](https://github.com/haml/haml/blob/main/lib/haml/attribute_compiler.rb#L8),
|
|
324
324
|
as well as `data-` and `aria-` attributes.
|
|
325
325
|
|
|
326
326
|
%input{'data-hidden' => false}
|
|
@@ -360,13 +360,6 @@ will render as:
|
|
|
360
360
|
|
|
361
361
|
<a data-author-id='123' data-category='7' href='/posts'>Posts By Author</a>
|
|
362
362
|
|
|
363
|
-
Notice that the underscore in `author_id` was replaced with a hyphen. If you wish
|
|
364
|
-
to suppress this behavior, you can set Haml's
|
|
365
|
-
{Haml::Options#hyphenate_data_attrs `:hyphenate_data_attrs` option} to `false`,
|
|
366
|
-
and the output will be rendered as:
|
|
367
|
-
|
|
368
|
-
<a data-author_id='123' data-category='7' href='/posts'>Posts By Author</a>
|
|
369
|
-
|
|
370
363
|
This expansion of hashes is recursive – any value of the child hash that is
|
|
371
364
|
itself a hash will create an attribute for each entry, with the attribute name
|
|
372
365
|
prefixed with all ancestor keys. For example:
|
|
@@ -568,7 +561,7 @@ prefix for both the id and class attributes. For example:
|
|
|
568
561
|
# file: app/controllers/users_controller.rb
|
|
569
562
|
|
|
570
563
|
def show
|
|
571
|
-
@user =
|
|
564
|
+
@user = FriendlyUser.find(15)
|
|
572
565
|
end
|
|
573
566
|
|
|
574
567
|
-# file: app/views/users/show.haml
|
|
@@ -579,7 +572,7 @@ prefix for both the id and class attributes. For example:
|
|
|
579
572
|
|
|
580
573
|
is compiled to:
|
|
581
574
|
|
|
582
|
-
<div class='
|
|
575
|
+
<div class='greeting_friendly_user' id='greeting_friendly_user_15'>
|
|
583
576
|
<bar class='fixnum' id='fixnum_581' />
|
|
584
577
|
Hello!
|
|
585
578
|
</div>
|
|
@@ -587,11 +580,11 @@ is compiled to:
|
|
|
587
580
|
If you require that the class be something other than the underscored object's
|
|
588
581
|
class, you can implement the `haml_object_ref` method on the object.
|
|
589
582
|
|
|
590
|
-
# file: app/models/
|
|
583
|
+
# file: app/models/friendly_user.rb
|
|
591
584
|
|
|
592
|
-
class
|
|
585
|
+
class FriendlyUser < ActiveRecord::Base
|
|
593
586
|
def haml_object_ref
|
|
594
|
-
"
|
|
587
|
+
"a_friendly_user"
|
|
595
588
|
end
|
|
596
589
|
end
|
|
597
590
|
|
|
@@ -602,7 +595,7 @@ class, you can implement the `haml_object_ref` method on the object.
|
|
|
602
595
|
|
|
603
596
|
is compiled to:
|
|
604
597
|
|
|
605
|
-
<div class='
|
|
598
|
+
<div class='a_friendly_user' id='a_friendly_user_15'>
|
|
606
599
|
Hello!
|
|
607
600
|
</div>
|
|
608
601
|
|
|
@@ -1298,7 +1291,7 @@ Blocks of literal text can be preserved using the [`:preserve` filter](#preserve
|
|
|
1298
1291
|
|
|
1299
1292
|
## Turbo
|
|
1300
1293
|
|
|
1301
|
-
For people using Turbo-rails
|
|
1294
|
+
For people using Turbo-rails need to either:
|
|
1302
1295
|
* follow the naming convention with the html format (ie. ensure any `.haml` files end `.html.haml`), or
|
|
1303
1296
|
* add a monkey patch as follows:
|
|
1304
1297
|
|
|
@@ -21,6 +21,8 @@ Gem::Specification.new do |spec|
|
|
|
21
21
|
|
|
22
22
|
spec.metadata = { 'rubygems_mfa_required' => 'true' }
|
|
23
23
|
|
|
24
|
+
spec.metadata["changelog_uri"] = spec.homepage + "/blob/main/CHANGELOG.md"
|
|
25
|
+
|
|
24
26
|
spec.required_ruby_version = '>= 2.1.0'
|
|
25
27
|
|
|
26
28
|
spec.add_dependency 'temple', '>= 0.8.2'
|
|
@@ -54,7 +54,7 @@ module Haml::AttributeBuilder
|
|
|
54
54
|
when value.is_a?(String)
|
|
55
55
|
classes += value.split(' ')
|
|
56
56
|
when value.is_a?(Array)
|
|
57
|
-
classes += value.select { |v| v }
|
|
57
|
+
classes += value.flatten.select { |v| v }
|
|
58
58
|
when value
|
|
59
59
|
classes << value.to_s
|
|
60
60
|
end
|
|
@@ -105,7 +105,7 @@ module Haml::AttributeBuilder
|
|
|
105
105
|
if k.nil?
|
|
106
106
|
flattened[key] = v
|
|
107
107
|
else
|
|
108
|
-
flattened["#{key}-#{k.to_s.
|
|
108
|
+
flattened["#{key}-#{k.to_s.tr('_', '-')}"] = v
|
|
109
109
|
end
|
|
110
110
|
end
|
|
111
111
|
else
|
|
@@ -98,7 +98,7 @@ module Haml
|
|
|
98
98
|
def compile_boolean!(temple, key, values)
|
|
99
99
|
exp = literal_for(values.last)
|
|
100
100
|
|
|
101
|
-
if Temple::StaticAnalyzer.static?(exp)
|
|
101
|
+
if values.last.first == :static || Temple::StaticAnalyzer.static?(exp)
|
|
102
102
|
value = eval(exp)
|
|
103
103
|
case value
|
|
104
104
|
when true then temple << [:html, :attr, key, @format == :xhtml ? [:static, key] : [:multi]]
|
|
@@ -40,8 +40,8 @@ module Haml
|
|
|
40
40
|
|
|
41
41
|
if ActionView::Base.try(:annotate_rendered_view_with_filenames) && template.format == :html
|
|
42
42
|
options = options.merge(
|
|
43
|
-
preamble: "<!-- BEGIN #{template.short_identifier}
|
|
44
|
-
postamble: "<!-- END #{template.short_identifier}
|
|
43
|
+
preamble: "<!-- BEGIN #{template.short_identifier} -->",
|
|
44
|
+
postamble: "<!-- END #{template.short_identifier} -->",
|
|
45
45
|
)
|
|
46
46
|
end
|
|
47
47
|
|
|
@@ -177,6 +177,11 @@ class Reline::Config
|
|
|
177
177
|
if_stack = []
|
|
178
178
|
|
|
179
179
|
lines.each_with_index do |line, no|
|
|
180
|
+
# Even after encoding conversion, we need to verify the encoding is valid
|
|
181
|
+
# as some invalid byte sequences might pass through the conversion.
|
|
182
|
+
unless line.valid_encoding?
|
|
183
|
+
raise InvalidInputrc, "#{file}:#{no + 1}: can't be converted to the locale #{Reline.encoding_system_needs.name}"
|
|
184
|
+
end
|
|
180
185
|
next if line.match(/\A\s*#/)
|
|
181
186
|
|
|
182
187
|
no += 1
|
|
@@ -124,6 +124,10 @@ class Reline::ANSI < Reline::IO
|
|
|
124
124
|
Reline.core.line_editor.handle_signal
|
|
125
125
|
end
|
|
126
126
|
c = @input.getbyte
|
|
127
|
+
|
|
128
|
+
# When "Escape non-ASCII Input with Control-V" is enabled in macOS Terminal.app,
|
|
129
|
+
# all non-ascii bytes are automatically escaped with `C-v`.
|
|
130
|
+
# "\xE3\x81\x82" (U+3042) becomes "\x16\xE3\x16\x81\x16\x82".
|
|
127
131
|
(c == 0x16 && @input.tty? && @input.raw(min: 0, time: 0, &:getbyte)) || c
|
|
128
132
|
rescue Errno::EIO
|
|
129
133
|
# Maybe the I/O has been closed.
|
|
@@ -163,31 +167,20 @@ class Reline::ANSI < Reline::IO
|
|
|
163
167
|
@buf.unshift(c)
|
|
164
168
|
end
|
|
165
169
|
|
|
166
|
-
def retrieve_keybuffer
|
|
167
|
-
begin
|
|
168
|
-
return unless @input.wait_readable(0.001)
|
|
169
|
-
str = @input.read_nonblock(1024)
|
|
170
|
-
str.bytes.each do |c|
|
|
171
|
-
@buf.push(c)
|
|
172
|
-
end
|
|
173
|
-
rescue EOFError
|
|
174
|
-
end
|
|
175
|
-
end
|
|
176
|
-
|
|
177
170
|
def get_screen_size
|
|
178
171
|
s = @input.winsize
|
|
179
172
|
return s if s[0] > 0 && s[1] > 0
|
|
180
173
|
s = [ENV["LINES"].to_i, ENV["COLUMNS"].to_i]
|
|
181
174
|
return s if s[0] > 0 && s[1] > 0
|
|
182
175
|
[24, 80]
|
|
183
|
-
rescue
|
|
176
|
+
rescue SystemCallError
|
|
184
177
|
[24, 80]
|
|
185
178
|
end
|
|
186
179
|
|
|
187
180
|
def set_screen_size(rows, columns)
|
|
188
181
|
@input.winsize = [rows, columns]
|
|
189
182
|
self
|
|
190
|
-
rescue
|
|
183
|
+
rescue SystemCallError
|
|
191
184
|
self
|
|
192
185
|
end
|
|
193
186
|
|
|
@@ -295,7 +288,7 @@ class Reline::ANSI < Reline::IO
|
|
|
295
288
|
# Signal.trap may raise an ArgumentError if the platform doesn't support the signal.
|
|
296
289
|
end
|
|
297
290
|
|
|
298
|
-
def read_single_char(
|
|
291
|
+
def read_single_char(timeout_second)
|
|
299
292
|
# Disable intr to read `C-c` `C-z` `C-\` for quoted insert
|
|
300
293
|
@input.raw(intr: false) do
|
|
301
294
|
super
|
|
@@ -305,7 +298,6 @@ class Reline::ANSI < Reline::IO
|
|
|
305
298
|
def prep
|
|
306
299
|
# Enable bracketed paste
|
|
307
300
|
write "\e[?2004h" if Reline.core.config.enable_bracketed_paste && both_tty?
|
|
308
|
-
retrieve_keybuffer
|
|
309
301
|
nil
|
|
310
302
|
end
|
|
311
303
|
|
|
@@ -37,10 +37,10 @@ module Reline
|
|
|
37
37
|
end
|
|
38
38
|
|
|
39
39
|
# Read a single encoding valid character from the input.
|
|
40
|
-
def read_single_char(
|
|
40
|
+
def read_single_char(timeout_second)
|
|
41
41
|
buffer = String.new(encoding: Encoding::ASCII_8BIT)
|
|
42
42
|
loop do
|
|
43
|
-
timeout = buffer.empty? ? Float::INFINITY :
|
|
43
|
+
timeout = buffer.empty? ? Float::INFINITY : timeout_second
|
|
44
44
|
c = getc(timeout)
|
|
45
45
|
return unless c
|
|
46
46
|
|
|
@@ -470,14 +470,6 @@ class Reline::LineEditor
|
|
|
470
470
|
end
|
|
471
471
|
end
|
|
472
472
|
|
|
473
|
-
def print_nomultiline_prompt
|
|
474
|
-
Reline::IOGate.disable_auto_linewrap(true) if Reline::IOGate.win?
|
|
475
|
-
# Readline's test `TestRelineAsReadline#test_readline` requires first output to be prompt, not cursor reset escape sequence.
|
|
476
|
-
Reline::IOGate.write Reline::Unicode.strip_non_printing_start_end(@prompt) if @prompt && !@is_multiline
|
|
477
|
-
ensure
|
|
478
|
-
Reline::IOGate.disable_auto_linewrap(false) if Reline::IOGate.win?
|
|
479
|
-
end
|
|
480
|
-
|
|
481
473
|
def render
|
|
482
474
|
wrapped_cursor_x, wrapped_cursor_y = wrapped_cursor_position
|
|
483
475
|
new_lines = wrapped_prompt_and_input_lines.flatten(1)[screen_scroll_top, screen_height].map do |prompt, line|
|
|
@@ -956,7 +948,7 @@ class Reline::LineEditor
|
|
|
956
948
|
|
|
957
949
|
def wrap_method_call(method_symbol, key, with_operator)
|
|
958
950
|
if @waiting_proc
|
|
959
|
-
@waiting_proc.call(key)
|
|
951
|
+
@waiting_proc.call(key, method_symbol)
|
|
960
952
|
return
|
|
961
953
|
end
|
|
962
954
|
|
|
@@ -1442,21 +1434,24 @@ class Reline::LineEditor
|
|
|
1442
1434
|
end
|
|
1443
1435
|
alias_method :end_of_line, :ed_move_to_end
|
|
1444
1436
|
|
|
1445
|
-
private def generate_searcher(
|
|
1437
|
+
private def generate_searcher(direction)
|
|
1446
1438
|
search_word = String.new(encoding: encoding)
|
|
1447
1439
|
hit_pointer = nil
|
|
1448
|
-
lambda do |key|
|
|
1440
|
+
lambda do |key, key_symbol|
|
|
1449
1441
|
search_again = false
|
|
1450
|
-
case
|
|
1451
|
-
when
|
|
1442
|
+
case key_symbol
|
|
1443
|
+
when :em_delete_prev_char, :backward_delete_char
|
|
1452
1444
|
grapheme_clusters = search_word.grapheme_clusters
|
|
1453
1445
|
if grapheme_clusters.size > 0
|
|
1454
1446
|
grapheme_clusters.pop
|
|
1455
1447
|
search_word = grapheme_clusters.join
|
|
1456
1448
|
end
|
|
1457
|
-
when
|
|
1458
|
-
search_again =
|
|
1459
|
-
|
|
1449
|
+
when :reverse_search_history, :vi_search_prev
|
|
1450
|
+
search_again = direction == :reverse
|
|
1451
|
+
direction = :reverse
|
|
1452
|
+
when :forward_search_history, :vi_search_next
|
|
1453
|
+
search_again = direction == :forward
|
|
1454
|
+
direction = :forward
|
|
1460
1455
|
else
|
|
1461
1456
|
search_word << key
|
|
1462
1457
|
end
|
|
@@ -1470,11 +1465,11 @@ class Reline::LineEditor
|
|
|
1470
1465
|
search_word = Reline.last_incremental_search
|
|
1471
1466
|
end
|
|
1472
1467
|
if @history_pointer
|
|
1473
|
-
case
|
|
1474
|
-
when
|
|
1468
|
+
case direction
|
|
1469
|
+
when :reverse
|
|
1475
1470
|
history_pointer_base = 0
|
|
1476
1471
|
history = Reline::HISTORY[0..(@history_pointer - 1)]
|
|
1477
|
-
when
|
|
1472
|
+
when :forward
|
|
1478
1473
|
history_pointer_base = @history_pointer + 1
|
|
1479
1474
|
history = Reline::HISTORY[(@history_pointer + 1)..-1]
|
|
1480
1475
|
end
|
|
@@ -1483,11 +1478,11 @@ class Reline::LineEditor
|
|
|
1483
1478
|
history = Reline::HISTORY
|
|
1484
1479
|
end
|
|
1485
1480
|
elsif @history_pointer
|
|
1486
|
-
case
|
|
1487
|
-
when
|
|
1481
|
+
case direction
|
|
1482
|
+
when :reverse
|
|
1488
1483
|
history_pointer_base = 0
|
|
1489
1484
|
history = Reline::HISTORY[0..@history_pointer]
|
|
1490
|
-
when
|
|
1485
|
+
when :forward
|
|
1491
1486
|
history_pointer_base = @history_pointer
|
|
1492
1487
|
history = Reline::HISTORY[@history_pointer..-1]
|
|
1493
1488
|
end
|
|
@@ -1495,12 +1490,12 @@ class Reline::LineEditor
|
|
|
1495
1490
|
history_pointer_base = 0
|
|
1496
1491
|
history = Reline::HISTORY
|
|
1497
1492
|
end
|
|
1498
|
-
case
|
|
1499
|
-
when
|
|
1493
|
+
case direction
|
|
1494
|
+
when :reverse
|
|
1500
1495
|
hit_index = history.rindex { |item|
|
|
1501
1496
|
item.include?(search_word)
|
|
1502
1497
|
}
|
|
1503
|
-
when
|
|
1498
|
+
when :forward
|
|
1504
1499
|
hit_index = history.index { |item|
|
|
1505
1500
|
item.include?(search_word)
|
|
1506
1501
|
}
|
|
@@ -1510,31 +1505,28 @@ class Reline::LineEditor
|
|
|
1510
1505
|
hit = Reline::HISTORY[hit_pointer]
|
|
1511
1506
|
end
|
|
1512
1507
|
end
|
|
1513
|
-
|
|
1514
|
-
when "\C-r"
|
|
1515
|
-
prompt_name = 'reverse-i-search'
|
|
1516
|
-
when "\C-s"
|
|
1517
|
-
prompt_name = 'i-search'
|
|
1518
|
-
end
|
|
1508
|
+
prompt_name = direction == :forward ? 'i-search' : 'reverse-i-search'
|
|
1519
1509
|
prompt_name = "failed #{prompt_name}" unless hit
|
|
1520
1510
|
[search_word, prompt_name, hit_pointer]
|
|
1521
1511
|
end
|
|
1522
1512
|
end
|
|
1523
1513
|
|
|
1524
|
-
private def incremental_search_history(
|
|
1514
|
+
private def incremental_search_history(direction)
|
|
1525
1515
|
backup = @buffer_of_lines.dup, @line_index, @byte_pointer, @history_pointer, @line_backup_in_history
|
|
1526
|
-
searcher = generate_searcher(
|
|
1527
|
-
|
|
1516
|
+
searcher = generate_searcher(direction)
|
|
1517
|
+
prompt_name = direction == :forward ? 'i-search' : 'reverse-i-search'
|
|
1518
|
+
@searching_prompt = "(#{prompt_name})`': "
|
|
1528
1519
|
termination_keys = ["\C-j"]
|
|
1529
1520
|
termination_keys.concat(@config.isearch_terminators.chars) if @config.isearch_terminators
|
|
1530
|
-
|
|
1521
|
+
accept_key_syms = [:em_delete_prev_char, :backward_delete_char, :vi_search_prev, :vi_search_next, :reverse_search_history, :forward_search_history]
|
|
1522
|
+
@waiting_proc = ->(k, key_symbol) {
|
|
1531
1523
|
if k == "\C-g"
|
|
1532
1524
|
# cancel search and restore buffer
|
|
1533
1525
|
@buffer_of_lines, @line_index, @byte_pointer, @history_pointer, @line_backup_in_history = backup
|
|
1534
1526
|
@searching_prompt = nil
|
|
1535
1527
|
@waiting_proc = nil
|
|
1536
|
-
elsif !termination_keys.include?(k) && (k.match?(/[[:print:]]/) ||
|
|
1537
|
-
search_word, prompt_name, hit_pointer = searcher.call(k)
|
|
1528
|
+
elsif !termination_keys.include?(k) && (k.match?(/[[:print:]]/) || accept_key_syms.include?(key_symbol))
|
|
1529
|
+
search_word, prompt_name, hit_pointer = searcher.call(k, key_symbol)
|
|
1538
1530
|
Reline.last_incremental_search = search_word
|
|
1539
1531
|
@searching_prompt = "(%s)`%s'" % [prompt_name, search_word]
|
|
1540
1532
|
@searching_prompt += ': ' unless @is_multiline
|
|
@@ -1549,12 +1541,12 @@ class Reline::LineEditor
|
|
|
1549
1541
|
end
|
|
1550
1542
|
|
|
1551
1543
|
private def vi_search_prev(key)
|
|
1552
|
-
incremental_search_history(
|
|
1544
|
+
incremental_search_history(:reverse)
|
|
1553
1545
|
end
|
|
1554
1546
|
alias_method :reverse_search_history, :vi_search_prev
|
|
1555
1547
|
|
|
1556
1548
|
private def vi_search_next(key)
|
|
1557
|
-
incremental_search_history(
|
|
1549
|
+
incremental_search_history(:forward)
|
|
1558
1550
|
end
|
|
1559
1551
|
alias_method :forward_search_history, :vi_search_next
|
|
1560
1552
|
|
|
@@ -1654,6 +1646,16 @@ class Reline::LineEditor
|
|
|
1654
1646
|
end
|
|
1655
1647
|
alias_method :next_history, :ed_next_history
|
|
1656
1648
|
|
|
1649
|
+
private def ed_beginning_of_history(key)
|
|
1650
|
+
move_history(0, line: :end, cursor: :end)
|
|
1651
|
+
end
|
|
1652
|
+
alias_method :beginning_of_history, :ed_beginning_of_history
|
|
1653
|
+
|
|
1654
|
+
private def ed_end_of_history(key)
|
|
1655
|
+
move_history(Reline::HISTORY.size, line: :end, cursor: :end)
|
|
1656
|
+
end
|
|
1657
|
+
alias_method :end_of_history, :ed_end_of_history
|
|
1658
|
+
|
|
1657
1659
|
private def ed_newline(key)
|
|
1658
1660
|
process_insert(force: true)
|
|
1659
1661
|
if @is_multiline
|
|
@@ -2180,7 +2182,7 @@ class Reline::LineEditor
|
|
|
2180
2182
|
end
|
|
2181
2183
|
|
|
2182
2184
|
private def vi_replace_char(key, arg: 1)
|
|
2183
|
-
@waiting_proc = ->(k) {
|
|
2185
|
+
@waiting_proc = ->(k, _sym) {
|
|
2184
2186
|
if arg == 1
|
|
2185
2187
|
byte_size = Reline::Unicode.get_next_mbchar_size(current_line, @byte_pointer)
|
|
2186
2188
|
before = current_line.byteslice(0, @byte_pointer)
|
|
@@ -2204,11 +2206,11 @@ class Reline::LineEditor
|
|
|
2204
2206
|
end
|
|
2205
2207
|
|
|
2206
2208
|
private def vi_next_char(key, arg: 1, inclusive: false)
|
|
2207
|
-
@waiting_proc = ->(key_for_proc) { search_next_char(key_for_proc, arg, inclusive: inclusive) }
|
|
2209
|
+
@waiting_proc = ->(key_for_proc, _sym) { search_next_char(key_for_proc, arg, inclusive: inclusive) }
|
|
2208
2210
|
end
|
|
2209
2211
|
|
|
2210
2212
|
private def vi_to_next_char(key, arg: 1, inclusive: false)
|
|
2211
|
-
@waiting_proc = ->(key_for_proc) { search_next_char(key_for_proc, arg, need_prev_char: true, inclusive: inclusive) }
|
|
2213
|
+
@waiting_proc = ->(key_for_proc, _sym) { search_next_char(key_for_proc, arg, need_prev_char: true, inclusive: inclusive) }
|
|
2212
2214
|
end
|
|
2213
2215
|
|
|
2214
2216
|
private def search_next_char(key, arg, need_prev_char: false, inclusive: false)
|
|
@@ -2251,11 +2253,11 @@ class Reline::LineEditor
|
|
|
2251
2253
|
end
|
|
2252
2254
|
|
|
2253
2255
|
private def vi_prev_char(key, arg: 1)
|
|
2254
|
-
@waiting_proc = ->(key_for_proc) { search_prev_char(key_for_proc, arg) }
|
|
2256
|
+
@waiting_proc = ->(key_for_proc, _sym) { search_prev_char(key_for_proc, arg) }
|
|
2255
2257
|
end
|
|
2256
2258
|
|
|
2257
2259
|
private def vi_to_prev_char(key, arg: 1)
|
|
2258
|
-
@waiting_proc = ->(key_for_proc) { search_prev_char(key_for_proc, arg, true) }
|
|
2260
|
+
@waiting_proc = ->(key_for_proc, _sym) { search_prev_char(key_for_proc, arg, true) }
|
|
2259
2261
|
end
|
|
2260
2262
|
|
|
2261
2263
|
private def search_prev_char(key, arg, need_next_char = false)
|