From 5c40cd0282e3aca4598036fc4ec8124b47e7bff8 Mon Sep 17 00:00:00 2001 From: Wilfred Hughes Date: Sun, 28 Apr 2024 23:27:05 -0700 Subject: [PATCH] Prefer _1 and _2 naming for test files This is less to type, and it's now alphabetical, so e.g. sample_files/*.kt just works as a test argument. --- manual/src/adding_a_parser.md | 6 +- manual/src/line_diffing.md | 10 +- manual/src/parsing.md | 2 +- manual/src/profiling.md | 8 +- manual/src/tricky_cases.md | 2 +- manual/src/usage.md | 2 +- .../{Session_before.kt => Session_1.kt} | 0 .../{Session_after.kt => Session_2.kt} | 0 sample_files/{ada_before.adb => ada_1.adb} | 0 sample_files/{ada_after.adb => ada_2.adb} | 0 ...added_line_before.txt => added_line_1.txt} | 0 ...{added_line_after.txt => added_line_2.txt} | 0 ...n_footer_before.txt => align_footer_1.txt} | 0 ...gn_footer_after.txt => align_footer_2.txt} | 0 sample_files/{apex_before.cls => apex_1.cls} | 0 sample_files/{apex_after.cls => apex_2.cls} | 0 .../{b2_math_before.h => b2_math_1.h} | 0 sample_files/{b2_math_after.h => b2_math_2.h} | 0 ...bad_combine_before.rs => bad_combine_1.rs} | 0 ...{bad_combine_after.rs => bad_combine_2.rs} | 0 ...ange_outer_before.el => change_outer_1.el} | 0 ...hange_outer_after.el => change_outer_2.el} | 0 .../{chinese_before.po => chinese_1.po} | 0 .../{chinese_after.po => chinese_2.po} | 0 .../{bad_yaml_before.yml => bad_yaml_1.yml} | 0 .../{bad_yaml_after.yml => bad_yaml_2.yml} | 0 .../{makefile_before.mk => makefile_1.mk} | 0 .../{makefile_after.mk => makefile_2.mk} | 0 .../{clojure_before.clj => clojure_1.clj} | 0 .../{clojure_after.clj => clojure_2.clj} | 0 sample_files/{comma_before.js => comma_1.js} | 0 sample_files/{comma_after.js => comma_2.js} | 0 ...mment_before.js => comma_and_comment_1.js} | 0 ...omment_after.js => comma_and_comment_2.js} | 0 .../{comments_before.rs => comments_1.rs} | 0 .../{comments_after.rs => comments_2.rs} | 0 sample_files/compare.expected | 391 +++++++++--------- sample_files/compare_all.sh | 4 +- .../{context_before.rs => context_1.rs} | 0 .../{context_after.rs => context_2.rs} | 0 .../{contiguous_before.js => contiguous_1.js} | 0 .../{contiguous_after.js => contiguous_2.js} | 0 sample_files/{css_before.css => css_1.css} | 0 sample_files/{css_after.css => css_2.css} | 0 .../{dart_before.dart => dart_1.dart} | 0 sample_files/{dart_after.dart => dart_2.dart} | 0 .../{dir_before => dir_1}/clojure.clj | 0 sample_files/{dir_before => dir_1}/foo.js | 0 .../{dir_before => dir_1}/has_many_hunk.py | 0 .../only_in_before.c => dir_1/only_in_1.c} | 0 sample_files/{dir_after => dir_2}/clojure.clj | 0 sample_files/{dir_after => dir_2}/foo.js | 0 .../{dir_after => dir_2}/has_many_hunk.py | 0 .../only_in_2.rs} | 0 sample_files/{elisp_before.el => elisp_1.el} | 0 sample_files/{elisp_after.el => elisp_2.el} | 0 ...iguous_before.el => elisp_contiguous_1.el} | 0 ...tiguous_after.el => elisp_contiguous_2.el} | 0 sample_files/{elm_before.elm => elm_1.elm} | 0 sample_files/{elm_after.elm => elm_2.elm} | 0 .../{elvish_before.elv => elvish_1.elv} | 0 .../{elvish_after.elv => elvish_2.elv} | 0 .../{erlang_before.erl => erlang_1.erl} | 0 .../{erlang_after.erl => erlang_2.erl} | 0 sample_files/{hack_before.php => hack_1.php} | 0 sample_files/{hack_after.php => hack_2.php} | 0 sample_files/{hare_before.ha => hare_1.ha} | 0 sample_files/{hare_after.ha => hare_2.ha} | 0 .../{haskell_before.hs => haskell_1.hs} | 0 .../{haskell_after.hs => haskell_2.hs} | 0 sample_files/{hcl_before.hcl => hcl_1.hcl} | 0 sample_files/{hcl_after.hcl => hcl_2.hcl} | 0 ...world_before.smali => hello_world_1.smali} | 0 ..._world_after.smali => hello_world_2.smali} | 0 .../{helpful_before.el => helpful_1.el} | 0 .../{helpful_after.el => helpful_2.el} | 0 sample_files/hidden-after/.hidden/doc.txt | 1 - sample_files/hidden-before/.hidden.txt | 1 - sample_files/hidden-before/.hidden/doc.txt | 1 - .../{hidden-after => hidden_1}/.hidden.txt | 0 sample_files/hidden_1/.hidden/doc.txt | 1 + sample_files/hidden_2/.hidden.txt | 1 + sample_files/hidden_2/.hidden/doc.txt | 1 + .../{html_before.html => html_1.html} | 0 sample_files/{html_after.html => html_2.html} | 0 ..._simple_before.html => html_simple_1.html} | 0 ...l_simple_after.html => html_simple_2.html} | 0 .../{huge_cpp_before.cpp => huge_cpp_1.cpp} | 0 .../{huge_cpp_after.cpp => huge_cpp_2.cpp} | 0 ...dentical_after.scala => identical_1.scala} | 0 ...entical_before.scala => identical_2.scala} | 0 sample_files/{if_before.py => if_1.py} | 0 sample_files/{if_after.py => if_2.py} | 0 ...rt_blank_before.txt => insert_blank_1.txt} | 0 ...ert_blank_after.txt => insert_blank_2.txt} | 0 .../{janet_before.janet => janet_1.janet} | 0 .../{janet_after.janet => janet_2.janet} | 0 .../{java_before.java => java_1.java} | 0 sample_files/{java_after.java => java_2.java} | 0 .../{javascript_before.js => javascript_1.js} | 0 .../{javascript_after.js => javascript_2.js} | 0 ...imple_before.js => javascript_simple_1.js} | 0 ...simple_after.js => javascript_simple_2.js} | 0 .../{json_before.json => json_1.json} | 0 sample_files/{json_after.json => json_2.json} | 0 sample_files/{jsx_before.jsx => jsx_1.jsx} | 0 sample_files/{jsx_after.jsx => jsx_2.jsx} | 0 sample_files/{julia_before.jl => julia_1.jl} | 0 sample_files/{julia_after.jl => julia_2.jl} | 0 sample_files/{load_before.js => load_1.js} | 0 sample_files/{load_after.js => load_2.js} | 0 .../{long_line_before.txt => long_line_1.txt} | 0 .../{long_line_after.txt => long_line_2.txt} | 0 sample_files/{lua_before.lua => lua_1.lua} | 0 sample_files/{lua_after.lua => lua_2.lua} | 0 .../{makefile_before.mk => makefile_1.mk} | 0 .../{makefile_after.mk => makefile_2.mk} | 0 ...ewlines_before.txt => many_newlines_1.txt} | 0 ...newlines_after.txt => many_newlines_2.txt} | 0 .../{metadata_before.clj => metadata_1.clj} | 0 .../{metadata_after.clj => metadata_2.clj} | 0 .../{modules_before.ml => modules_1.ml} | 0 .../{modules_after.ml => modules_2.ml} | 0 .../{multibyte_before.py => multibyte_1.py} | 0 .../{multibyte_after.py => multibyte_2.py} | 0 ...string_before.ml => multiline_string_1.ml} | 0 ..._string_after.ml => multiline_string_2.ml} | 0 sample_files/{nest_before.rs => nest_1.rs} | 0 sample_files/{nest_after.rs => nest_2.rs} | 0 ...ed_slider_before.el => nested_slider_1.el} | 0 ...ed_slider_before.rs => nested_slider_1.rs} | 0 ...ted_slider_after.el => nested_slider_2.el} | 0 ...ted_slider_after.rs => nested_slider_2.rs} | 0 .../{nesting_before.el => nesting_1.el} | 0 .../{nesting_after.el => nesting_2.el} | 0 .../{newick_before.nwk => newick_1.nwk} | 0 .../{newick_after.nwk => newick_2.nwk} | 0 sample_files/{nix_before.nix => nix_1.nix} | 0 sample_files/{nix_after.nix => nix_2.nix} | 0 .../{nullable_before.kt => nullable_1.kt} | 0 .../{nullable_after.kt => nullable_2.kt} | 0 .../{objc_header_before.h => objc_header_1.h} | 0 .../{objc_header_after.h => objc_header_2.h} | 0 .../{objc_module_before.m => objc_module_1.m} | 0 .../{objc_module_after.m => objc_module_2.m} | 0 sample_files/{ocaml_before.ml => ocaml_1.ml} | 0 sample_files/{ocaml_after.ml => ocaml_2.ml} | 0 ...limiter_before.el => outer_delimiter_1.el} | 0 ...elimiter_after.el => outer_delimiter_2.el} | 0 .../{pascal_before.pascal => pascal_1.pascal} | 0 .../{pascal_after.pascal => pascal_2.pascal} | 0 sample_files/{perl_before.pl => perl_1.pl} | 0 sample_files/{perl_after.pl => perl_2.pl} | 0 ...efer_outer_before.el => prefer_outer_1.el} | 0 ...refer_outer_after.el => prefer_outer_2.el} | 0 .../{preprocesor_before.h => preprocesor_1.h} | 0 .../{preprocesor_after.h => preprocesor_2.h} | 0 sample_files/{qml_before.qml => qml_1.qml} | 0 sample_files/{qml_after.qml => qml_2.qml} | 0 sample_files/{r_before.R => r_1.R} | 0 sample_files/{r_after.R => r_2.R} | 0 .../{racket_before.rkt => racket_1.rkt} | 0 .../{racket_after.rkt => racket_2.rkt} | 0 sample_files/{ruby_before.rb => ruby_1.rb} | 0 sample_files/{ruby_after.rb => ruby_2.rb} | 0 .../{scala_before.scala => scala_1.scala} | 0 .../{scala_after.scala => scala_2.scala} | 0 .../{scheme_before.scm => scheme_1.scm} | 0 .../{scheme_after.scm => scheme_2.scm} | 0 .../{simple_before.js => simple_1.js} | 0 .../{simple_before.scss => simple_1.scss} | 0 .../{simple_before.txt => simple_1.txt} | 0 sample_files/{simple_after.js => simple_2.js} | 0 .../{simple_after.scss => simple_2.scss} | 0 .../{simple_after.txt => simple_2.txt} | 0 .../{slider_before.rs => slider_1.rs} | 0 sample_files/{slider_after.rs => slider_2.rs} | 0 ...t_end_before.json => slider_at_end_1.json} | 0 ...at_end_after.json => slider_at_end_2.json} | 0 sample_files/{slow_before.rs => slow_1.rs} | 0 sample_files/{slow_after.rs => slow_2.rs} | 0 sample_files/{small_before.js => small_1.js} | 0 sample_files/{small_after.js => small_2.js} | 0 ...ubwords_before.el => string_subwords_1.el} | 0 ...subwords_after.el => string_subwords_2.el} | 0 .../{strings_before.el => strings_1.el} | 0 .../{strings_after.el => strings_2.el} | 0 .../{swift_before.swift => swift_1.swift} | 0 .../{swift_after.swift => swift_2.swift} | 0 ...ntax_error_before.js => syntax_error_1.js} | 0 ...yntax_error_after.js => syntax_error_2.js} | 0 sample_files/{tab_before.c => tab_1.c} | 0 sample_files/{tab_before.txt => tab_1.txt} | 0 sample_files/{tab_after.c => tab_2.c} | 0 sample_files/{tab_after.txt => tab_2.txt} | 0 .../{tailwind_before.css => tailwind_1.css} | 0 .../{tailwind_after.css => tailwind_2.css} | 0 sample_files/{text_before.txt => text_1.txt} | 0 sample_files/{text_after.txt => text_2.txt} | 0 .../{todomvc_before.gleam => todomvc_1.gleam} | 0 .../{todomvc_after.gleam => todomvc_2.gleam} | 0 .../{toml_before.toml => toml_1.toml} | 0 sample_files/{toml_after.toml => toml_2.toml} | 0 ...e_before.yaml => trailling_newline_1.yaml} | 0 ...ne_after.yaml => trailling_newline_2.yaml} | 0 .../{typescript_before.ts => typescript_1.ts} | 0 .../{typescript_after.ts => typescript_2.ts} | 0 .../{typing_before.ml => typing_1.ml} | 0 sample_files/{typing_after.ml => typing_2.ml} | 0 sample_files/{utf16_before.py => utf16_1.py} | Bin sample_files/{utf16_after.py => utf16_2.py} | Bin sample_files/{vhdl_before.vhd => vhdl_1.vhd} | 0 sample_files/{vhdl_after.vhd => vhdl_2.vhd} | 0 ...whitespace_before.tsx => whitespace_1.tsx} | 0 ...{whitespace_after.tsx => whitespace_2.tsx} | 0 sample_files/{xml_before.xml => xml_1.xml} | 0 sample_files/{xml_after.xml => xml_2.xml} | 0 .../{yaml_before.yaml => yaml_1.yaml} | 0 sample_files/{yaml_after.yaml => yaml_2.yaml} | 0 sample_files/{zig_before.zig => zig_1.zig} | 0 sample_files/{zig_after.zig => zig_2.zig} | 0 src/diff/graph.rs | 2 +- src/options.rs | 2 +- tests/cli.rs | 61 ++- .../zh-CN/manual-zh-CN/src/adding_a_parser.md | 6 +- .../zh-CN/manual-zh-CN/src/contributing.md | 8 +- translation/zh-CN/manual-zh-CN/src/parsing.md | 2 +- .../zh-CN/manual-zh-CN/src/tricky_cases.md | 2 +- translation/zh-CN/manual-zh-CN/src/usage.md | 2 +- 229 files changed, 256 insertions(+), 260 deletions(-) rename sample_files/{Session_before.kt => Session_1.kt} (100%) rename sample_files/{Session_after.kt => Session_2.kt} (100%) rename sample_files/{ada_before.adb => ada_1.adb} (100%) rename sample_files/{ada_after.adb => ada_2.adb} (100%) rename sample_files/{added_line_before.txt => added_line_1.txt} (100%) rename sample_files/{added_line_after.txt => added_line_2.txt} (100%) rename sample_files/{align_footer_before.txt => align_footer_1.txt} (100%) rename sample_files/{align_footer_after.txt => align_footer_2.txt} (100%) rename sample_files/{apex_before.cls => apex_1.cls} (100%) rename sample_files/{apex_after.cls => apex_2.cls} (100%) rename sample_files/{b2_math_before.h => b2_math_1.h} (100%) rename sample_files/{b2_math_after.h => b2_math_2.h} (100%) rename sample_files/{bad_combine_before.rs => bad_combine_1.rs} (100%) rename sample_files/{bad_combine_after.rs => bad_combine_2.rs} (100%) rename sample_files/{change_outer_before.el => change_outer_1.el} (100%) rename sample_files/{change_outer_after.el => change_outer_2.el} (100%) rename sample_files/{chinese_before.po => chinese_1.po} (100%) rename sample_files/{chinese_after.po => chinese_2.po} (100%) rename sample_files/cli_tests/{bad_yaml_before.yml => bad_yaml_1.yml} (100%) rename sample_files/cli_tests/{bad_yaml_after.yml => bad_yaml_2.yml} (100%) rename sample_files/cli_tests/{makefile_before.mk => makefile_1.mk} (100%) rename sample_files/cli_tests/{makefile_after.mk => makefile_2.mk} (100%) rename sample_files/{clojure_before.clj => clojure_1.clj} (100%) rename sample_files/{clojure_after.clj => clojure_2.clj} (100%) rename sample_files/{comma_before.js => comma_1.js} (100%) rename sample_files/{comma_after.js => comma_2.js} (100%) rename sample_files/{comma_and_comment_before.js => comma_and_comment_1.js} (100%) rename sample_files/{comma_and_comment_after.js => comma_and_comment_2.js} (100%) rename sample_files/{comments_before.rs => comments_1.rs} (100%) rename sample_files/{comments_after.rs => comments_2.rs} (100%) rename sample_files/{context_before.rs => context_1.rs} (100%) rename sample_files/{context_after.rs => context_2.rs} (100%) rename sample_files/{contiguous_before.js => contiguous_1.js} (100%) rename sample_files/{contiguous_after.js => contiguous_2.js} (100%) rename sample_files/{css_before.css => css_1.css} (100%) rename sample_files/{css_after.css => css_2.css} (100%) rename sample_files/{dart_before.dart => dart_1.dart} (100%) rename sample_files/{dart_after.dart => dart_2.dart} (100%) rename sample_files/{dir_before => dir_1}/clojure.clj (100%) rename sample_files/{dir_before => dir_1}/foo.js (100%) rename sample_files/{dir_before => dir_1}/has_many_hunk.py (100%) rename sample_files/{dir_before/only_in_before.c => dir_1/only_in_1.c} (100%) rename sample_files/{dir_after => dir_2}/clojure.clj (100%) rename sample_files/{dir_after => dir_2}/foo.js (100%) rename sample_files/{dir_after => dir_2}/has_many_hunk.py (100%) rename sample_files/{dir_after/only_in_after_dir.rs => dir_2/only_in_2.rs} (100%) rename sample_files/{elisp_before.el => elisp_1.el} (100%) rename sample_files/{elisp_after.el => elisp_2.el} (100%) rename sample_files/{elisp_contiguous_before.el => elisp_contiguous_1.el} (100%) rename sample_files/{elisp_contiguous_after.el => elisp_contiguous_2.el} (100%) rename sample_files/{elm_before.elm => elm_1.elm} (100%) rename sample_files/{elm_after.elm => elm_2.elm} (100%) rename sample_files/{elvish_before.elv => elvish_1.elv} (100%) rename sample_files/{elvish_after.elv => elvish_2.elv} (100%) rename sample_files/{erlang_before.erl => erlang_1.erl} (100%) rename sample_files/{erlang_after.erl => erlang_2.erl} (100%) rename sample_files/{hack_before.php => hack_1.php} (100%) rename sample_files/{hack_after.php => hack_2.php} (100%) rename sample_files/{hare_before.ha => hare_1.ha} (100%) rename sample_files/{hare_after.ha => hare_2.ha} (100%) rename sample_files/{haskell_before.hs => haskell_1.hs} (100%) rename sample_files/{haskell_after.hs => haskell_2.hs} (100%) rename sample_files/{hcl_before.hcl => hcl_1.hcl} (100%) rename sample_files/{hcl_after.hcl => hcl_2.hcl} (100%) rename sample_files/{hello_world_before.smali => hello_world_1.smali} (100%) rename sample_files/{hello_world_after.smali => hello_world_2.smali} (100%) rename sample_files/{helpful_before.el => helpful_1.el} (100%) rename sample_files/{helpful_after.el => helpful_2.el} (100%) delete mode 100644 sample_files/hidden-after/.hidden/doc.txt delete mode 100644 sample_files/hidden-before/.hidden.txt delete mode 100644 sample_files/hidden-before/.hidden/doc.txt rename sample_files/{hidden-after => hidden_1}/.hidden.txt (100%) create mode 100644 sample_files/hidden_1/.hidden/doc.txt create mode 100644 sample_files/hidden_2/.hidden.txt create mode 100644 sample_files/hidden_2/.hidden/doc.txt rename sample_files/{html_before.html => html_1.html} (100%) rename sample_files/{html_after.html => html_2.html} (100%) rename sample_files/{html_simple_before.html => html_simple_1.html} (100%) rename sample_files/{html_simple_after.html => html_simple_2.html} (100%) rename sample_files/{huge_cpp_before.cpp => huge_cpp_1.cpp} (100%) rename sample_files/{huge_cpp_after.cpp => huge_cpp_2.cpp} (100%) rename sample_files/{identical_after.scala => identical_1.scala} (100%) rename sample_files/{identical_before.scala => identical_2.scala} (100%) rename sample_files/{if_before.py => if_1.py} (100%) rename sample_files/{if_after.py => if_2.py} (100%) rename sample_files/{insert_blank_before.txt => insert_blank_1.txt} (100%) rename sample_files/{insert_blank_after.txt => insert_blank_2.txt} (100%) rename sample_files/{janet_before.janet => janet_1.janet} (100%) rename sample_files/{janet_after.janet => janet_2.janet} (100%) rename sample_files/{java_before.java => java_1.java} (100%) rename sample_files/{java_after.java => java_2.java} (100%) rename sample_files/{javascript_before.js => javascript_1.js} (100%) rename sample_files/{javascript_after.js => javascript_2.js} (100%) rename sample_files/{javascript_simple_before.js => javascript_simple_1.js} (100%) rename sample_files/{javascript_simple_after.js => javascript_simple_2.js} (100%) rename sample_files/{json_before.json => json_1.json} (100%) rename sample_files/{json_after.json => json_2.json} (100%) rename sample_files/{jsx_before.jsx => jsx_1.jsx} (100%) rename sample_files/{jsx_after.jsx => jsx_2.jsx} (100%) rename sample_files/{julia_before.jl => julia_1.jl} (100%) rename sample_files/{julia_after.jl => julia_2.jl} (100%) rename sample_files/{load_before.js => load_1.js} (100%) rename sample_files/{load_after.js => load_2.js} (100%) rename sample_files/{long_line_before.txt => long_line_1.txt} (100%) rename sample_files/{long_line_after.txt => long_line_2.txt} (100%) rename sample_files/{lua_before.lua => lua_1.lua} (100%) rename sample_files/{lua_after.lua => lua_2.lua} (100%) rename sample_files/{makefile_before.mk => makefile_1.mk} (100%) rename sample_files/{makefile_after.mk => makefile_2.mk} (100%) rename sample_files/{many_newlines_before.txt => many_newlines_1.txt} (100%) rename sample_files/{many_newlines_after.txt => many_newlines_2.txt} (100%) rename sample_files/{metadata_before.clj => metadata_1.clj} (100%) rename sample_files/{metadata_after.clj => metadata_2.clj} (100%) rename sample_files/{modules_before.ml => modules_1.ml} (100%) rename sample_files/{modules_after.ml => modules_2.ml} (100%) rename sample_files/{multibyte_before.py => multibyte_1.py} (100%) rename sample_files/{multibyte_after.py => multibyte_2.py} (100%) rename sample_files/{multiline_string_before.ml => multiline_string_1.ml} (100%) rename sample_files/{multiline_string_after.ml => multiline_string_2.ml} (100%) rename sample_files/{nest_before.rs => nest_1.rs} (100%) rename sample_files/{nest_after.rs => nest_2.rs} (100%) rename sample_files/{nested_slider_before.el => nested_slider_1.el} (100%) rename sample_files/{nested_slider_before.rs => nested_slider_1.rs} (100%) rename sample_files/{nested_slider_after.el => nested_slider_2.el} (100%) rename sample_files/{nested_slider_after.rs => nested_slider_2.rs} (100%) rename sample_files/{nesting_before.el => nesting_1.el} (100%) rename sample_files/{nesting_after.el => nesting_2.el} (100%) rename sample_files/{newick_before.nwk => newick_1.nwk} (100%) rename sample_files/{newick_after.nwk => newick_2.nwk} (100%) rename sample_files/{nix_before.nix => nix_1.nix} (100%) rename sample_files/{nix_after.nix => nix_2.nix} (100%) rename sample_files/{nullable_before.kt => nullable_1.kt} (100%) rename sample_files/{nullable_after.kt => nullable_2.kt} (100%) rename sample_files/{objc_header_before.h => objc_header_1.h} (100%) rename sample_files/{objc_header_after.h => objc_header_2.h} (100%) rename sample_files/{objc_module_before.m => objc_module_1.m} (100%) rename sample_files/{objc_module_after.m => objc_module_2.m} (100%) rename sample_files/{ocaml_before.ml => ocaml_1.ml} (100%) rename sample_files/{ocaml_after.ml => ocaml_2.ml} (100%) rename sample_files/{outer_delimiter_before.el => outer_delimiter_1.el} (100%) rename sample_files/{outer_delimiter_after.el => outer_delimiter_2.el} (100%) rename sample_files/{pascal_before.pascal => pascal_1.pascal} (100%) rename sample_files/{pascal_after.pascal => pascal_2.pascal} (100%) rename sample_files/{perl_before.pl => perl_1.pl} (100%) rename sample_files/{perl_after.pl => perl_2.pl} (100%) rename sample_files/{prefer_outer_before.el => prefer_outer_1.el} (100%) rename sample_files/{prefer_outer_after.el => prefer_outer_2.el} (100%) rename sample_files/{preprocesor_before.h => preprocesor_1.h} (100%) rename sample_files/{preprocesor_after.h => preprocesor_2.h} (100%) rename sample_files/{qml_before.qml => qml_1.qml} (100%) rename sample_files/{qml_after.qml => qml_2.qml} (100%) rename sample_files/{r_before.R => r_1.R} (100%) rename sample_files/{r_after.R => r_2.R} (100%) rename sample_files/{racket_before.rkt => racket_1.rkt} (100%) rename sample_files/{racket_after.rkt => racket_2.rkt} (100%) rename sample_files/{ruby_before.rb => ruby_1.rb} (100%) rename sample_files/{ruby_after.rb => ruby_2.rb} (100%) rename sample_files/{scala_before.scala => scala_1.scala} (100%) rename sample_files/{scala_after.scala => scala_2.scala} (100%) rename sample_files/{scheme_before.scm => scheme_1.scm} (100%) rename sample_files/{scheme_after.scm => scheme_2.scm} (100%) rename sample_files/{simple_before.js => simple_1.js} (100%) rename sample_files/{simple_before.scss => simple_1.scss} (100%) rename sample_files/{simple_before.txt => simple_1.txt} (100%) rename sample_files/{simple_after.js => simple_2.js} (100%) rename sample_files/{simple_after.scss => simple_2.scss} (100%) rename sample_files/{simple_after.txt => simple_2.txt} (100%) rename sample_files/{slider_before.rs => slider_1.rs} (100%) rename sample_files/{slider_after.rs => slider_2.rs} (100%) rename sample_files/{slider_at_end_before.json => slider_at_end_1.json} (100%) rename sample_files/{slider_at_end_after.json => slider_at_end_2.json} (100%) rename sample_files/{slow_before.rs => slow_1.rs} (100%) rename sample_files/{slow_after.rs => slow_2.rs} (100%) rename sample_files/{small_before.js => small_1.js} (100%) rename sample_files/{small_after.js => small_2.js} (100%) rename sample_files/{string_subwords_before.el => string_subwords_1.el} (100%) rename sample_files/{string_subwords_after.el => string_subwords_2.el} (100%) rename sample_files/{strings_before.el => strings_1.el} (100%) rename sample_files/{strings_after.el => strings_2.el} (100%) rename sample_files/{swift_before.swift => swift_1.swift} (100%) rename sample_files/{swift_after.swift => swift_2.swift} (100%) rename sample_files/{syntax_error_before.js => syntax_error_1.js} (100%) rename sample_files/{syntax_error_after.js => syntax_error_2.js} (100%) rename sample_files/{tab_before.c => tab_1.c} (100%) rename sample_files/{tab_before.txt => tab_1.txt} (100%) rename sample_files/{tab_after.c => tab_2.c} (100%) rename sample_files/{tab_after.txt => tab_2.txt} (100%) rename sample_files/{tailwind_before.css => tailwind_1.css} (100%) rename sample_files/{tailwind_after.css => tailwind_2.css} (100%) rename sample_files/{text_before.txt => text_1.txt} (100%) rename sample_files/{text_after.txt => text_2.txt} (100%) rename sample_files/{todomvc_before.gleam => todomvc_1.gleam} (100%) rename sample_files/{todomvc_after.gleam => todomvc_2.gleam} (100%) rename sample_files/{toml_before.toml => toml_1.toml} (100%) rename sample_files/{toml_after.toml => toml_2.toml} (100%) rename sample_files/{trailling_newline_before.yaml => trailling_newline_1.yaml} (100%) rename sample_files/{trailling_newline_after.yaml => trailling_newline_2.yaml} (100%) rename sample_files/{typescript_before.ts => typescript_1.ts} (100%) rename sample_files/{typescript_after.ts => typescript_2.ts} (100%) rename sample_files/{typing_before.ml => typing_1.ml} (100%) rename sample_files/{typing_after.ml => typing_2.ml} (100%) rename sample_files/{utf16_before.py => utf16_1.py} (100%) rename sample_files/{utf16_after.py => utf16_2.py} (100%) rename sample_files/{vhdl_before.vhd => vhdl_1.vhd} (100%) rename sample_files/{vhdl_after.vhd => vhdl_2.vhd} (100%) rename sample_files/{whitespace_before.tsx => whitespace_1.tsx} (100%) rename sample_files/{whitespace_after.tsx => whitespace_2.tsx} (100%) rename sample_files/{xml_before.xml => xml_1.xml} (100%) rename sample_files/{xml_after.xml => xml_2.xml} (100%) rename sample_files/{yaml_before.yaml => yaml_1.yaml} (100%) rename sample_files/{yaml_after.yaml => yaml_2.yaml} (100%) rename sample_files/{zig_before.zig => zig_1.zig} (100%) rename sample_files/{zig_after.zig => zig_2.zig} (100%) diff --git a/manual/src/adding_a_parser.md b/manual/src/adding_a_parser.md index 532622bad..8743fd062 100644 --- a/manual/src/adding_a_parser.md +++ b/manual/src/adding_a_parser.md @@ -125,11 +125,11 @@ Finally, add a regression test for your language. This ensures that the output for your test file doesn't change unexpectedly. Regression test files live in `sample_files/` and have the form -`foo_before.abc` and `foo_after.abc`. +`foo_1.abc` and `foo_2.abc`. ``` -$ nano simple_before.json -$ nano simple_after.json +$ nano simple_1.json +$ nano simple_2.json ``` Run the regression test script and update the `.expected` file. diff --git a/manual/src/line_diffing.md b/manual/src/line_diffing.md index 3857ba2fa..a67a7cd66 100644 --- a/manual/src/line_diffing.md +++ b/manual/src/line_diffing.md @@ -18,7 +18,7 @@ Variations, Myers ``` # Modern diff supports colour, but see also # https://www.colordiff.org/ -$ diff --color=always -u sample_files/css_before.css sample_files/css_after.css +$ diff --color=always -u sample_files/css_1.css sample_files/css_2.css ``` Note that GNU diff [originally used the Hunt-McIlroy @@ -64,11 +64,11 @@ work](https://stackoverflow.com/questions/40133534/is-gits-implementation-of-the ``` # Original behaviour -$ git diff --no-indent-heuristic --no-index sample_files/css_before.css sample_files/css_after.css +$ git diff --no-indent-heuristic --no-index sample_files/css_1.css sample_files/css_2.css # As of git 2.11, this heuristic is enabled by default. -$ git diff --indent-heuristic --no-index sample_files/css_before.css sample_files/css_after.css +$ git diff --indent-heuristic --no-index sample_files/css_1.css sample_files/css_2.css # Patience algorithm does a better a job in this example. -$ git diff --patience --no-index sample_files/css_before.css sample_files/css_after.css +$ git diff --patience --no-index sample_files/css_1.css sample_files/css_2.css ``` [Diff Match Patch](https://github.com/google/diff-match-patch) also @@ -84,7 +84,7 @@ of the patience algorithm](https://github.com/git/git/commit/85551232b56e763ecfc ``` # Inferior to patience on this example file. -$ git diff --histogram --no-index sample_files/css_before.css sample_files/css_after.css +$ git diff --histogram --no-index sample_files/css_1.css sample_files/css_2.css ``` ### prettydiff diff --git a/manual/src/parsing.md b/manual/src/parsing.md index c6311e844..0cefea9d8 100644 --- a/manual/src/parsing.md +++ b/manual/src/parsing.md @@ -12,7 +12,7 @@ the parse tree that tree-sitter produces using the `--dump-ts` flag. ``` -$ difft --dump-ts sample_files/javascript_simple_before.js | head +$ difft --dump-ts sample_files/javascript_simple_1.js | head program (0, 0) - (7, 0) comment (0, 0) - (0, 8) "// hello" expression_statement (1, 0) - (1, 6) diff --git a/manual/src/profiling.md b/manual/src/profiling.md index 00ad6c21f..e9ca911ce 100644 --- a/manual/src/profiling.md +++ b/manual/src/profiling.md @@ -5,22 +5,22 @@ If you have a file that's particularly slow, you can use which functions are slow. ``` -$ CARGO_PROFILE_RELEASE_DEBUG=true cargo flamegraph --bin difft sample_files/slow_before.rs sample_files/slow_after.rs +$ CARGO_PROFILE_RELEASE_DEBUG=true cargo flamegraph --bin difft sample_files/slow_1.rs sample_files/slow_2.rs ``` It's also worth looking at memory usage, as graph traversal bugs can lead to huge memory consumption. ``` -$ /usr/bin/time -v ./target/release/difft sample_files/slow_before.rs sample_files/slow_after.rs +$ /usr/bin/time -v ./target/release/difft sample_files/slow_1.rs sample_files/slow_2.rs ``` If timing measurement are noisy, Linux's `perf` tool will report instructions executed, which is more stable. ``` -$ perf stat ./target/release/difft sample_files/slow_before.rs sample_files/slow_after.rs -$ perf stat ./target/release/difft sample_files/typing_old.ml sample_files/typing_new.ml +$ perf stat ./target/release/difft sample_files/slow_1.rs sample_files/slow_2.rs +$ perf stat ./target/release/difft sample_files/typing_1.ml sample_files/typing_2.ml ``` Many more profiling techniques are discussed in [The Rust Performance diff --git a/manual/src/tricky_cases.md b/manual/src/tricky_cases.md index f722843ec..079a7d4a6 100644 --- a/manual/src/tricky_cases.md +++ b/manual/src/tricky_cases.md @@ -437,7 +437,7 @@ parse errors occur, to avoid diffing incomplete syntax trees. When this occurs, the file header reports the error count. ``` -$ difft sample_files/syntax_error_before.js sample_files/syntax_error_after.js +$ difft sample_files/syntax_error_1.js sample_files/syntax_error_2.js sample_files/syntax_error_after.js --- Text (2 errors, exceeded DFT_PARSE_ERROR_LIMIT) ... ``` diff --git a/manual/src/usage.md b/manual/src/usage.md index 0824b8b58..6f50846c4 100644 --- a/manual/src/usage.md +++ b/manual/src/usage.md @@ -11,7 +11,7 @@ $ difft sample_files/before.js sample_files/after.js ### Diffing Directories ``` -$ difft sample_files/dir_before/ sample_files/dir_after/ +$ difft sample_files/dir_1/ sample_files/dir_2/ ``` Difftastic will recursively walk the two directories, diffing files diff --git a/sample_files/Session_before.kt b/sample_files/Session_1.kt similarity index 100% rename from sample_files/Session_before.kt rename to sample_files/Session_1.kt diff --git a/sample_files/Session_after.kt b/sample_files/Session_2.kt similarity index 100% rename from sample_files/Session_after.kt rename to sample_files/Session_2.kt diff --git a/sample_files/ada_before.adb b/sample_files/ada_1.adb similarity index 100% rename from sample_files/ada_before.adb rename to sample_files/ada_1.adb diff --git a/sample_files/ada_after.adb b/sample_files/ada_2.adb similarity index 100% rename from sample_files/ada_after.adb rename to sample_files/ada_2.adb diff --git a/sample_files/added_line_before.txt b/sample_files/added_line_1.txt similarity index 100% rename from sample_files/added_line_before.txt rename to sample_files/added_line_1.txt diff --git a/sample_files/added_line_after.txt b/sample_files/added_line_2.txt similarity index 100% rename from sample_files/added_line_after.txt rename to sample_files/added_line_2.txt diff --git a/sample_files/align_footer_before.txt b/sample_files/align_footer_1.txt similarity index 100% rename from sample_files/align_footer_before.txt rename to sample_files/align_footer_1.txt diff --git a/sample_files/align_footer_after.txt b/sample_files/align_footer_2.txt similarity index 100% rename from sample_files/align_footer_after.txt rename to sample_files/align_footer_2.txt diff --git a/sample_files/apex_before.cls b/sample_files/apex_1.cls similarity index 100% rename from sample_files/apex_before.cls rename to sample_files/apex_1.cls diff --git a/sample_files/apex_after.cls b/sample_files/apex_2.cls similarity index 100% rename from sample_files/apex_after.cls rename to sample_files/apex_2.cls diff --git a/sample_files/b2_math_before.h b/sample_files/b2_math_1.h similarity index 100% rename from sample_files/b2_math_before.h rename to sample_files/b2_math_1.h diff --git a/sample_files/b2_math_after.h b/sample_files/b2_math_2.h similarity index 100% rename from sample_files/b2_math_after.h rename to sample_files/b2_math_2.h diff --git a/sample_files/bad_combine_before.rs b/sample_files/bad_combine_1.rs similarity index 100% rename from sample_files/bad_combine_before.rs rename to sample_files/bad_combine_1.rs diff --git a/sample_files/bad_combine_after.rs b/sample_files/bad_combine_2.rs similarity index 100% rename from sample_files/bad_combine_after.rs rename to sample_files/bad_combine_2.rs diff --git a/sample_files/change_outer_before.el b/sample_files/change_outer_1.el similarity index 100% rename from sample_files/change_outer_before.el rename to sample_files/change_outer_1.el diff --git a/sample_files/change_outer_after.el b/sample_files/change_outer_2.el similarity index 100% rename from sample_files/change_outer_after.el rename to sample_files/change_outer_2.el diff --git a/sample_files/chinese_before.po b/sample_files/chinese_1.po similarity index 100% rename from sample_files/chinese_before.po rename to sample_files/chinese_1.po diff --git a/sample_files/chinese_after.po b/sample_files/chinese_2.po similarity index 100% rename from sample_files/chinese_after.po rename to sample_files/chinese_2.po diff --git a/sample_files/cli_tests/bad_yaml_before.yml b/sample_files/cli_tests/bad_yaml_1.yml similarity index 100% rename from sample_files/cli_tests/bad_yaml_before.yml rename to sample_files/cli_tests/bad_yaml_1.yml diff --git a/sample_files/cli_tests/bad_yaml_after.yml b/sample_files/cli_tests/bad_yaml_2.yml similarity index 100% rename from sample_files/cli_tests/bad_yaml_after.yml rename to sample_files/cli_tests/bad_yaml_2.yml diff --git a/sample_files/cli_tests/makefile_before.mk b/sample_files/cli_tests/makefile_1.mk similarity index 100% rename from sample_files/cli_tests/makefile_before.mk rename to sample_files/cli_tests/makefile_1.mk diff --git a/sample_files/cli_tests/makefile_after.mk b/sample_files/cli_tests/makefile_2.mk similarity index 100% rename from sample_files/cli_tests/makefile_after.mk rename to sample_files/cli_tests/makefile_2.mk diff --git a/sample_files/clojure_before.clj b/sample_files/clojure_1.clj similarity index 100% rename from sample_files/clojure_before.clj rename to sample_files/clojure_1.clj diff --git a/sample_files/clojure_after.clj b/sample_files/clojure_2.clj similarity index 100% rename from sample_files/clojure_after.clj rename to sample_files/clojure_2.clj diff --git a/sample_files/comma_before.js b/sample_files/comma_1.js similarity index 100% rename from sample_files/comma_before.js rename to sample_files/comma_1.js diff --git a/sample_files/comma_after.js b/sample_files/comma_2.js similarity index 100% rename from sample_files/comma_after.js rename to sample_files/comma_2.js diff --git a/sample_files/comma_and_comment_before.js b/sample_files/comma_and_comment_1.js similarity index 100% rename from sample_files/comma_and_comment_before.js rename to sample_files/comma_and_comment_1.js diff --git a/sample_files/comma_and_comment_after.js b/sample_files/comma_and_comment_2.js similarity index 100% rename from sample_files/comma_and_comment_after.js rename to sample_files/comma_and_comment_2.js diff --git a/sample_files/comments_before.rs b/sample_files/comments_1.rs similarity index 100% rename from sample_files/comments_before.rs rename to sample_files/comments_1.rs diff --git a/sample_files/comments_after.rs b/sample_files/comments_2.rs similarity index 100% rename from sample_files/comments_after.rs rename to sample_files/comments_2.rs diff --git a/sample_files/compare.expected b/sample_files/compare.expected index 88429cd0d..9a5a9caac 100644 --- a/sample_files/compare.expected +++ b/sample_files/compare.expected @@ -1,294 +1,291 @@ -sample_files/Session_before.kt sample_files/Session_after.kt -80c53658ee849d38f397863803677a02 - +sample_files/Session_1.kt sample_files/Session_2.kt +7f12794f0cd13609984eca50002cc38c - -sample_files/ada_before.adb sample_files/ada_after.adb -626e22f4f256ae591ece3f280176b3f7 - +sample_files/ada_1.adb sample_files/ada_2.adb +eb3b0e12e239ae33789136380e81406b - -sample_files/added_line_before.txt sample_files/added_line_after.txt -5996d2f9cc7c1e3acfdeafcf0f5e43c1 - +sample_files/added_line_1.txt sample_files/added_line_2.txt +8a1587e6b5fc53f2ec2ac665a5d00372 - -sample_files/align_footer_before.txt sample_files/align_footer_after.txt -202e1821f9214f74568578dbc12ca83e - +sample_files/align_footer_1.txt sample_files/align_footer_2.txt +d640bd2de31e56a39f0efb92aff0f379 - -sample_files/apex_before.cls sample_files/apex_after.cls -fde5c2cb739fb8bb42a592f64190137e - +sample_files/apex_1.cls sample_files/apex_2.cls +8e477350907734ac4d5201752523dff3 - -sample_files/b2_math_before.h sample_files/b2_math_after.h -8ce28404b7f7935a66bd13b14a4dbcb4 - +sample_files/b2_math_1.h sample_files/b2_math_2.h +1ab24165d072f91be11893b92bc0943f - -sample_files/bad_combine_before.rs sample_files/bad_combine_after.rs -397c122ac48dd2f78c2ae7704083b5e2 - +sample_files/bad_combine_1.rs sample_files/bad_combine_2.rs +f5051bf7d2b8afa3a677388cbd458891 - -sample_files/change_outer_before.el sample_files/change_outer_after.el -8ed3308b9eabd486bdbe9aa2e7dc9be6 - +sample_files/change_outer_1.el sample_files/change_outer_2.el +2b9334a4cc72da63bba28eff958f0038 - -sample_files/chinese_before.po sample_files/chinese_after.po -097250024d46c75a159b8a8efe9a1e51 - +sample_files/chinese_1.po sample_files/chinese_2.po +bc93dffd067b6da1916388557b7ffbaf - -sample_files/clojure_before.clj sample_files/clojure_after.clj -34a723cb5ec5a81f3ae5c01a64bca6c2 - +sample_files/clojure_1.clj sample_files/clojure_2.clj +453785e11dbee818ea0e8cac78c8be47 - -sample_files/comma_and_comment_before.js sample_files/comma_and_comment_after.js -d25fc192d1737136a7ee3bc17d517cf9 - +sample_files/comma_1.js sample_files/comma_2.js +151cc449076070f7f7d74d3e3d01101e - -sample_files/comma_before.js sample_files/comma_after.js -9b4b1cad1973205c4aaa96ef6d5704b0 - +sample_files/comma_and_comment_1.js sample_files/comma_and_comment_2.js +9f8310a6938d04748ea16b267be1d835 - -sample_files/comments_before.rs sample_files/comments_after.rs -44f0fad026ff9acf0efd7295492909a3 - +sample_files/comments_1.rs sample_files/comments_2.rs +acc71128684c08bb838f17f2f47a97a8 - -sample_files/context_before.rs sample_files/context_after.rs -4e1e12aa33624cf4ee2f5619c1975d08 - +sample_files/context_1.rs sample_files/context_2.rs +9133a6b7768fe87b193fe2875a261514 - -sample_files/contiguous_before.js sample_files/contiguous_after.js -62b54fd60ab10e864b60f379477379c2 - +sample_files/contiguous_1.js sample_files/contiguous_2.js +22da862378dbee68e55ecba8b0fcec42 - -sample_files/css_before.css sample_files/css_after.css -35e2d577f5b1aa2626e499124524af29 - +sample_files/css_1.css sample_files/css_2.css +4b7101d68f953344af5c8839e7b13a56 - -sample_files/dart_before.dart sample_files/dart_after.dart -73dd776f2587bbaf2d29fbe20dd8de40 - +sample_files/dart_1.dart sample_files/dart_2.dart +631b39f8574990923d4ac3d541e2966d - -sample_files/elisp_before.el sample_files/elisp_after.el -4342ed34fe5304644afe5b224f0fd83b - +sample_files/elisp_1.el sample_files/elisp_2.el +e44eda0da58fe6eb3fba9ce3244044ad - -sample_files/elisp_contiguous_before.el sample_files/elisp_contiguous_after.el -f8745c21bac86205b36b04db1c0bad06 - +sample_files/elisp_contiguous_1.el sample_files/elisp_contiguous_2.el +beaf7d6c5136d3db7a36ff49a131b251 - -sample_files/elm_before.elm sample_files/elm_after.elm -21986c57b5eee4bbd248a927955338fe - +sample_files/elm_1.elm sample_files/elm_2.elm +54d73b12de1571cfb9b27d3b2a7f4f62 - -sample_files/elvish_before.elv sample_files/elvish_after.elv -66aee6a75695ea5654a2de2faa18202e - +sample_files/elvish_1.elv sample_files/elvish_2.elv +f80b47646e7dd2bd3a49393d00657465 - -sample_files/erlang_before.erl sample_files/erlang_after.erl -c4a48cdd69bc3d0ef5e6bf2e5a8424f9 - +sample_files/erlang_1.erl sample_files/erlang_2.erl +dccdb8f65d2f099ab1a8cb66011376a2 - -sample_files/hack_before.php sample_files/hack_after.php -f4e6a08cf167ed376dac629bead4e54d - +sample_files/hack_1.php sample_files/hack_2.php +c2bb0aa7d7b07d6ced79f6a5363e878b - -sample_files/hare_before.ha sample_files/hare_after.ha -7848f1b9689629ab5dc5e1a742c34d6b - +sample_files/hare_1.ha sample_files/hare_2.ha +6ac97614325dd9b7ebb2b3cc1e4d3296 - -sample_files/haskell_before.hs sample_files/haskell_after.hs -4cf36291cc7d9b72526063db0ebc5402 - +sample_files/haskell_1.hs sample_files/haskell_2.hs +9e6e08f67a41c963250bc1748c4824ce - -sample_files/hcl_before.hcl sample_files/hcl_after.hcl -52e271ea8ffbe500d6bc3c47d35df13a - +sample_files/hcl_1.hcl sample_files/hcl_2.hcl +4c3dc042f8cd57fec0ea883274b5f94e - -sample_files/hello_world_before.smali sample_files/hello_world_after.smali -c2a686a9d70b8e54d49ef7fdf2f87fb7 - +sample_files/hello_world_1.smali sample_files/hello_world_2.smali +296286b067e86cccfad1fa9a0440993b - -sample_files/helpful-unit-test-before.el sample_files/helpful-unit-test-after.el -f85460a4e60d77b4cae1a987a5af4c49 - +sample_files/helpful_1.el sample_files/helpful_2.el +056471124ae2e582942e214ce9222477 - -sample_files/helpful_before.el sample_files/helpful_after.el -91ce9866aeb9c8e2f59836819d1a4e06 - +sample_files/html_1.html sample_files/html_2.html +3cc8b445a56b74f05e1d7bb84874edab - -sample_files/html_before.html sample_files/html_after.html -b5149551376defd7a0cda51aeaef420d - +sample_files/html_simple_1.html sample_files/html_simple_2.html +0bc70b2a5c8203272473ed4c0736017b - -sample_files/html_simple_before.html sample_files/html_simple_after.html -915a46736d489be724b18c87b4ebf6b2 - +sample_files/huge_cpp_1.cpp sample_files/huge_cpp_2.cpp +3a500d7b0c58fa6874eb0e4f5493a9e5 - -sample_files/huge_cpp_before.cpp sample_files/huge_cpp_after.cpp -63b627d680fcdc87eac8c242661a28c5 - +sample_files/identical_1.scala sample_files/identical_2.scala +15c5a789e644348cb7e0de051ff4b63e - -sample_files/identical_before.scala sample_files/identical_after.scala -da6c8d397a9d3992b494d761d082366c - +sample_files/if_1.py sample_files/if_2.py +d8f7399917f48a38d556426f121cc972 - -sample_files/if_before.py sample_files/if_after.py -4b25e3a7ae97516afa1064984754abe7 - +sample_files/insert_blank_1.txt sample_files/insert_blank_2.txt +a5fd75afcc99aa7b2b285f1f9ced8607 - -sample_files/insert_blank_before.txt sample_files/insert_blank_after.txt -a985e0bd8d728d59f71621de35552bed - +sample_files/janet_1.janet sample_files/janet_2.janet +15071de26554028495ed6b78de5f8803 - -sample_files/janet_before.janet sample_files/janet_after.janet -e02b243bbcce07d5b7cd68954bd5344d - +sample_files/java_1.java sample_files/java_2.java +fc0156c5e480b14077a3b4b6388b751a - -sample_files/java_before.java sample_files/java_after.java -81f88b1cd194c094bc8e23c05a5077ef - +sample_files/javascript_1.js sample_files/javascript_2.js +c4588f427746508bd2e71d929266d558 - -sample_files/javascript_before.js sample_files/javascript_after.js -008c9e0c6dae01c1cbd7e8211b33be35 - +sample_files/javascript_simple_1.js sample_files/javascript_simple_2.js +f134d7f6b4dd629c8154dd4a2dae9c34 - -sample_files/javascript_simple_before.js sample_files/javascript_simple_after.js -b9f8e04d42f4c88b3514d31743e17297 - +sample_files/json_1.json sample_files/json_2.json +d2c1aea9ec9be1078e4b70be4c9e1b13 - -sample_files/json_before.json sample_files/json_after.json -79d34d1bbb670bb702f6ea75ff759fa5 - +sample_files/jsx_1.jsx sample_files/jsx_2.jsx +712c1c17f17f64745395e3d558ab53f3 - -sample_files/jsx_before.jsx sample_files/jsx_after.jsx -908a1637b237cd7763948b7abeb95325 - +sample_files/julia_1.jl sample_files/julia_2.jl +9782f864fc462c9f873760f71c43c48d - -sample_files/julia_before.jl sample_files/julia_after.jl -0abbd2d5e040928f55fec2508f3001bd - +sample_files/load_1.js sample_files/load_2.js +22365043359164f717d495336d86b996 - -sample_files/load_before.js sample_files/load_after.js -7ead0c677e1ccc5639ea2a8199a8175e - +sample_files/long_line_1.txt sample_files/long_line_2.txt +40e22d364bb714421eec24b8ef808f01 - -sample_files/long_line_before.txt sample_files/long_line_after.txt -850e2efa67152b79d5b5099f202d61bb - +sample_files/lua_1.lua sample_files/lua_2.lua +8318115b642361955346cc620bc3ad86 - -sample_files/lua_before.lua sample_files/lua_after.lua -9f5c85cd6806c724c84afa805da76bb7 - +sample_files/makefile_1.mk sample_files/makefile_2.mk +d0572210b5121ce68ac0ce45e43b922b - -sample_files/makefile_before.mk sample_files/makefile_after.mk -20cf6b508d1707e41e5450572ee51838 - +sample_files/many_newlines_1.txt sample_files/many_newlines_2.txt +615de4b145b7b161e4fb285728280ed1 - -sample_files/many_newlines_before.txt sample_files/many_newlines_after.txt -afc8628f89076423d1453d8e3c84ac92 - +sample_files/metadata_1.clj sample_files/metadata_2.clj +4b58ce366467c8cca46db53508e81323 - -sample_files/metadata_before.clj sample_files/metadata_after.clj -4ac68277cb69d0648961b891e02d2a7b - +sample_files/modules_1.ml sample_files/modules_2.ml +05438d347d9e2ee90376b193098fc1fc - -sample_files/modules_before.ml sample_files/modules_after.ml -bbaf96c9185aeee13a76aaba6afc93dc - +sample_files/multibyte_1.py sample_files/multibyte_2.py +652fce32c9c9f8491ae24c019cec08c0 - -sample_files/multibyte_before.py sample_files/multibyte_after.py -b4c7a2f4b674807a2c96e6829af43a27 - +sample_files/multiline_string_1.ml sample_files/multiline_string_2.ml +d8d0b40bad1697ca143709d5ab46869f - -sample_files/multiline_string_before.ml sample_files/multiline_string_after.ml -37c4b5c42a98ad43a5ff2202dd8d897a - +sample_files/nest_1.rs sample_files/nest_2.rs +d3a799fe2cd9d81aa251c96af5cd9711 - -sample_files/nest_before.rs sample_files/nest_after.rs -8b803688ec64307c46d19bfaead5da74 - +sample_files/nested_slider_1.el sample_files/nested_slider_2.el +232c0736336031d762a1453f323e8064 - -sample_files/nested_slider_before.el sample_files/nested_slider_after.el -61f52bd237b8a2a69071113bdbf7b55f - +sample_files/nested_slider_1.rs sample_files/nested_slider_2.rs +e9045007a25352eb81655458aebb452c - -sample_files/nested_slider_before.rs sample_files/nested_slider_after.rs -cb15e648e6b09b6a9a2de4e1624ec6bd - +sample_files/nesting_1.el sample_files/nesting_2.el +fe12489ab4bb156c0aee478dd36f264a - -sample_files/nesting_before.el sample_files/nesting_after.el -a1d520d7a425c9eed529b8b108eaee3e - +sample_files/newick_1.nwk sample_files/newick_2.nwk +45ec08ce924513fb24846b9609d3cbe8 - -sample_files/newick_before.nwk sample_files/newick_after.nwk -0f7bdff87a79f997b850e67d38a1c910 - +sample_files/nix_1.nix sample_files/nix_2.nix +7a07c155b1ea9d5a0035438949e9dcd3 - -sample_files/nix_before.nix sample_files/nix_after.nix -e00b95a4cf3fa3edf994155d8656063f - +sample_files/nullable_1.kt sample_files/nullable_2.kt +42dab8388544cfe524ac04697d80a1ca - -sample_files/nullable_before.kt sample_files/nullable_after.kt -66da628a2c20e18059b8669aaa14a163 - +sample_files/objc_header_1.h sample_files/objc_header_2.h +0c6b6736a646246a502238b4aa4adb37 - -sample_files/objc_header_before.h sample_files/objc_header_after.h -f65feb21b25bb7f2ba31ee8f49977193 - +sample_files/objc_module_1.m sample_files/objc_module_2.m +f4a376b78a73c190dc91b39d739490a5 - -sample_files/objc_module_before.m sample_files/objc_module_after.m -faf4f280485b78d2c74c73292a405708 - +sample_files/ocaml_1.ml sample_files/ocaml_2.ml +fd56c5c4c9950e701879a1476ca22800 - -sample_files/ocaml_before.ml sample_files/ocaml_after.ml -2113c6c7959b8099f678d13953f7f44a - +sample_files/outer_delimiter_1.el sample_files/outer_delimiter_2.el +a7e206f6391237be0ce8ed244ec3dd62 - -sample_files/outer_delimiter_before.el sample_files/outer_delimiter_after.el -80a33b89c8105936fb53e0aba99fe016 - +sample_files/pascal_1.pascal sample_files/pascal_2.pascal +acc46c16e83dd1b48c6f761e59541923 - -sample_files/pascal_before.pascal sample_files/pascal_after.pascal -ae0ae2a4e79f68cc78d476b27175fb8a - +sample_files/perl_1.pl sample_files/perl_2.pl +36154dbc656eb9762468bbe80e904c8f - -sample_files/perl_before.pl sample_files/perl_after.pl -29019d23a5a5381397db0cfd42934946 - +sample_files/prefer_outer_1.el sample_files/prefer_outer_2.el +991038c9988cccc2c824652e33f772a2 - -sample_files/prefer_outer_before.el sample_files/prefer_outer_after.el -118fbbfa4a320ab40a79a59fa3b42767 - +sample_files/preprocesor_1.h sample_files/preprocesor_2.h +a680158a7980d738ba831aab3a63165d - -sample_files/preprocesor_before.h sample_files/preprocesor_after.h -689feef6aa36acbf2823779651a3bef7 - +sample_files/qml_1.qml sample_files/qml_2.qml +c23bda1d924adb57eb9e5c20744e99ea - -sample_files/qml_before.qml sample_files/qml_after.qml -d1e32b72544861bae209baaa762f5235 - +sample_files/r_1.R sample_files/r_2.R +10f45a80a8554419bf30a2a0f574ab86 - -sample_files/r_before.R sample_files/r_after.R -1fa3b1843db94753a6b118535d7df995 - +sample_files/racket_1.rkt sample_files/racket_2.rkt +605aec93fa7b89d08e5d8ed56ad3c1be - -sample_files/racket_before.rkt sample_files/racket_after.rkt -7384e9c384cdaa86ff40e4106e9e6ebd - +sample_files/ruby_1.rb sample_files/ruby_2.rb +d4d591902030355656f5c18c78f965a6 - -sample_files/ruby_before.rb sample_files/ruby_after.rb -e690af6874c954b271ef7ea8eb1d8af1 - +sample_files/scala_1.scala sample_files/scala_2.scala +f19e0f0ab3cabb1b5c863b78a5a6b2d2 - -sample_files/scala_before.scala sample_files/scala_after.scala -8b2d6102b120d4a0de790c33409eedc3 - +sample_files/scheme_1.scm sample_files/scheme_2.scm +09f8683219a8491c22d9a2fa1ce98c16 - -sample_files/scheme_before.scm sample_files/scheme_after.scm -d00fcfe46aca3e2877bda566f1a3908b - +sample_files/simple_1.js sample_files/simple_2.js +01c1ee448ac9a49abd0b68a90d7f9a6c - -sample_files/simple_before.js sample_files/simple_after.js -c9c5d1c61b7e8a953a361343bcd13c95 - +sample_files/simple_1.scss sample_files/simple_2.scss +265261e79df78abfc09392d72a0273d8 - -sample_files/simple_before.scss sample_files/simple_after.scss -276a637404ace5617aadd09751cc0b07 - +sample_files/simple_1.txt sample_files/simple_2.txt +416d05b8a02e41cb70b78d28cd3153d9 - -sample_files/simple_before.txt sample_files/simple_after.txt -8b88ed3d752ca7ae72ed2a44e3cfc9df - +sample_files/slider_1.rs sample_files/slider_2.rs +d10128f3d9ffc4a8670f417a9371bacc - -sample_files/slider_at_end_before.json sample_files/slider_at_end_after.json -51ded63239198014e35064ad79b957ab - +sample_files/slider_at_end_1.json sample_files/slider_at_end_2.json +cb370f1c0ccc5e155743330629f899f0 - -sample_files/slider_before.rs sample_files/slider_after.rs -b71d929c4b20c9771f0e0115012bbb0c - +sample_files/slow_1.rs sample_files/slow_2.rs +2e76c128e008d5d255fdd29562208abc - -sample_files/slow_before.rs sample_files/slow_after.rs -34ef9f4f02e01f2450b17c3105da22f6 - +sample_files/small_1.js sample_files/small_2.js +6bd2d5c9e2b843cfe0748355f3203de9 - -sample_files/small_before.js sample_files/small_after.js -68b801018168d9773dce32a2ac51a5b9 - +sample_files/string_subwords_1.el sample_files/string_subwords_2.el +56f0551c8ba2904bdab8bc72280f28b2 - -sample_files/string_subwords_before.el sample_files/string_subwords_after.el -30aefbabda04615a531fe5b25ba1fa3e - +sample_files/strings_1.el sample_files/strings_2.el +7e136d188ce03cc8fba2b1530a502ffc - -sample_files/strings_before.el sample_files/strings_after.el -cca854a0ba20bb5691d46706e7f62d50 - +sample_files/swift_1.swift sample_files/swift_2.swift +6963eb333c5a37ce9ae70f257d5af7b2 - -sample_files/swift_before.swift sample_files/swift_after.swift -c5a52d09c9078236765696f436ea7661 - +sample_files/syntax_error_1.js sample_files/syntax_error_2.js +d4c4f1a50238480caa3ae3ed33b64d35 - -sample_files/syntax_error_before.js sample_files/syntax_error_after.js -857cd151569443f5698939f97100e82e - +sample_files/tab_1.c sample_files/tab_2.c +73e5f3531ab63def4ecba423a484a869 - -sample_files/tab_before.c sample_files/tab_after.c -7e4345e584d440a136f90becb0ef45bc - +sample_files/tab_1.txt sample_files/tab_2.txt +a17e978720fe4c1b25614402910cc695 - -sample_files/tab_before.txt sample_files/tab_after.txt -c7fcee21dd5ebd251e2cf4cd7d4446d2 - +sample_files/tailwind_1.css sample_files/tailwind_2.css +95129d12808d15e32ea726eba1832d4d - -sample_files/tailwind_before.css sample_files/tailwind_after.css -4fbb1d828afa99ad722944d97266e89e - +sample_files/text_1.txt sample_files/text_2.txt +87914b8ef4a6b042054633ddb182ce02 - -sample_files/text_before.txt sample_files/text_after.txt -5fa6a472ccdeda0142eda3edcaeaa189 - +sample_files/todomvc_1.gleam sample_files/todomvc_2.gleam +070fbdea2a503392f0f0c37f1b6c04bb - -sample_files/todomvc_before.gleam sample_files/todomvc_after.gleam -87aec5b4eb38e5c3f9c84368d28185d2 - +sample_files/toml_1.toml sample_files/toml_2.toml +df36cf07bb1b56fbdbcea7f651b4344d - -sample_files/toml_before.toml sample_files/toml_after.toml -34fbe2ec9ff514cd53edfe8d961d5093 - +sample_files/trailling_newline_1.yaml sample_files/trailling_newline_2.yaml +104da15de44e4625496246baac20d320 - -sample_files/trailling_newline_before.yaml sample_files/trailling_newline_after.yaml -6c2b9be2f28bac9d242f5145e4732c43 - +sample_files/typescript_1.ts sample_files/typescript_2.ts +fee7ee33d2037ad1941ba6bb5532a1db - -sample_files/typescript_before.ts sample_files/typescript_after.ts -27bc9e394d8119c7dd208a9d7985681e - +sample_files/typing_1.ml sample_files/typing_2.ml +36161bd77a8c86643bc90656ec41c92c - -sample_files/typing_before.ml sample_files/typing_after.ml -709c41b6c1a00c27f67cd39c823c9891 - +sample_files/utf16_1.py sample_files/utf16_2.py +39014a682ed2318f980c7ea4177cf659 - -sample_files/utf16_before.py sample_files/utf16_after.py -bbf22d2c5003b638c0f8d08f21bbbb66 - +sample_files/vhdl_1.vhd sample_files/vhdl_2.vhd +0f4de895a568092795c87f3d0a8a07e8 - -sample_files/vhdl_before.vhd sample_files/vhdl_after.vhd -eb987aa621cfa733bb4fcd52b255fbbf - +sample_files/whitespace_1.tsx sample_files/whitespace_2.tsx +ac8b1a89ac26333f2d4e9433b2ca3958 - -sample_files/whitespace_before.tsx sample_files/whitespace_after.tsx -5b989281ee27b63d6fb26474e3d49f25 - +sample_files/xml_1.xml sample_files/xml_2.xml +c474ecc6c1c30051465ef862cfddc01d - -sample_files/xml_before.xml sample_files/xml_after.xml -56cae800a4fb612ac5c1e0b5cb9c43b8 - +sample_files/yaml_1.yaml sample_files/yaml_2.yaml +f068239fc7bade0e6de96d81136c1ac5 - -sample_files/yaml_before.yaml sample_files/yaml_after.yaml -9a94455c22d827576c73d8a8238dd55d - - -sample_files/zig_before.zig sample_files/zig_after.zig -4753ca757c03b1296976ff71e220c62b - +sample_files/zig_1.zig sample_files/zig_2.zig +4516796003b81f35bfa57d84bb7c0cbe - diff --git a/sample_files/compare_all.sh b/sample_files/compare_all.sh index 91cfdc0dd..a993a5a5d 100755 --- a/sample_files/compare_all.sh +++ b/sample_files/compare_all.sh @@ -24,8 +24,8 @@ LC_ALL=C LC_COLLATE=C echo "==> Check outputs" -for before_f in sample_files/*before.*; do - after_f=${before_f/before/after} +for before_f in sample_files/*_1.*; do + after_f=${before_f/_1/_2} echo "$before_f $after_f" difft_out=$(DFT_WIDTH=180 ./target/release/difft --color=always "$before_f" "$after_f" | md5sum) diff --git a/sample_files/context_before.rs b/sample_files/context_1.rs similarity index 100% rename from sample_files/context_before.rs rename to sample_files/context_1.rs diff --git a/sample_files/context_after.rs b/sample_files/context_2.rs similarity index 100% rename from sample_files/context_after.rs rename to sample_files/context_2.rs diff --git a/sample_files/contiguous_before.js b/sample_files/contiguous_1.js similarity index 100% rename from sample_files/contiguous_before.js rename to sample_files/contiguous_1.js diff --git a/sample_files/contiguous_after.js b/sample_files/contiguous_2.js similarity index 100% rename from sample_files/contiguous_after.js rename to sample_files/contiguous_2.js diff --git a/sample_files/css_before.css b/sample_files/css_1.css similarity index 100% rename from sample_files/css_before.css rename to sample_files/css_1.css diff --git a/sample_files/css_after.css b/sample_files/css_2.css similarity index 100% rename from sample_files/css_after.css rename to sample_files/css_2.css diff --git a/sample_files/dart_before.dart b/sample_files/dart_1.dart similarity index 100% rename from sample_files/dart_before.dart rename to sample_files/dart_1.dart diff --git a/sample_files/dart_after.dart b/sample_files/dart_2.dart similarity index 100% rename from sample_files/dart_after.dart rename to sample_files/dart_2.dart diff --git a/sample_files/dir_before/clojure.clj b/sample_files/dir_1/clojure.clj similarity index 100% rename from sample_files/dir_before/clojure.clj rename to sample_files/dir_1/clojure.clj diff --git a/sample_files/dir_before/foo.js b/sample_files/dir_1/foo.js similarity index 100% rename from sample_files/dir_before/foo.js rename to sample_files/dir_1/foo.js diff --git a/sample_files/dir_before/has_many_hunk.py b/sample_files/dir_1/has_many_hunk.py similarity index 100% rename from sample_files/dir_before/has_many_hunk.py rename to sample_files/dir_1/has_many_hunk.py diff --git a/sample_files/dir_before/only_in_before.c b/sample_files/dir_1/only_in_1.c similarity index 100% rename from sample_files/dir_before/only_in_before.c rename to sample_files/dir_1/only_in_1.c diff --git a/sample_files/dir_after/clojure.clj b/sample_files/dir_2/clojure.clj similarity index 100% rename from sample_files/dir_after/clojure.clj rename to sample_files/dir_2/clojure.clj diff --git a/sample_files/dir_after/foo.js b/sample_files/dir_2/foo.js similarity index 100% rename from sample_files/dir_after/foo.js rename to sample_files/dir_2/foo.js diff --git a/sample_files/dir_after/has_many_hunk.py b/sample_files/dir_2/has_many_hunk.py similarity index 100% rename from sample_files/dir_after/has_many_hunk.py rename to sample_files/dir_2/has_many_hunk.py diff --git a/sample_files/dir_after/only_in_after_dir.rs b/sample_files/dir_2/only_in_2.rs similarity index 100% rename from sample_files/dir_after/only_in_after_dir.rs rename to sample_files/dir_2/only_in_2.rs diff --git a/sample_files/elisp_before.el b/sample_files/elisp_1.el similarity index 100% rename from sample_files/elisp_before.el rename to sample_files/elisp_1.el diff --git a/sample_files/elisp_after.el b/sample_files/elisp_2.el similarity index 100% rename from sample_files/elisp_after.el rename to sample_files/elisp_2.el diff --git a/sample_files/elisp_contiguous_before.el b/sample_files/elisp_contiguous_1.el similarity index 100% rename from sample_files/elisp_contiguous_before.el rename to sample_files/elisp_contiguous_1.el diff --git a/sample_files/elisp_contiguous_after.el b/sample_files/elisp_contiguous_2.el similarity index 100% rename from sample_files/elisp_contiguous_after.el rename to sample_files/elisp_contiguous_2.el diff --git a/sample_files/elm_before.elm b/sample_files/elm_1.elm similarity index 100% rename from sample_files/elm_before.elm rename to sample_files/elm_1.elm diff --git a/sample_files/elm_after.elm b/sample_files/elm_2.elm similarity index 100% rename from sample_files/elm_after.elm rename to sample_files/elm_2.elm diff --git a/sample_files/elvish_before.elv b/sample_files/elvish_1.elv similarity index 100% rename from sample_files/elvish_before.elv rename to sample_files/elvish_1.elv diff --git a/sample_files/elvish_after.elv b/sample_files/elvish_2.elv similarity index 100% rename from sample_files/elvish_after.elv rename to sample_files/elvish_2.elv diff --git a/sample_files/erlang_before.erl b/sample_files/erlang_1.erl similarity index 100% rename from sample_files/erlang_before.erl rename to sample_files/erlang_1.erl diff --git a/sample_files/erlang_after.erl b/sample_files/erlang_2.erl similarity index 100% rename from sample_files/erlang_after.erl rename to sample_files/erlang_2.erl diff --git a/sample_files/hack_before.php b/sample_files/hack_1.php similarity index 100% rename from sample_files/hack_before.php rename to sample_files/hack_1.php diff --git a/sample_files/hack_after.php b/sample_files/hack_2.php similarity index 100% rename from sample_files/hack_after.php rename to sample_files/hack_2.php diff --git a/sample_files/hare_before.ha b/sample_files/hare_1.ha similarity index 100% rename from sample_files/hare_before.ha rename to sample_files/hare_1.ha diff --git a/sample_files/hare_after.ha b/sample_files/hare_2.ha similarity index 100% rename from sample_files/hare_after.ha rename to sample_files/hare_2.ha diff --git a/sample_files/haskell_before.hs b/sample_files/haskell_1.hs similarity index 100% rename from sample_files/haskell_before.hs rename to sample_files/haskell_1.hs diff --git a/sample_files/haskell_after.hs b/sample_files/haskell_2.hs similarity index 100% rename from sample_files/haskell_after.hs rename to sample_files/haskell_2.hs diff --git a/sample_files/hcl_before.hcl b/sample_files/hcl_1.hcl similarity index 100% rename from sample_files/hcl_before.hcl rename to sample_files/hcl_1.hcl diff --git a/sample_files/hcl_after.hcl b/sample_files/hcl_2.hcl similarity index 100% rename from sample_files/hcl_after.hcl rename to sample_files/hcl_2.hcl diff --git a/sample_files/hello_world_before.smali b/sample_files/hello_world_1.smali similarity index 100% rename from sample_files/hello_world_before.smali rename to sample_files/hello_world_1.smali diff --git a/sample_files/hello_world_after.smali b/sample_files/hello_world_2.smali similarity index 100% rename from sample_files/hello_world_after.smali rename to sample_files/hello_world_2.smali diff --git a/sample_files/helpful_before.el b/sample_files/helpful_1.el similarity index 100% rename from sample_files/helpful_before.el rename to sample_files/helpful_1.el diff --git a/sample_files/helpful_after.el b/sample_files/helpful_2.el similarity index 100% rename from sample_files/helpful_after.el rename to sample_files/helpful_2.el diff --git a/sample_files/hidden-after/.hidden/doc.txt b/sample_files/hidden-after/.hidden/doc.txt deleted file mode 100644 index 5c80f32d7..000000000 --- a/sample_files/hidden-after/.hidden/doc.txt +++ /dev/null @@ -1 +0,0 @@ -after \ No newline at end of file diff --git a/sample_files/hidden-before/.hidden.txt b/sample_files/hidden-before/.hidden.txt deleted file mode 100644 index ee2363a4d..000000000 --- a/sample_files/hidden-before/.hidden.txt +++ /dev/null @@ -1 +0,0 @@ -before \ No newline at end of file diff --git a/sample_files/hidden-before/.hidden/doc.txt b/sample_files/hidden-before/.hidden/doc.txt deleted file mode 100644 index ee2363a4d..000000000 --- a/sample_files/hidden-before/.hidden/doc.txt +++ /dev/null @@ -1 +0,0 @@ -before \ No newline at end of file diff --git a/sample_files/hidden-after/.hidden.txt b/sample_files/hidden_1/.hidden.txt similarity index 100% rename from sample_files/hidden-after/.hidden.txt rename to sample_files/hidden_1/.hidden.txt diff --git a/sample_files/hidden_1/.hidden/doc.txt b/sample_files/hidden_1/.hidden/doc.txt new file mode 100644 index 000000000..90be1f305 --- /dev/null +++ b/sample_files/hidden_1/.hidden/doc.txt @@ -0,0 +1 @@ +before diff --git a/sample_files/hidden_2/.hidden.txt b/sample_files/hidden_2/.hidden.txt new file mode 100644 index 000000000..294186e49 --- /dev/null +++ b/sample_files/hidden_2/.hidden.txt @@ -0,0 +1 @@ +after diff --git a/sample_files/hidden_2/.hidden/doc.txt b/sample_files/hidden_2/.hidden/doc.txt new file mode 100644 index 000000000..294186e49 --- /dev/null +++ b/sample_files/hidden_2/.hidden/doc.txt @@ -0,0 +1 @@ +after diff --git a/sample_files/html_before.html b/sample_files/html_1.html similarity index 100% rename from sample_files/html_before.html rename to sample_files/html_1.html diff --git a/sample_files/html_after.html b/sample_files/html_2.html similarity index 100% rename from sample_files/html_after.html rename to sample_files/html_2.html diff --git a/sample_files/html_simple_before.html b/sample_files/html_simple_1.html similarity index 100% rename from sample_files/html_simple_before.html rename to sample_files/html_simple_1.html diff --git a/sample_files/html_simple_after.html b/sample_files/html_simple_2.html similarity index 100% rename from sample_files/html_simple_after.html rename to sample_files/html_simple_2.html diff --git a/sample_files/huge_cpp_before.cpp b/sample_files/huge_cpp_1.cpp similarity index 100% rename from sample_files/huge_cpp_before.cpp rename to sample_files/huge_cpp_1.cpp diff --git a/sample_files/huge_cpp_after.cpp b/sample_files/huge_cpp_2.cpp similarity index 100% rename from sample_files/huge_cpp_after.cpp rename to sample_files/huge_cpp_2.cpp diff --git a/sample_files/identical_after.scala b/sample_files/identical_1.scala similarity index 100% rename from sample_files/identical_after.scala rename to sample_files/identical_1.scala diff --git a/sample_files/identical_before.scala b/sample_files/identical_2.scala similarity index 100% rename from sample_files/identical_before.scala rename to sample_files/identical_2.scala diff --git a/sample_files/if_before.py b/sample_files/if_1.py similarity index 100% rename from sample_files/if_before.py rename to sample_files/if_1.py diff --git a/sample_files/if_after.py b/sample_files/if_2.py similarity index 100% rename from sample_files/if_after.py rename to sample_files/if_2.py diff --git a/sample_files/insert_blank_before.txt b/sample_files/insert_blank_1.txt similarity index 100% rename from sample_files/insert_blank_before.txt rename to sample_files/insert_blank_1.txt diff --git a/sample_files/insert_blank_after.txt b/sample_files/insert_blank_2.txt similarity index 100% rename from sample_files/insert_blank_after.txt rename to sample_files/insert_blank_2.txt diff --git a/sample_files/janet_before.janet b/sample_files/janet_1.janet similarity index 100% rename from sample_files/janet_before.janet rename to sample_files/janet_1.janet diff --git a/sample_files/janet_after.janet b/sample_files/janet_2.janet similarity index 100% rename from sample_files/janet_after.janet rename to sample_files/janet_2.janet diff --git a/sample_files/java_before.java b/sample_files/java_1.java similarity index 100% rename from sample_files/java_before.java rename to sample_files/java_1.java diff --git a/sample_files/java_after.java b/sample_files/java_2.java similarity index 100% rename from sample_files/java_after.java rename to sample_files/java_2.java diff --git a/sample_files/javascript_before.js b/sample_files/javascript_1.js similarity index 100% rename from sample_files/javascript_before.js rename to sample_files/javascript_1.js diff --git a/sample_files/javascript_after.js b/sample_files/javascript_2.js similarity index 100% rename from sample_files/javascript_after.js rename to sample_files/javascript_2.js diff --git a/sample_files/javascript_simple_before.js b/sample_files/javascript_simple_1.js similarity index 100% rename from sample_files/javascript_simple_before.js rename to sample_files/javascript_simple_1.js diff --git a/sample_files/javascript_simple_after.js b/sample_files/javascript_simple_2.js similarity index 100% rename from sample_files/javascript_simple_after.js rename to sample_files/javascript_simple_2.js diff --git a/sample_files/json_before.json b/sample_files/json_1.json similarity index 100% rename from sample_files/json_before.json rename to sample_files/json_1.json diff --git a/sample_files/json_after.json b/sample_files/json_2.json similarity index 100% rename from sample_files/json_after.json rename to sample_files/json_2.json diff --git a/sample_files/jsx_before.jsx b/sample_files/jsx_1.jsx similarity index 100% rename from sample_files/jsx_before.jsx rename to sample_files/jsx_1.jsx diff --git a/sample_files/jsx_after.jsx b/sample_files/jsx_2.jsx similarity index 100% rename from sample_files/jsx_after.jsx rename to sample_files/jsx_2.jsx diff --git a/sample_files/julia_before.jl b/sample_files/julia_1.jl similarity index 100% rename from sample_files/julia_before.jl rename to sample_files/julia_1.jl diff --git a/sample_files/julia_after.jl b/sample_files/julia_2.jl similarity index 100% rename from sample_files/julia_after.jl rename to sample_files/julia_2.jl diff --git a/sample_files/load_before.js b/sample_files/load_1.js similarity index 100% rename from sample_files/load_before.js rename to sample_files/load_1.js diff --git a/sample_files/load_after.js b/sample_files/load_2.js similarity index 100% rename from sample_files/load_after.js rename to sample_files/load_2.js diff --git a/sample_files/long_line_before.txt b/sample_files/long_line_1.txt similarity index 100% rename from sample_files/long_line_before.txt rename to sample_files/long_line_1.txt diff --git a/sample_files/long_line_after.txt b/sample_files/long_line_2.txt similarity index 100% rename from sample_files/long_line_after.txt rename to sample_files/long_line_2.txt diff --git a/sample_files/lua_before.lua b/sample_files/lua_1.lua similarity index 100% rename from sample_files/lua_before.lua rename to sample_files/lua_1.lua diff --git a/sample_files/lua_after.lua b/sample_files/lua_2.lua similarity index 100% rename from sample_files/lua_after.lua rename to sample_files/lua_2.lua diff --git a/sample_files/makefile_before.mk b/sample_files/makefile_1.mk similarity index 100% rename from sample_files/makefile_before.mk rename to sample_files/makefile_1.mk diff --git a/sample_files/makefile_after.mk b/sample_files/makefile_2.mk similarity index 100% rename from sample_files/makefile_after.mk rename to sample_files/makefile_2.mk diff --git a/sample_files/many_newlines_before.txt b/sample_files/many_newlines_1.txt similarity index 100% rename from sample_files/many_newlines_before.txt rename to sample_files/many_newlines_1.txt diff --git a/sample_files/many_newlines_after.txt b/sample_files/many_newlines_2.txt similarity index 100% rename from sample_files/many_newlines_after.txt rename to sample_files/many_newlines_2.txt diff --git a/sample_files/metadata_before.clj b/sample_files/metadata_1.clj similarity index 100% rename from sample_files/metadata_before.clj rename to sample_files/metadata_1.clj diff --git a/sample_files/metadata_after.clj b/sample_files/metadata_2.clj similarity index 100% rename from sample_files/metadata_after.clj rename to sample_files/metadata_2.clj diff --git a/sample_files/modules_before.ml b/sample_files/modules_1.ml similarity index 100% rename from sample_files/modules_before.ml rename to sample_files/modules_1.ml diff --git a/sample_files/modules_after.ml b/sample_files/modules_2.ml similarity index 100% rename from sample_files/modules_after.ml rename to sample_files/modules_2.ml diff --git a/sample_files/multibyte_before.py b/sample_files/multibyte_1.py similarity index 100% rename from sample_files/multibyte_before.py rename to sample_files/multibyte_1.py diff --git a/sample_files/multibyte_after.py b/sample_files/multibyte_2.py similarity index 100% rename from sample_files/multibyte_after.py rename to sample_files/multibyte_2.py diff --git a/sample_files/multiline_string_before.ml b/sample_files/multiline_string_1.ml similarity index 100% rename from sample_files/multiline_string_before.ml rename to sample_files/multiline_string_1.ml diff --git a/sample_files/multiline_string_after.ml b/sample_files/multiline_string_2.ml similarity index 100% rename from sample_files/multiline_string_after.ml rename to sample_files/multiline_string_2.ml diff --git a/sample_files/nest_before.rs b/sample_files/nest_1.rs similarity index 100% rename from sample_files/nest_before.rs rename to sample_files/nest_1.rs diff --git a/sample_files/nest_after.rs b/sample_files/nest_2.rs similarity index 100% rename from sample_files/nest_after.rs rename to sample_files/nest_2.rs diff --git a/sample_files/nested_slider_before.el b/sample_files/nested_slider_1.el similarity index 100% rename from sample_files/nested_slider_before.el rename to sample_files/nested_slider_1.el diff --git a/sample_files/nested_slider_before.rs b/sample_files/nested_slider_1.rs similarity index 100% rename from sample_files/nested_slider_before.rs rename to sample_files/nested_slider_1.rs diff --git a/sample_files/nested_slider_after.el b/sample_files/nested_slider_2.el similarity index 100% rename from sample_files/nested_slider_after.el rename to sample_files/nested_slider_2.el diff --git a/sample_files/nested_slider_after.rs b/sample_files/nested_slider_2.rs similarity index 100% rename from sample_files/nested_slider_after.rs rename to sample_files/nested_slider_2.rs diff --git a/sample_files/nesting_before.el b/sample_files/nesting_1.el similarity index 100% rename from sample_files/nesting_before.el rename to sample_files/nesting_1.el diff --git a/sample_files/nesting_after.el b/sample_files/nesting_2.el similarity index 100% rename from sample_files/nesting_after.el rename to sample_files/nesting_2.el diff --git a/sample_files/newick_before.nwk b/sample_files/newick_1.nwk similarity index 100% rename from sample_files/newick_before.nwk rename to sample_files/newick_1.nwk diff --git a/sample_files/newick_after.nwk b/sample_files/newick_2.nwk similarity index 100% rename from sample_files/newick_after.nwk rename to sample_files/newick_2.nwk diff --git a/sample_files/nix_before.nix b/sample_files/nix_1.nix similarity index 100% rename from sample_files/nix_before.nix rename to sample_files/nix_1.nix diff --git a/sample_files/nix_after.nix b/sample_files/nix_2.nix similarity index 100% rename from sample_files/nix_after.nix rename to sample_files/nix_2.nix diff --git a/sample_files/nullable_before.kt b/sample_files/nullable_1.kt similarity index 100% rename from sample_files/nullable_before.kt rename to sample_files/nullable_1.kt diff --git a/sample_files/nullable_after.kt b/sample_files/nullable_2.kt similarity index 100% rename from sample_files/nullable_after.kt rename to sample_files/nullable_2.kt diff --git a/sample_files/objc_header_before.h b/sample_files/objc_header_1.h similarity index 100% rename from sample_files/objc_header_before.h rename to sample_files/objc_header_1.h diff --git a/sample_files/objc_header_after.h b/sample_files/objc_header_2.h similarity index 100% rename from sample_files/objc_header_after.h rename to sample_files/objc_header_2.h diff --git a/sample_files/objc_module_before.m b/sample_files/objc_module_1.m similarity index 100% rename from sample_files/objc_module_before.m rename to sample_files/objc_module_1.m diff --git a/sample_files/objc_module_after.m b/sample_files/objc_module_2.m similarity index 100% rename from sample_files/objc_module_after.m rename to sample_files/objc_module_2.m diff --git a/sample_files/ocaml_before.ml b/sample_files/ocaml_1.ml similarity index 100% rename from sample_files/ocaml_before.ml rename to sample_files/ocaml_1.ml diff --git a/sample_files/ocaml_after.ml b/sample_files/ocaml_2.ml similarity index 100% rename from sample_files/ocaml_after.ml rename to sample_files/ocaml_2.ml diff --git a/sample_files/outer_delimiter_before.el b/sample_files/outer_delimiter_1.el similarity index 100% rename from sample_files/outer_delimiter_before.el rename to sample_files/outer_delimiter_1.el diff --git a/sample_files/outer_delimiter_after.el b/sample_files/outer_delimiter_2.el similarity index 100% rename from sample_files/outer_delimiter_after.el rename to sample_files/outer_delimiter_2.el diff --git a/sample_files/pascal_before.pascal b/sample_files/pascal_1.pascal similarity index 100% rename from sample_files/pascal_before.pascal rename to sample_files/pascal_1.pascal diff --git a/sample_files/pascal_after.pascal b/sample_files/pascal_2.pascal similarity index 100% rename from sample_files/pascal_after.pascal rename to sample_files/pascal_2.pascal diff --git a/sample_files/perl_before.pl b/sample_files/perl_1.pl similarity index 100% rename from sample_files/perl_before.pl rename to sample_files/perl_1.pl diff --git a/sample_files/perl_after.pl b/sample_files/perl_2.pl similarity index 100% rename from sample_files/perl_after.pl rename to sample_files/perl_2.pl diff --git a/sample_files/prefer_outer_before.el b/sample_files/prefer_outer_1.el similarity index 100% rename from sample_files/prefer_outer_before.el rename to sample_files/prefer_outer_1.el diff --git a/sample_files/prefer_outer_after.el b/sample_files/prefer_outer_2.el similarity index 100% rename from sample_files/prefer_outer_after.el rename to sample_files/prefer_outer_2.el diff --git a/sample_files/preprocesor_before.h b/sample_files/preprocesor_1.h similarity index 100% rename from sample_files/preprocesor_before.h rename to sample_files/preprocesor_1.h diff --git a/sample_files/preprocesor_after.h b/sample_files/preprocesor_2.h similarity index 100% rename from sample_files/preprocesor_after.h rename to sample_files/preprocesor_2.h diff --git a/sample_files/qml_before.qml b/sample_files/qml_1.qml similarity index 100% rename from sample_files/qml_before.qml rename to sample_files/qml_1.qml diff --git a/sample_files/qml_after.qml b/sample_files/qml_2.qml similarity index 100% rename from sample_files/qml_after.qml rename to sample_files/qml_2.qml diff --git a/sample_files/r_before.R b/sample_files/r_1.R similarity index 100% rename from sample_files/r_before.R rename to sample_files/r_1.R diff --git a/sample_files/r_after.R b/sample_files/r_2.R similarity index 100% rename from sample_files/r_after.R rename to sample_files/r_2.R diff --git a/sample_files/racket_before.rkt b/sample_files/racket_1.rkt similarity index 100% rename from sample_files/racket_before.rkt rename to sample_files/racket_1.rkt diff --git a/sample_files/racket_after.rkt b/sample_files/racket_2.rkt similarity index 100% rename from sample_files/racket_after.rkt rename to sample_files/racket_2.rkt diff --git a/sample_files/ruby_before.rb b/sample_files/ruby_1.rb similarity index 100% rename from sample_files/ruby_before.rb rename to sample_files/ruby_1.rb diff --git a/sample_files/ruby_after.rb b/sample_files/ruby_2.rb similarity index 100% rename from sample_files/ruby_after.rb rename to sample_files/ruby_2.rb diff --git a/sample_files/scala_before.scala b/sample_files/scala_1.scala similarity index 100% rename from sample_files/scala_before.scala rename to sample_files/scala_1.scala diff --git a/sample_files/scala_after.scala b/sample_files/scala_2.scala similarity index 100% rename from sample_files/scala_after.scala rename to sample_files/scala_2.scala diff --git a/sample_files/scheme_before.scm b/sample_files/scheme_1.scm similarity index 100% rename from sample_files/scheme_before.scm rename to sample_files/scheme_1.scm diff --git a/sample_files/scheme_after.scm b/sample_files/scheme_2.scm similarity index 100% rename from sample_files/scheme_after.scm rename to sample_files/scheme_2.scm diff --git a/sample_files/simple_before.js b/sample_files/simple_1.js similarity index 100% rename from sample_files/simple_before.js rename to sample_files/simple_1.js diff --git a/sample_files/simple_before.scss b/sample_files/simple_1.scss similarity index 100% rename from sample_files/simple_before.scss rename to sample_files/simple_1.scss diff --git a/sample_files/simple_before.txt b/sample_files/simple_1.txt similarity index 100% rename from sample_files/simple_before.txt rename to sample_files/simple_1.txt diff --git a/sample_files/simple_after.js b/sample_files/simple_2.js similarity index 100% rename from sample_files/simple_after.js rename to sample_files/simple_2.js diff --git a/sample_files/simple_after.scss b/sample_files/simple_2.scss similarity index 100% rename from sample_files/simple_after.scss rename to sample_files/simple_2.scss diff --git a/sample_files/simple_after.txt b/sample_files/simple_2.txt similarity index 100% rename from sample_files/simple_after.txt rename to sample_files/simple_2.txt diff --git a/sample_files/slider_before.rs b/sample_files/slider_1.rs similarity index 100% rename from sample_files/slider_before.rs rename to sample_files/slider_1.rs diff --git a/sample_files/slider_after.rs b/sample_files/slider_2.rs similarity index 100% rename from sample_files/slider_after.rs rename to sample_files/slider_2.rs diff --git a/sample_files/slider_at_end_before.json b/sample_files/slider_at_end_1.json similarity index 100% rename from sample_files/slider_at_end_before.json rename to sample_files/slider_at_end_1.json diff --git a/sample_files/slider_at_end_after.json b/sample_files/slider_at_end_2.json similarity index 100% rename from sample_files/slider_at_end_after.json rename to sample_files/slider_at_end_2.json diff --git a/sample_files/slow_before.rs b/sample_files/slow_1.rs similarity index 100% rename from sample_files/slow_before.rs rename to sample_files/slow_1.rs diff --git a/sample_files/slow_after.rs b/sample_files/slow_2.rs similarity index 100% rename from sample_files/slow_after.rs rename to sample_files/slow_2.rs diff --git a/sample_files/small_before.js b/sample_files/small_1.js similarity index 100% rename from sample_files/small_before.js rename to sample_files/small_1.js diff --git a/sample_files/small_after.js b/sample_files/small_2.js similarity index 100% rename from sample_files/small_after.js rename to sample_files/small_2.js diff --git a/sample_files/string_subwords_before.el b/sample_files/string_subwords_1.el similarity index 100% rename from sample_files/string_subwords_before.el rename to sample_files/string_subwords_1.el diff --git a/sample_files/string_subwords_after.el b/sample_files/string_subwords_2.el similarity index 100% rename from sample_files/string_subwords_after.el rename to sample_files/string_subwords_2.el diff --git a/sample_files/strings_before.el b/sample_files/strings_1.el similarity index 100% rename from sample_files/strings_before.el rename to sample_files/strings_1.el diff --git a/sample_files/strings_after.el b/sample_files/strings_2.el similarity index 100% rename from sample_files/strings_after.el rename to sample_files/strings_2.el diff --git a/sample_files/swift_before.swift b/sample_files/swift_1.swift similarity index 100% rename from sample_files/swift_before.swift rename to sample_files/swift_1.swift diff --git a/sample_files/swift_after.swift b/sample_files/swift_2.swift similarity index 100% rename from sample_files/swift_after.swift rename to sample_files/swift_2.swift diff --git a/sample_files/syntax_error_before.js b/sample_files/syntax_error_1.js similarity index 100% rename from sample_files/syntax_error_before.js rename to sample_files/syntax_error_1.js diff --git a/sample_files/syntax_error_after.js b/sample_files/syntax_error_2.js similarity index 100% rename from sample_files/syntax_error_after.js rename to sample_files/syntax_error_2.js diff --git a/sample_files/tab_before.c b/sample_files/tab_1.c similarity index 100% rename from sample_files/tab_before.c rename to sample_files/tab_1.c diff --git a/sample_files/tab_before.txt b/sample_files/tab_1.txt similarity index 100% rename from sample_files/tab_before.txt rename to sample_files/tab_1.txt diff --git a/sample_files/tab_after.c b/sample_files/tab_2.c similarity index 100% rename from sample_files/tab_after.c rename to sample_files/tab_2.c diff --git a/sample_files/tab_after.txt b/sample_files/tab_2.txt similarity index 100% rename from sample_files/tab_after.txt rename to sample_files/tab_2.txt diff --git a/sample_files/tailwind_before.css b/sample_files/tailwind_1.css similarity index 100% rename from sample_files/tailwind_before.css rename to sample_files/tailwind_1.css diff --git a/sample_files/tailwind_after.css b/sample_files/tailwind_2.css similarity index 100% rename from sample_files/tailwind_after.css rename to sample_files/tailwind_2.css diff --git a/sample_files/text_before.txt b/sample_files/text_1.txt similarity index 100% rename from sample_files/text_before.txt rename to sample_files/text_1.txt diff --git a/sample_files/text_after.txt b/sample_files/text_2.txt similarity index 100% rename from sample_files/text_after.txt rename to sample_files/text_2.txt diff --git a/sample_files/todomvc_before.gleam b/sample_files/todomvc_1.gleam similarity index 100% rename from sample_files/todomvc_before.gleam rename to sample_files/todomvc_1.gleam diff --git a/sample_files/todomvc_after.gleam b/sample_files/todomvc_2.gleam similarity index 100% rename from sample_files/todomvc_after.gleam rename to sample_files/todomvc_2.gleam diff --git a/sample_files/toml_before.toml b/sample_files/toml_1.toml similarity index 100% rename from sample_files/toml_before.toml rename to sample_files/toml_1.toml diff --git a/sample_files/toml_after.toml b/sample_files/toml_2.toml similarity index 100% rename from sample_files/toml_after.toml rename to sample_files/toml_2.toml diff --git a/sample_files/trailling_newline_before.yaml b/sample_files/trailling_newline_1.yaml similarity index 100% rename from sample_files/trailling_newline_before.yaml rename to sample_files/trailling_newline_1.yaml diff --git a/sample_files/trailling_newline_after.yaml b/sample_files/trailling_newline_2.yaml similarity index 100% rename from sample_files/trailling_newline_after.yaml rename to sample_files/trailling_newline_2.yaml diff --git a/sample_files/typescript_before.ts b/sample_files/typescript_1.ts similarity index 100% rename from sample_files/typescript_before.ts rename to sample_files/typescript_1.ts diff --git a/sample_files/typescript_after.ts b/sample_files/typescript_2.ts similarity index 100% rename from sample_files/typescript_after.ts rename to sample_files/typescript_2.ts diff --git a/sample_files/typing_before.ml b/sample_files/typing_1.ml similarity index 100% rename from sample_files/typing_before.ml rename to sample_files/typing_1.ml diff --git a/sample_files/typing_after.ml b/sample_files/typing_2.ml similarity index 100% rename from sample_files/typing_after.ml rename to sample_files/typing_2.ml diff --git a/sample_files/utf16_before.py b/sample_files/utf16_1.py similarity index 100% rename from sample_files/utf16_before.py rename to sample_files/utf16_1.py diff --git a/sample_files/utf16_after.py b/sample_files/utf16_2.py similarity index 100% rename from sample_files/utf16_after.py rename to sample_files/utf16_2.py diff --git a/sample_files/vhdl_before.vhd b/sample_files/vhdl_1.vhd similarity index 100% rename from sample_files/vhdl_before.vhd rename to sample_files/vhdl_1.vhd diff --git a/sample_files/vhdl_after.vhd b/sample_files/vhdl_2.vhd similarity index 100% rename from sample_files/vhdl_after.vhd rename to sample_files/vhdl_2.vhd diff --git a/sample_files/whitespace_before.tsx b/sample_files/whitespace_1.tsx similarity index 100% rename from sample_files/whitespace_before.tsx rename to sample_files/whitespace_1.tsx diff --git a/sample_files/whitespace_after.tsx b/sample_files/whitespace_2.tsx similarity index 100% rename from sample_files/whitespace_after.tsx rename to sample_files/whitespace_2.tsx diff --git a/sample_files/xml_before.xml b/sample_files/xml_1.xml similarity index 100% rename from sample_files/xml_before.xml rename to sample_files/xml_1.xml diff --git a/sample_files/xml_after.xml b/sample_files/xml_2.xml similarity index 100% rename from sample_files/xml_after.xml rename to sample_files/xml_2.xml diff --git a/sample_files/yaml_before.yaml b/sample_files/yaml_1.yaml similarity index 100% rename from sample_files/yaml_before.yaml rename to sample_files/yaml_1.yaml diff --git a/sample_files/yaml_after.yaml b/sample_files/yaml_2.yaml similarity index 100% rename from sample_files/yaml_after.yaml rename to sample_files/yaml_2.yaml diff --git a/sample_files/zig_before.zig b/sample_files/zig_1.zig similarity index 100% rename from sample_files/zig_before.zig rename to sample_files/zig_1.zig diff --git a/sample_files/zig_after.zig b/sample_files/zig_2.zig similarity index 100% rename from sample_files/zig_after.zig rename to sample_files/zig_2.zig diff --git a/src/diff/graph.rs b/src/diff/graph.rs index 299623929..35149db1f 100644 --- a/src/diff/graph.rs +++ b/src/diff/graph.rs @@ -342,7 +342,7 @@ impl Edge { // Replacement edges have a cost between 500 and 600, // so they can be up to 100 less than two novel nodes. // If we have replacements either side of a node - // (e.g. see comma_and_comment_before.js), then that's + // (e.g. see comma_and_comment_1.js), then that's // potentially a cost difference of 200. base + if probably_punctuation { 200 } else { 0 } } diff --git a/src/options.rs b/src/options.rs index 2e2af3eac..4953da9c0 100644 --- a/src/options.rs +++ b/src/options.rs @@ -21,7 +21,7 @@ use crate::{ pub(crate) const DEFAULT_BYTE_LIMIT: usize = 1_000_000; // Chosen experimentally: this is sufficiently many for all the sample -// files (the highest is slow_before/after.rs at 1.3M nodes), but +// files (the highest is slow_1.rs/slow_2.rs at 1.3M nodes), but // small enough to terminate in ~5 seconds like the test file in #306. pub(crate) const DEFAULT_GRAPH_LIMIT: usize = 3_000_000; pub(crate) const DEFAULT_PARSE_ERROR_LIMIT: usize = 0; diff --git a/tests/cli.rs b/tests/cli.rs index 046d891f8..fa0ea1df9 100644 --- a/tests/cli.rs +++ b/tests/cli.rs @@ -44,8 +44,8 @@ fn inline() { let mut cmd = get_base_command(); cmd.arg("--display=inline") - .arg("sample_files/simple_before.js") - .arg("sample_files/simple_after.js"); + .arg("sample_files/simple_1.js") + .arg("sample_files/simple_2.js"); cmd.assert().success(); } @@ -65,8 +65,8 @@ fn binary_changed() { fn has_changes_default_exit_code() { let mut cmd = get_base_command(); - cmd.arg("sample_files/simple_before.js") - .arg("sample_files/simple_after.js"); + cmd.arg("sample_files/simple_1.js") + .arg("sample_files/simple_2.js"); cmd.assert().success(); } @@ -75,8 +75,8 @@ fn has_changes_requested_exit_code() { let mut cmd = get_base_command(); cmd.arg("--exit-code") - .arg("sample_files/simple_before.js") - .arg("sample_files/simple_after.js"); + .arg("sample_files/simple_1.js") + .arg("sample_files/simple_2.js"); cmd.assert().failure().code(1); } @@ -85,8 +85,8 @@ fn ignore_comments() { let mut cmd = get_base_command(); cmd.arg("--ignore-comments") - .arg("sample_files/comma_and_comment_before.js") - .arg("sample_files/comma_and_comment_after.js"); + .arg("sample_files/comma_and_comment_1.js") + .arg("sample_files/comma_and_comment_2.js"); let predicate_fn = predicate::str::contains("No syntactic changes"); cmd.assert().stdout(predicate_fn); @@ -97,8 +97,8 @@ fn check_only() { let mut cmd = get_base_command(); cmd.arg("--check-only") - .arg("sample_files/simple_before.js") - .arg("sample_files/simple_after.js"); + .arg("sample_files/simple_1.js") + .arg("sample_files/simple_2.js"); let predicate_fn = predicate::str::contains("Has syntactic changes"); cmd.assert().stdout(predicate_fn); @@ -109,8 +109,8 @@ fn check_only_text_file() { let mut cmd = get_base_command(); cmd.arg("--check-only") - .arg("sample_files/text_before.txt") - .arg("sample_files/text_after.txt"); + .arg("sample_files/text_1.txt") + .arg("sample_files/text_2.txt"); let predicate_fn = predicate::str::contains("Has changes"); cmd.assert().stdout(predicate_fn); @@ -120,8 +120,8 @@ fn check_only_text_file() { fn makefile_text_as_atom() { let mut cmd = get_base_command(); - cmd.arg("sample_files/cli_tests/makefile_before.mk") - .arg("sample_files/cli_tests/makefile_after.mk"); + cmd.arg("sample_files/cli_tests/makefile_1.mk") + .arg("sample_files/cli_tests/makefile_2.mk"); let predicate_fn = predicate::str::contains("CCFLAGS"); cmd.assert().stdout(predicate_fn); @@ -131,8 +131,8 @@ fn makefile_text_as_atom() { fn yaml_parse_errors() { let mut cmd = get_base_command(); - cmd.arg("sample_files/cli_tests/bad_yaml_before.yml") - .arg("sample_files/cli_tests/bad_yaml_after.yml"); + cmd.arg("sample_files/cli_tests/bad_yaml_1.yml") + .arg("sample_files/cli_tests/bad_yaml_2.yml"); let predicate_fn = predicate::str::contains("exceeded DFT_PARSE_ERROR_LIMIT"); cmd.assert().stdout(predicate_fn); @@ -177,11 +177,10 @@ fn slightly_invalid_utf8() { fn directory_arguments() { let mut cmd = get_base_command(); - cmd.arg("sample_files/dir_before") - .arg("sample_files/dir_after"); + cmd.arg("sample_files/dir_1").arg("sample_files/dir_2"); - let predicate_fn = predicate::str::contains("only_in_before.c") - .and(predicate::str::contains("only_in_after_dir.rs")); + let predicate_fn = + predicate::str::contains("only_in_1.c").and(predicate::str::contains("only_in_2.rs")); cmd.assert().stdout(predicate_fn); } @@ -190,10 +189,10 @@ fn git_style_arguments_rename() { let mut cmd = get_base_command(); cmd.arg("elisp_oldname.el") - .arg("sample_files/elisp_before.el") + .arg("sample_files/elisp_1.el") .arg("lhs_hash_placeholder") .arg("lhs_mode_placeholder") - .arg("sample_files/elisp_after.el") + .arg("sample_files/elisp_2.el") .arg("rhs_hash_placeholder") .arg("rhs_mode_placeholder") .arg("elisp_newname.el") @@ -210,7 +209,7 @@ fn git_style_arguments_new_file() { .arg("/dev/null") .arg(".") .arg(".") - .arg("sample_files/simple_before.txt") + .arg("sample_files/simple_1.txt") .arg("abcdef1234") .arg("100644"); let predicate_fn = predicate::str::contains("File permissions changed").not(); @@ -221,9 +220,9 @@ fn git_style_arguments_new_file() { fn drop_different_path_starts() { let mut cmd = get_base_command(); - cmd.arg("sample_files/dir_before/clojure.clj") - .arg("sample_files/dir_after/clojure.clj"); - let predicate_fn = predicate::str::contains("dir_after/clojure.clj").not(); + cmd.arg("sample_files/dir_1/clojure.clj") + .arg("sample_files/dir_2/clojure.clj"); + let predicate_fn = predicate::str::contains("dir_2/clojure.clj").not(); cmd.assert().stdout(predicate_fn); } @@ -232,8 +231,8 @@ fn dump_tree_sitter() { let mut cmd = get_base_command(); cmd.arg("--dump-ts") - .arg("sample_files/simple_before.js") - .arg("sample_files/simple_after.js"); + .arg("sample_files/simple_1.js") + .arg("sample_files/simple_2.js"); cmd.assert().success(); } @@ -242,8 +241,8 @@ fn dump_syntax() { let mut cmd = get_base_command(); cmd.arg("--dump-syntax") - .arg("sample_files/simple_before.js") - .arg("sample_files/simple_after.js"); + .arg("sample_files/simple_1.js") + .arg("sample_files/simple_2.js"); cmd.assert().success(); } @@ -251,7 +250,7 @@ fn dump_syntax() { fn walk_hidden_items() { let mut cmd = get_base_command(); - cmd.args(["sample_files/hidden-before", "sample_files/hidden-after"]); + cmd.args(["sample_files/hidden_1", "sample_files/hidden_2"]); let predicate_fn = predicate::str::contains(format!(".hidden{}doc.txt", std::path::MAIN_SEPARATOR)) diff --git a/translation/zh-CN/manual-zh-CN/src/adding_a_parser.md b/translation/zh-CN/manual-zh-CN/src/adding_a_parser.md index 6e55877a6..941d8e756 100644 --- a/translation/zh-CN/manual-zh-CN/src/adding_a_parser.md +++ b/translation/zh-CN/manual-zh-CN/src/adding_a_parser.md @@ -96,11 +96,11 @@ $ ln -s ../tree-sitter-json/queries/highlights.scm json.scm 最后,为你的语言添加一个回归测试,这样可以确保你的测试文件的输出不会意外改变。 回归测试文件存在于`sample_files/`中,其形式为 -`foo_before.abc`和`foo_after.abc`。 +`foo_1.abc`和`foo_2.abc`。 ``` -$ nano simple_before.json -$ nano simple_after.json +$ nano simple_1.json +$ nano simple_2.json ``` 运行回归测试脚本并更新`.expect`文件。 diff --git a/translation/zh-CN/manual-zh-CN/src/contributing.md b/translation/zh-CN/manual-zh-CN/src/contributing.md index cbdcfc599..67c6d2f5e 100644 --- a/translation/zh-CN/manual-zh-CN/src/contributing.md +++ b/translation/zh-CN/manual-zh-CN/src/contributing.md @@ -72,20 +72,20 @@ $ DFT_LOG=debug cargo run sample_files/old.jsx sample_files/new.jsx 如果你有一个特别慢的文件,你可以使用 [cargo-flamegraph](https://github.com/flamegraph-rs/flamegraph) 来查看是哪些函数慢的。 ``` -$ CARGO_PROFILE_RELEASE_DEBUG=true cargo flamegraph --bin difft sample_files/slow_before.rs sample_files/slow_after.rs +$ CARGO_PROFILE_RELEASE_DEBUG=true cargo flamegraph --bin difft sample_files/slow_1.rs sample_files/slow_2.rs ``` 内存的使用情况也是值得关注,因为图的遍历错误会导致巨大的内存消耗。 ``` -$ /usr/bin/time -v ./target/release/difft sample_files/slow_before.rs sample_files/slow_after.rs +$ /usr/bin/time -v ./target/release/difft sample_files/slow_1.rs sample_files/slow_2.rs ``` 如果定时测量有噪音,Linux的`perf`工具将报告 执行的指令,这也是更加稳定的。 ``` -$ perf stat ./target/release/difft sample_files/slow_before.rs sample_files/slow_after.rs -$ perf stat ./target/release/difft sample_files/typing_old.ml sample_files/typing_new.ml +$ perf stat ./target/release/difft sample_files/slow_1.rs sample_files/slow_2.rs +$ perf stat ./target/release/difft sample_files/typing_1.ml sample_files/typing_2.ml ``` 还有很多剖析技术在[The Rust性能手册](https://nnethercote.github.io/perf-book/)中讨论了。 diff --git a/translation/zh-CN/manual-zh-CN/src/parsing.md b/translation/zh-CN/manual-zh-CN/src/parsing.md index 4d9195c98..7d64095ec 100644 --- a/translation/zh-CN/manual-zh-CN/src/parsing.md +++ b/translation/zh-CN/manual-zh-CN/src/parsing.md @@ -7,7 +7,7 @@ Difftastic会使用[tree-sitter](https://tree-sitter.github.io/tree-sitter/) 来 Difftastic依靠tree-sitter来理解语法。你可以使用`--dump-ts`来查看tree-sitter的语法树。 ``` -$ difft --dump-ts sample_files/javascript_simple_before.js | head +$ difft --dump-ts sample_files/javascript_simple_1.js | head program (0, 0) - (7, 0) comment (0, 0) - (0, 8) "// hello" expression_statement (1, 0) - (1, 6) diff --git a/translation/zh-CN/manual-zh-CN/src/tricky_cases.md b/translation/zh-CN/manual-zh-CN/src/tricky_cases.md index 095c843df..19bd6aae6 100644 --- a/translation/zh-CN/manual-zh-CN/src/tricky_cases.md +++ b/translation/zh-CN/manual-zh-CN/src/tricky_cases.md @@ -375,7 +375,7 @@ B **Difftastic**:如果发生任何解析错误,Difftastic 将退回到基于文本的差异,以避免差异不完整的语法树。发生这种情况时,文件头会报告错误计数。 ``` -$ difft sample_files/syntax_error_before.js sample_files/syntax_error_after.js +$ difft sample_files/syntax_error_1.js sample_files/syntax_error_2.js sample_files/syntax_error_after.js --- Text (2 errors, exceeded DFT_PARSE_ERROR_LIMIT) ... ``` diff --git a/translation/zh-CN/manual-zh-CN/src/usage.md b/translation/zh-CN/manual-zh-CN/src/usage.md index 00c2635b9..f6d9c0295 100644 --- a/translation/zh-CN/manual-zh-CN/src/usage.md +++ b/translation/zh-CN/manual-zh-CN/src/usage.md @@ -11,7 +11,7 @@ $ difft sample_files/before.js sample_files/after.js ### 比较文件夹 ``` -$ difft sample_files/dir_before/ sample_files/dir_after/ +$ difft sample_files/dir_1/ sample_files/dir_2/ ``` Difftastic 会递归地浏览这两个文件夹,对同名的文件进行差异分析。