-
-
Notifications
You must be signed in to change notification settings - Fork 517
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rewrite substitution parser #2861
Rewrite substitution parser #2861
Commits on Jan 15, 2023
-
Double backslash should escape to backslash
The resulting escaped value should not then be subsequently used as an escape in future replacement rounds. Additional friends, like triple backslash, which should escape the following, and quad backslash, which should escape to two single backslashes and not escape the following characters. The Quad backslash test case also has escaped double backslash at the beginning and end of the string for more edge coverage.
Configuration menu - View commit details
-
Copy full SHA for 400f4c4 - Browse repository at this point
Copy the full SHA 400f4c4View commit details -
test_replace_os_sep_before_curly
explicit test case for issue tox-dev#2732 which affects {/} os.sep replacement on windows platform. test_replace_os_sep_subexp_regression WiP
Configuration menu - View commit details
-
Copy full SHA for 44996c0 - Browse repository at this point
Copy the full SHA 44996c0View commit details -
test_replace_env_when_value_is_backslash: replacement yields \
When the replacement value is a backslash, it shouldn't escape the next part of the value. However, if the replacement contains a backslash, then it could affect the next value.
Configuration menu - View commit details
-
Copy full SHA for 9325d66 - Browse repository at this point
Copy the full SHA 9325d66View commit details -
test_replace_env_var_circular_flip_flop
go back and forth between mututally circular env vars
Configuration menu - View commit details
-
Copy full SHA for 87986ed - Browse repository at this point
Copy the full SHA 87986edView commit details -
Configuration menu - View commit details
-
Copy full SHA for 20a6e6c - Browse repository at this point
Copy the full SHA 20a6e6cView commit details -
test_replace_env_var_chase: indirect refs
When the env var name is itself given by another env var
Configuration menu - View commit details
-
Copy full SHA for 6b66f77 - Browse repository at this point
Copy the full SHA 6b66f77View commit details -
iterative and recursive parsing of replacement expression
walk through the expression character by character, recursively descending on left curly brace and breaking arguments along the way should allow for arbitrarily complex nested expressions that do NOT affect adjacent expressions. enabling recursive replacement could be allowed on a per-expression basis, but that is not currently done
Configuration menu - View commit details
-
Copy full SHA for 32dcacb - Browse repository at this point
Copy the full SHA 32dcacbView commit details -
test_replace: fixup expectations and additional high level cases
test_replace: {toxinidir,} shouldn't be replaced with the trailing comma test_replace: add test case for escaped colon arg sep test_replace: additional cases for test_match Single capital letter variable Single backslash Backslash escape non-special character Windows path shouldn't be mangled
Configuration menu - View commit details
-
Copy full SHA for 36e7380 - Browse repository at this point
Copy the full SHA 36e7380View commit details -
docs/config.rst: add substitutions sections
describe ini-style curly brace substitutions
Configuration menu - View commit details
-
Copy full SHA for 9329377 - Browse repository at this point
Copy the full SHA 9329377View commit details -
cr: changelog - fix issue number and mark as feature
this is a change in behavior, not merely a bugfix changelog: mention API names added and removed from the replace module to help people who might be searching for these names from error messages, etc
Configuration menu - View commit details
-
Copy full SHA for 64b961e - Browse repository at this point
Copy the full SHA 64b961eView commit details -
replace: MatchExpression clean up position tracking
a first step at tracking enough position information to recreate the find_replace_part API; this one also improves the typing and readability of the class, so that the functions don't have to pass the term_pos in a tuple return value.
Configuration menu - View commit details
-
Copy full SHA for 3f66e3a - Browse repository at this point
Copy the full SHA 3f66e3aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2231986 - Browse repository at this point
Copy the full SHA 2231986View commit details